Sweet Jams

Been quite some time since I last posted, so I wanted to write a couple lines about what I’ve been up to. First off, since it is such a rare occasion I bring another portrait in the series of member portraits from my space adventure that I’m always playing around with. This one is of Helaryn, a researcher/doctor who has had to put her biomodification research to the test in order to survive alone on a water planet after being left for dead during an evacuation. Certain attempts turned out better than others, but at least the water isn’t a problem anymore…

Since the last time I post the world has changed quite a bit, and all my studying has been online. Not ideal for sure, as previously simple things like getting some quick feedback is now a stretched out procedure, but I keep doing my best, and as long as I’m learning something along the way I can deal with the rest. For the most part I’ve not produced much that I would consider interesting to share, as I’ve been dipping my toes into many different areas trying to get a good grasp on the different aspects of developing games, without the goal of producing any finished product. Things like adding C++ and Java to the list of languages I’ve now worked in, getting more comfortable with Unity, and trying out Unreal, as well as learning different tools for 3D sculpting, modelling, rigging, animating, etc. One thing I attempted was to create a toon shader, which proved to be quite a bit more involved than I expected. As it turns out, there’s a lot more to consider than just clamping shadow values to get that cel shaded look. Here’s an example of my very first 3D model using the shader, alongside a more… professional and recognizable model made by someone far more experienced making use of the shader as well, for comparison (a good reminder that at least half of how well a shader works is in how good the model is).

While I don’t have too much to show; as the title suggests, I can share my first experience being part of a game jam! The global game jam this year was all digital, but despite that I had a great time with a few of my class mates and a new friend made during the game jam who provided us with some lovely tunes for our project. This year’s theme was “Lost & Found” and we somehow landed on an idea where you are a garbage collector in space whose cargo has been randomly scattered and needs to be gathered back up. I was going into the jam, fully expecting us to do our best, but not have a playable game at the end, and that would have been totally fine, as we’re all still fairly new, and were just there to have fun and see what we could come up with! I’m quite proud to say we did indeed create a game that actually plays, and even has 3D models, and animations (very simplistic ones, but considering we had 48 hours including sleep for creating the entire game, I’m just happy they worked!)

I modelled the character, and created the animations for it real quick at the start so we had something to work with, and then I mainly worked on the controls, the game manager, some of the UI, and piecing together the different scenes. I had a blast, and am looking forward to next year’s global game jam (and any other jams that might happen). You can find our game Kessler Syndrome over at https://globalgamejam.org/2021/games/kessler-syndrome-2

Platforms and Towers

Having kept busy with my studies, I managed to neglect posting updates about the different things I have worked on since last time. Our assignment to create a platformer with MonoGame went fairly well. Not having the time to create quality assets, yet being the type of person who is highly motivated by having them to work with, I decided to adapt some familiar sprites and tiles, courtesy of the internet. The final product consisted of a main menu, a level select screen, a couple levels that I premade, and a level editor for creating additional levels.

The level editor was the biggest challenge, as I wanted to have functionality for resizing and placing objects based on predetermined limits for the individual objects and user input. I managed this by creating a class that I named Constellation, which kept track of its own size, and used arrays in order to place tiles in the formation desired. The tiles were another class that mainly contained a texture, and information of where the tile belonged in relation to other tiles in its pool of other tiles used for the same type of object; So a tile could be an upper left corner tile, or a center tile, or an upper center tile etc. Using this, the Constellations could determine which tile should fill a certain slot in the array, and place them in the world in the correct location.

Stage One viewed in the level editor.

All in all, I was quite satisfied with what I was able to accomplish in the fairly short time we had, and felt I was ready to try out working in Unity for our final project of the semester, where we were to create a Tower Defense game.
There’s not all that much to say about the Tower Defense project, as a majority of the time was spent on simply learning the basics of Unity, which turned out to be far more of a hassle than I had anticipated. There were quite a few unfortunate crashes where a lot of progress was lost, as I realised I had come to rely on all modern applications to have a restore function of some sort, in case of a crash. Something that I learned the hard way is not included in Unity. After looking around, I managed to find a useful script that some kind soul had shared, which allowed for Unity to auto save each time you pressed play to test your scene. Once I had that in place, I was able to learn what I needed to know thanks to Unity’s free examples from their asset store, as well as some google-fu and some great tutorials on YouTube, from channels like Brackeys.
By borrowing some 3d models from Unity’s examples, and creating some icons, effects, and terrain, I was able to create a game that felt cohesive enough for a first delve into Unity. Balance and polish had to fall a bit by the wayside, but I feel like I’m better equipped now for future projects, be it Unity based ones or otherwise.
I’ll leave you with a link where you can test out the game, and hopefully I’ll be better at posting updates as new games are made~

Game Development

I started studying game development at Malmö University this year, and have been keeping busy! So far we’ve done things like develop a board game as a group, side by side with a course that has us recreate classic video games to get familiar with C# as a coding language, and to get into a good mindset when it comes to structure.

We started out by making a textbased version of Hangman, and then we moved on to 2D games with Asteroids, a Whack-a-Mole game, and the arcade version of Donkey Kong. As I’m writing this, I’m finishing up the current project of recreating Pac Man, including a level editor, and somehow it all seems to work as intended!