Despite our team not being that inspired by the theme, we managed to make a little thing.
We hope you enjoy it 😀
Despite our team not being that inspired by the theme, we managed to make a little thing.
We hope you enjoy it 😀
Finished this year with about an hour to spare, which ended up being five minutes after getting the files ready and typing up the game page 😀
Had tons of fun making this years entry, but now I think it is time for sleep.
My post mortem for Ludum Dare is a little late. I got really sick in mid-December (right after LD was over) and was in bed for three weeks. I’m happy that I was able to finally finish this post mortem tonight.
This article was originally posted on my website at http://levidsmith.com/free-the-frog/.
Ludum Dare 37 was the twelfth time that I competed in the 48 hour game development competition. I wanted to create something with gameplay similar to the classic arcade game Frogger.
The trick with this game was getting the movement controls right. I wanted to make it so that you could press the gamepad in a direction, and the frog would immediately move to the next “square”. Therefore, the movements were discrete, so I could not use my typical methods for doing continuous movement. The area where the player can move can be thought of as a big chess board. When a direction is pressed, the frog’s location (a row and column stored as integers) is updated. Then, the frog is pulled to that new location. I had to add a boolean variable to track if the frog is moving, so that no new input is accepted until he reaches his destination. This type of movement is great for a game like this, because the player can clearly see if they will avoid an obstacle, which eliminates any case for bad collision detection.
I wanted to have a lot of mechanics in this game, which have been lacking in my previous game jam games. I wanted each level to introduce something new. I got this idea from watching Super Mario Bros 3 videos a few days earlier, where each level had some new mechanic or concept added.
For the graphics, I used Blender as usual to model, texture map, and animate the frog. However, when the frog dies, I used the cell fracture plugin for Blender to make an animation of the frog falling apart into pieces. This effect is probably more suitable for non-organic objects, but I liked the effect so much that I had to include it in this game.
As for the music, I used GarageBand on my Mac Book Pro again for composing the music. I didn’t do anything really out of the ordinary. I used the drummer track to lay down a unique beat. I made a couple of melodies, which I alternated and swapped instruments. Sometimes I would slightly modify and mix the melodies to keep the music interesting. The music for the game level is one minute and twenty eight seconds, which I think is the right length for it not to be too repetitive. I did a few quick searches for classic game level songs, and most songs seem to be around 90 seconds to two minutes before they loop.
As I did for my last Ludum Dare game, I used text files for storing the level layouts. Each character in the file represents either an object, obstacle, powerup, warp area, exit, or starting position. The text files are assigned to TextAsset objects in Unity, and then parsed in my game code using the Split and ToCharArray methods. The text files are stored in the Resources folder in the Unity project, which makes them accessible to the C# script. One issue was that I had to also encode the direction the guns were facing, because they could face either left or right. Having a gun facing right on the right side of the room would be pointless. Therefore, I used a capital letter if the gun is facing right and a lowercase letter if the gun is facing left. Ideally, the game would have a level editor, which would store the level data more efficiently. However, levels can be created and modified much more quickly by using a text editor, which is a big plus for a two day game jam.
There were some things that could have went more smoothly while developing the game. I forgot that when you call Destroy on an object, it doesn’t actually get destroyed until the next frame. So trying to do a while loop to delete all children objects while the number of children is greater than zero will result in an infinite loop and crash Unity. You would think by now Unity would give the option to break out of an infinite loop without crashing and losing all of your work since your last save. There was actually a way to attach the process to the debugger in the IDE and set a breakpoint and mess around with the variables to get it unstuck, but that method is very convoluted and probably wastes more time than just restarting Unity and losing whatever progress you’ve made. There is an editor script that automatically saves when you press play button that goes in the Editor folder, so I should remember to always add that script when creating a new project.
I didn’t care much for the Ludum Dare 37 theme “One Room”, so I made the story explain that the frog is stuck in one room. When the frog reaches the quantum accelerator artifact, then he is warped to the same room in a different time and dimension, which is why the room changes every time. I actually based the story on the opener from the 90’s television show Quantum Leap. The idea of the room changing each time probably came from my years of playing Castlevania, where it’s the same castle in every game but configured differently for every game.
I have a few ideas on future additions to the game. The bland gray background should be replaced, and it would be nice to have water filling in the empty areas around the blocks. The individual squares could be replaced with lillypads that the frog can walk across. The game could also benefit from more levels. The models and texture maps for some of the obstacles, such as the guns and spikes, could be improved as well.
I gotta say this Ludum has been one of the best so far for me. (Even though it’s only my second one) Alot of people played my game compared to my last game (Seriously like 6 times as many people). I’ve learned alot from this jam. And I appreciate the mountain of feedback you guys have given me. I’ve had 3 YouTubers play my game and even some streamers.
Two things really stood out.
1: How motivated you can get when there’s 3 hours left in the jam (Seriously I got more content in those 3 hours than I did the first day).
2: The community.
What do I mean by community? Well, what do ya think? The out-pour of feedback, and the downloads and ratings adding up everyday, I even got a guy on twitter who said I inspired him to participate in the next jam! it’s just a fantastic feeling.
Overall, I think 2017 is gonna be a great year for game development. You all ignited a fire of passion inside me, and Intend to use it. Again, thank you all so much, and I hope to see you in the next JAM!
PS: IF you want to play my game, you can find it here
First of all, I want to thank everyone for the provided feedback. We appreciate that!
It was an awesome jam and we had a lot of fun. So I decided to tell you our story.
A story of HourGlass Collector
“One Room”. This theme was unexpected. But it turned to be a very interesting one. It wasn’t a hard one for us. The idea immediately popped up in my head. Our game designer polished it and we started our project.
Fourcy started to make game design. First thing he made was a list of game elements. They were used as game objects. With this list I could make a set of placeholders to test mechanics, controls and other stuff. I started coding while Fourcy was working further on game design.
Next step – game mechanics. Our game has a lot of different game mechanics. Fourcy came up with around 15 of them. Not all of them made it to the end. Some were changed, rebalanced or trashed. I will not show you the full list cause this will ruin your game experience =) At this point Fourcy started to work on art.
All sprites were made by Fourcy. He used Sai as graphics editor.
Fourcy spent a lot of time polishing this “level”. It had to contain lots of “game layers”. This was the result of “brainstorming”.
There are 3 spawn points on the map. A button works as a trigger and spawns hourglasses. Active spawn changes in a clockwise direction. (This is a hint for one of the levels)
This game was made in Unity3D (C#). After recieving list of game elements I started to work. I made a list of placeholders and started to implement base logic. Here we began to move and jump. What a platformer without jumping?
Spikes added (yellow box). First real danger. By “danger” I mean DANGER. See these corpses?
Working with placeholders saved a lot of time. I’d made almost every game mechanic before we had sprites ready. But with sprites it looks better.
Our game is almost ready. We need one more thing – a good soundtrack. This is where our composer starts to shine. Provided with gameplay and pictures he made an OST that changed the game. It was no longer a boring platformer but a funny game that attracts you from the start and keeps you till the end. If you like the OST and want to listen more, search for Xcentric Noizz.
We asked everyone we could to try our game. We knew it was hard so we made the game a lot easier. We can’t make it even easier because it will become boring. We did our best to balance the difficulty curve. But there’s always room to improve. And thank you for the feedback and gameplay videos. This helped us to find the problem.
Thanks for reading!
“Le Rest’ouf” is a crazy restaurant simulator where you serve fancy cuisine to impatient customers by throwing plates at them. Click and drag plates to throw them, Headphones are REALLY recommended !
The last update of hellblocks was just made public!
All of your requests have been fixed! This includes the following :
1) Instadeaths are fixed!
2) Full controller support.
3) Added an indication to the blocks that are about to be destroyed.
4) Fixed gem counter.
5) Changed the pitch of the jump sound that made it sound like a glitch
6) Added gem counter in game.
7) Made more precise collision calculated for the player.
8) More gem drops (yay!)
9) Changed (a bit) the box spawning algorithm.
Thanks for playing!
Steady progress! Our main todos left are: finish up level design/gameplay, fix all issues playtesters had, figure out music.
Good luck jammers, and congrats to everyone who submitted already!
So, I was spending most of my time trying to rewrite a raycaster wolfenstein engine from scratch, something I have done before in the past but always end up with horrible bugs and long time till I get it right. The alternative root would be to write some OpenGL code and make a simple room but I was afraid of the modelling it will require or maybe I could make it with procedural contect but not sure how it would look. While the raycaster root would mean blocky walls and a single would be too bland, but the idea was different. The concept would be to have all these hundreds of doors (in the screenshot it looks like garage door almost, proceduraly generated cause I don’t have time to write code to load images now) and Only One Room behind the doors would be the correct. Yep, kinda twisted the theme. I was thinking of making some funny enemies or pictures behind the wrong walls and ridiculous sounds (I haven’t done any of them), so it would get annoying the more you open. I wasn’t sure how to go from there gameplay-wise, hoping to finish and plan from there, maybe have a limited time till you open the right door and a monster to chase you around the corridors or the wrong doors triggering bad effects in your movement (like drunk movement or freeze for 5 seconds, etc).
I am not even sure if I’ll have motivation to wake up tomorrow and finish this for the Jam instead. So, I’ll just post a screenshot for now..