This video was quite the effort but I hope it’s not too late for anyone interested how I tackled “One Room” in this entertaining little video:
Posts Tagged ‘LD37’
It’s been a while since Ludum Dare #37, granted, but I am getting close to finishing my upcoming documentary of how it went for me. So here’s a silly little something to get you all stoked for the blockbuster this spring, “The Post Mortem of ‘The Cellar'”
Following the end of LD37 we have been playing around with the idea of taking Obelisk and expanding it into a full game, but first we wanted to polish the experience we had post jam.
This led us to develop a targeting system for the hookshot and we quickly realised this made it playable on mobile… so we though “why not?”, slapped on some touch controls and threw it onto the Google Play Store 😀
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/.
Free the Frog Post Mortem
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.
- The first level just introduces the player to the game, so the player just has to maneuver around the board to reach the exit.
- The second level introduces the guns, which is the first time that the player can actually lose a life. The guns only shoot one bullet at a time and can be easily dodged.
- The next level reuses the gun that I created, but this time it shoots three bullets in a row. It’s a nice way to create a new obstacle with minimal development effort. Using Playmaker makes altering the standard gun relatively simple.
- The next obstacle introduced is the spikes. I think the first spikes may be a little unfair, because they start hidden and pop up right as the player is moving through the game level. If the player looks closely, they can see the tip of the spike when it is down, but maybe there should be some other visual cue. I used a simple Blender cylinder and moved the vertices at one end together to create a cone. I used Playmaker to move the spike up and down, waiting for a few seconds after each position transition. The frog is killed when it collides with the collision box around the spike.
- There is one beneficial power-up in the game. I think one of the flaws of the game is that there are too many negative obstacles at the beginning, and not enough things to benefit the player. The speed booster power-up decreases the amount of time that it takes to move to the next square. I put a long row of spikes, which makes it necessary to use the speed booster to pass. I used trail and error to determine how many spikes would be required in order to have to use the speed booster. Unfortunately, only one level uses the speed booster power-up, so I would have also liked to use the speed booster in another level.
- Another object that the player can interact with is the warp object. I made it so that there are two varieties of warp points, one red and one blue. The red warps to the other red point, and the blue warps to the other blue point. On the first level with warps, I made it so that red warp is easily accessible and the blue warp is surrounded by spikes. If the player takes the blue warp, then the exit is easily reachable. If the player takes the red warp, then the exit is blocked by spikes. It seems to be good game design to reward the player later if they choose the more difficult path first.
- The remaining levels don’t introduce any new obstacles or powerups, but I tried to make them unique by using different obstacles together to make a unique challenge to reach the exit. The seventh stage is probably the most difficult, where the player must move at the exact time to avoid the combination of gun bullets and spikes, which move at different rates. However, I had to ensure that there was a small period when the path was passable, to ensure that the level could be completed.
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.
Since Ludum Dare 37, I’ve been working to make interesting experiences using feedback from my entry. A new episode of levels has been put together, and I hope you try it out in version 1.2.0!
Super Battle Cycles’ combat has been refined and simplified, and different mechanics have been used to form new puzzles. “Episode 2 – Reheated” has completely different levels than the original ones… please comment your thoughts on them!
You can play on Game Jolt, thanks!
It’s important to note that SBC will be completely remade and improved for future release… Expect this to be the last update to this original LD entry. Hopefully I can make something larger from this in the future 😀 Until then, keep up with progress by following!
Thanks for reading guys, see you next time!
Today my son who is 6 years old came home from school and he had a drawing with him that he had made today. It was heartwarming to see that he had actually drew my LD37 game from memory =)
This is the first fan art I have ever received and I think it was a great representation of the two evil astronauts that are doing nothing to help, the air powerups, the piping, the player with his backpack and helmet, the compacted trash boxes, the light beams at the far right, and he has even included an item from the post-LD game that I prototyped a few days following the compo (interactive objects.)
My son showed quite a lot of interest during the LD-weekend and it was great to see his reactions when finding bugs and when I showed him the different mechanics. My other two children are younger so the did not show the same interest (yet?) but it was of course great having them around as well. Hope you are all having a good year so far!
I find it pretty sweet to have the source code of each interesting Ludum Dare entry available, so when I’m curious about how somebody implemented some cool trick, I can just look at it. However, much of the code is undocumented and/or all over the place due to the jam’s nature. When you’re struggling to finish in time, the last thing you want to do is write comments and tidy up your code.
But even if you do, somebody from the outside looking at your code might have to invest a lot of time to really understand your game’s structure and your intentions. That’s why I thought I record a little code review of my entry, “The Cellar“, made in Game Maker Studio 2, stepping through the code and just talking about what it does, where I made some bad calls and generally how I set things up:
It got a bit longer than anticipated, but I’ve added chapter breaks to structure the video. Pro tip: Watch at 1.5 speed 😉
Here’s the ranks and ratings for Super Battle Cycle, my entry!
Wonderful! They’re the best ranks I’ve gotten in any entry. I think I will continue developing the game to eventually sell it… I hope it goes well, I’ve never tried selling a game before.
It would have been nice to get top 100 in Overall, but I’m satisfied with hitting top 100 in two other categories 😀 Congrats to the winners.
The results for Ludum Dare 37 are finally in. For my team’s first Ludum Dare ever, we managed to get into the top 25 for Audio!
Could things have been better? Of course. But at the same time, I think being able to place that high in at least one category is in itself a great thing. The difference in the average score between us and the top ranking Audio score was less than 0.5. Truly it was a close race.
In the previous game jam my team, Team Spontaneous Combustion, had participated in, we placed 20th in Audio out of ~400 entries with a ~3.9 average rating. So to have 55 people give the game a 4.35 average rating for Audio (assuming all those people rated the Audio category) is a considerable improvement, in my opinion. Even with the rankings that fell below #100 – I mean, there are thousands of entries, so we could think of our entry as placing in the top 26% and whatnot. Just the fact that we could create what we’d normally take a week to do into 72 hours is impressive, and the same goes for everyone who participated in Ludum Dare. It’s hard enough working in a team to make something in 72 hours, so I can’t even imagine how people make playable games in 48 hours on their own. 😛
When we first released our entry, Spellbound, I wasn’t sure if it was going to do that great. Ludum Dare 37 fell at one of the worst times for me, with exams coming up on the horizon and work that was scheduled on two of the three days I had to complete the OST. As a result, I didn’t spend as much time with the audio for the game as I wanted to, creating the tracks within a couple of hours and being like “meh, I don’t really know how to develop this so I guess I’ll loop it”. Surprisingly, I was able to create music based on the different books that were opened, all except for the final stage. I had, at first, thought of remixing the previous water book track for the final stage (’cause you know, ice is a solid form of water :P), but due to a loaded schedule, ran out of time.
Overall, I’m really happy that a lot of people enjoyed the music to Spellbound and am very proud to have worked with Team Spontaneous Combustion on our third game jam, and first Ludum Dare in general. There were a lot of wonderful entries in this Ludum Dare and I’m glad to have played and rated quite a few.
If you haven’t checked out Spellbound yet, give it a look at here! The game is playable on web (but the download gives you better resolution options).
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
Judging ends in just 56 hours! This is your last opportunity to play and rate my entry, Ludum Dare: The Game!
A few selected words of praise from previous reviews:
Only one word comes to mind while I was playing this game… AMAZING! — KunoNoOni
This game should get to top 5, in at least 2 categories in my opinion. And I don’t think others who played this game think otherwise. — makiki99
The execution was perfect. Loved the audio and the graphics. Can’t believe you did this in 48h, such an awesome entry! — karlipoppins
My rhythm game “Tabla raver” was boring and drawn by a five-year old kid but got 86 overall! — dunin
This was great! This was crazy polished! How did you make this in 48 hours O.o!? The audio was amazing too. This was actually really fun and satisfying to play. This actually did a pretty good job of describing the life of a Ludum Dare creator. — Intelli-Gents
I love the idea behind this game. I never thought a game about making games would be this fun. — barkergames
Well, what are you waiting for? Relive your Ludum Dare experience today in Ludum Dare: The Game!
I just want to thank everyone who played our game and left a valuable feedback. You guys are awesome!
I played a lot of interesting games during this LD. It was an epic journey. We got more than we expected. There is still some time left so let’s push this to the limits. You can try our game (find a link below). If you like it leave a comment so I can try your game too. Have Fun!
THANK YOU AND HAPPY NEW YEAR!
I made A lil’ Christmas Update for my game. (4 days late to say this)
Its really cute and gives the game a BIG BUTTLOAD OF NEW FEATURES!!!
Including: – A REALLY SUPER RAD SNOW EFFECT. – A REALLY RAD SUPER SANTA HAT;
OH MY JEE WIZ THATS ALOT OF STUFF!!! With all this content, you’ll be playing for hours! Why not check it out here!
sarcasm is best.. uh.. ism.
Hello everyone, 2017 is almost here, and so are results! Here’s my overdue post-mortem.
Super Battle Cycle is a sort of driving top down shooter thing that I made for the compo. LD37 was always intended to be my first pixel art compo. I wanted a simple semi-monochrome or GameBoy-like art style… but with the theme of One Room I just couldn’t think of any original ideas that I would be able to execute quickly. A toy driving/fighting game sounded appealing, and I eventually decided to make a top down driving shooting physics game (how complex it sounds now). Soon enough I had created a prototype of the physics gameplay using a little motorcycle sprite I ended up sticking with.
Many players have commented that the game is unique in its grappling hook mechanic, utilizing physics as a weapon. I am very happy with this grappling gameplay because I feel that it’s fun (and juicy).
The game has about seven levels with three short help levels, all taking place in a room with rearranged levels for your toy cycle to shoot cars in.
Alright, so most of all I need to put time aside for playtesting. This is what I never get around to in Ludum Dare because for some reason I put it off. Clearly it would have fixed the problems many players had with controls early on.
Something I wish I fixed before the initial deadline was pixelation! During development I had no method of rendering the correct GameBoy resolution in the exported game, and I had no time to find one (the first GIF seen above was taken in the editor, not the export). The initial version was just a 2D physics game with rotating sprites… something I am not proud of D:
Even so, after this pixelation was fixed I couldn’t make the HUD render in GameBoy pixels without reworking it entirely. Maybe this will be fixed in the post-compo versions.
Finally, players have pointed out the the grappling mechanic should be more important than the other mechanics that are “unlocked” throughout the game’s levels. They couldn’t be more right, I see now that each feature should have built upon the grappling attack mechanic! This must be fixed in the post-compo version, huh?
Now onto the good… I have felt from the start that the grappling-driving gameplay is pretty fun and original compared to my other entries. Crossing my fingers to do well in innovation, if that’s my best chance!
I sorta made a few “tutorial levels” that introduce the base mechanics through help messages. It’s not the best way, but it’s something! This hopefully fixed the previous problems I’ve had with first levels.
Also, I’ve finally scratched the surface of pixel art with this game… hooray. It’s faster than 3D modelling and animating, so I might try it again in Ludum Dare. The sprites themselves were probably a bit mediocre, but maybe I can learn more. Speaking of art, the music was quite decent for how quickly I made it, and oh man, this time around I did many good things in juiciness 😀 Camera-shake explosions never hurt, right?
I also have a timplapse that will briefly show the process of my entry’s development:
So based off of feedback, the concept is the game’s strong point, but I made a lot of errors.
I won’t continue developing this one very much if it isn’t good enough (time is precious with school and all). I’m hoping to place top 100 in something, or even get top 100 overall for the first time (I doubt it). If my results are my best yet, I’ll try to develop the game and even sell it! Hoping for the best~
You can play the game here! Please do give feedback 😀
TL;DR – The game had lots of problems with execution but it was still fun for the most part. It also might be developed further if the results are reaaaally good, ha.
Thanks for reading, play link is just a few lines up there. See you next time!