Last week I participated in a game jam. The game jam was organized by GamesPlusJames who is a game developer with great tutorials on his youtube channel and great Udemy courses.
His youtube channel has to this day 50 000 + subscribers! Also does he stream a lot of game development related content on his twitch channel which is fun to watch and talk with some other developers.
Feel free to check out his channels:
I haven’t participated in any game jams in the past two years. My latest participation was for Ludum Dare 38 about two years ago. I got motivated by participating a game jam because of a youtube video I watched of some one’s entry in a game jam. I immediately got this feeling of, yes! I want to participate in a game jam again. I jumped off my sofa and checked itch.io for some upcoming game jams.
I read GamesPlusJam 2 was a seven days game jam which suited me perfectly because I had to work on the game jam after work hours!
Start of the jam
The game jam started on July 19th at 8:00 pm (GMT+1). I came back home from work and waited for the jam to start. Of course I was already putting up some ideas in my head while making some dinner and then the theme reveal came up:
The theme is: SPACE
I was immediately excited because space is such a big word. I could make anything, from space themed game with classical space ships and asteroids to an office-space you have to clean up. As long as the word space was used!
My first idea I came up with was: Space-out.
My personal rule of game jams is to stick to your first idea because it will safe you a lot of time and can be a lot of fun!
Space-out is an idea where you walk around in your own room and you start the game by spacing out. Spacing out could be done with different triggers, you could hit your tiny toe on the edge of the table, you could go to bed, you could eat some rotten food in the kitchen, you could take some drug laying on the sofa and so on.
When you spaced out I wanted to make a dodging game where you have to dodge all other kind of people spaced out in your world. Your world has become a weird world with everyone becoming a danger for each other only because they’ve hit their little toe on the edge of their table. 😀
I loved this idea, because I wanted to make some really cool shaders to really give the feel of you spacing out and running as an idiot on the streets. I wanted the shaders to be a little bit different on each way you trigger you ‘space-out’ so it matches the story. Also I wanted the user to give the opportunity to customize their character.
On friday evening I created first the character customize system. (I know this is not a feature you should normally start with, but I hoped to get to some animation/character ideas while creating this system.)
I created a new Unity3D project, created some quick assets appearing to be a character and started writing the shader.
The shader was very easy, just my quickest approach using tints of grey in my assets.
The face was full white so the grey color is 255, for the body I used grey scale of 50, body details grey scale of 75 and legs grey scale of 100.
Through a shader I set a uniform list of base colors and a uniform list of change colors. In the fragment shader I compare the current pixel with any of the base colors. If the current pixel matches with the base color, I recolor the pixel by the change color using the base color id.
This was very fun to play with and came up with some funny animations.
I didn’t had any time in the weekend.. I had some family time which meant I was not at home near my computer the whole weekend. So, after creating the character customization system I didn’t work until Monday evening.
On Monday I came home quite late. It was really hot in the Netherlands which allowed me to start a little bit later but also had to leave a little bit later (and as some people know, I always stay later so it was again a little bit later 😛 ).
I created some basic movement and some assets for the world, nothing really special.
On Tuesday, again same story as Monday I came home a little bit later because of the hot weather but also because I had to finish some deadlines.. I ended up having about 1 hour to work on a shader I had in mind.
I used my hypnotic shader as base for this shader. You can read everything about it on my first shader tutorial on my blog: Hypnotic Shader
I thought it was very fun to let the game flow a little bit so you really get this spacey/drunk feeling while playing.
At first it didn’t really go as planned.. as you can see this is unplayable but I decided to use this as transitioning into ‘space mode!’. 😀
Eventually I tweaked these settings into something more usable for the actual game.
Now it really gives you this spacey/drunk feeling. I also wanted to add some color effects, but after I created this I really had to go to sleep to being able to work on my deadlines at work.
I got desperate on Wednesday.. I felt like I couldn’t finish my game because I made it to big for the time I actually had.. at this time I was able to put about 8 hours of work into this game jam and put a lot of time in my art which I wasn’t even happy with.. I felt a little bit too perfectionist, which is the least thing you should be working on a game jam!
Although feeling to give up I told myself I should be able to create something.. I calculated I have about 5 hours left to finish so lets just do it!
I ended up that same Wednesday on searching for assets to fit my idea.
My new idea is super simple, press space to smash an upcoming enemy. Just so easy. Adding a score each time you kill the enemy and going back to main menu when enemy kills you. Easy as that!
The day of truth! Lets see if I can make it. I already found my art assets, I got my idea. Lets smash! 😀
I decided to create it in HTML5 using the current state of my build series blog posts! I could use this base to easily set up a game and menu scene fully working how I want this game to work. I wanted it to feel quick and easy but also fun! If I would’ve used Unity for this I would end up in making my prefabs perfect and I didn’t want to have a loading screen or what so ever.
I needed to add some new features to my system. I needed to create a new artifact to initialize the layered background. I implemented zIndex in all my assets (I will explain this in future blog post 🙂 ). I adjusted the animator to fire an event at the end of an animation, enabling to loop or fire the animation once and to make the animation visible or not. Using visibility of the animations I could switch between animations (more about this very shortly in my build series). And I created an Enemy walking in circles to create this feeling like it is walking towards you on the hill.
3 hours of developing I finally made it! I finished my game!
I was really happy I made it so I could still submit something in such a short time.
On Friday I tweaked a little bit the enemy movement and the hitting distance of the player to make it a little bit harder. I hoped I had enough time to increase the speed of the enemy over time but I hard coded the trigger point of when the enemy attacks and didn’t had time enough to change it.
I kept it like it was and made my submission!
See and play submission here: https://justinbieshaar.itch.io/gamesplusjam2
All the assets I used can be found here:
- https://ansimuz.itch.io/explosion-animations-pack < for explosions
- https://vnitti.itch.io/grassy-mountains-parallax-background < background
- https://hugues-laborde.itch.io/cartoon-viking-character-pack < player
- https://hugues-laborde.itch.io/cartoon-warrior-character-pack < enemy
Rules: Press space to start the game and press space to attack.
Final post mortem
I really loved participating a game jam again after such a long time. I really feel like it is a great challenge for any developer to participate in a game jam or hackaton from time to time. It really trains you to think quick and creating something small and cool in such a short period.
Also it is so much fun to chat with the community and hearing/reading all these cool idea people have. Also helping out new developers really drives me through these game jams.
For me in the end I really needed a reality check if I really could make something complex after work hours! I now know I can not and could better stick to something small I can create in 3/5 hours and iterate through it. That is my biggest lesson from this game jam. 😛
I hope you like my participation.
If you have any questions or feedback on my submission, feel free to add a comment below!
Thanks for reading!