Great jam everyone! I loved the level of discourse and the great feedback. I was impressed by how many great games there were. I'm working on a post-jam version of my game using the feedback received, so I'll post again when I get something I feel good about. Heres a Post Mortem about my game if anyone is interested.
Molecule Mash is a game created in 48 hours for "Alakajam 3" with the theme "Always Growing". The game is about snapping atoms together into a molecule. The game is separated into increasingly difficult levels based on different real-world molecules. Each level is constructed to fit the model by placing the correct atoms around the level, and laying out the geometry to create something unique to that level. The game was created with Unity, with level geometry created using ProBuilder, and a little bit of help from Audacity for audio. Molecular data is pulled from the Protein Data Bank.
Molecule Mash was not the game that I started making at the beginning of the jam. My original concept was a bullet hell game where you were an ever expanding bubble trying to dodge sharp objects. That concept got me through six hours of development time, most of it doing unimportant things like audio before actually figuring out if the concept was good or not. It was not. The expanding bubble size worked counter to the genre and just wasn't enjoyable at all. I had all of these bubble popping sounds, and the start of an original music loop, and six fewer hours. Starting over, I did some brainstorming with some friends, and the concept that I kept coming back to was Katamari. The concept fits the theme exactly, so I went right into making a clone. To my surprise, it took just half an hour to make a prototype of a ball rolling around attaching to anything it touches. I was very happy with it, but was starting to worry about what would my game unique. Throwing together an open plane with differing sized spheres and cubes, I noticed that the shape my Katamari ball was making looked a lot like a ball and stick model from a chemistry class, and with that I had my idea.
After having the concept, I realized that a molecule structure is not something that's sustainable to write by hand which is where the idea to pull from the Protein Data Bank came from. Being based on chemistry brought with it some baggage and additional constraints. First, was the idea of limited connections between each atoms. Second was the concept of a rigid structure to be building. Third was that what you build in a level has to be a real thing. All of these constraints led to searching and researching molecules from the PDB and finding ones that would work well in the game.
Once I got all of the mechanics working, I reached a state that I always aim for, the final 24 hours could be dedicated to content and polish. This has been my goal for the past few jams, and it has worked out great. From pretty much any point after the first 24 hours, I felt comfortable sharing builds for play testing, and shortly after that I got to a point where I wouldn't feel bad about turning in a final version. I've had plenty of jams where I was coding all the way up until the end, and would never be certain if it would work at the end. This process made the jam extremely fun, and removed almost all of the stress that can arise from these sorts of events. On top of that, the tools I created in the first 24 hours made content creation really fun and removed a lot of the tedium.
Speaking of stress, I managed to take care of myself during the whole jam. I didn't skip any meals, I exercised both days when I needed to give my brain a break, and I got a full night of sleep both nights.This is something I learned within my first few jams, and I can't recommend it enough. Every time I pull an all nighter, the game suffers for it.
I spent 1/8th of the time on a boring, unoriginal concept. It should never have gotten that far, and those 6 extra hours could have been spent more productively doing pretty much anything else. I came into the jam with the mindset that I should just get something up and working quickly. My new addendum to that is that the concept is essential. I have done plenty of games without a strong idea, and it never feels as rewarding as making something genuinely different which I feel is an important part of a successful jam project.
The controls, and the frustration surrounding them, became the primary criticism for the game. While developing the game, I saw no problems with them as I basically got used to them. I also discovered after the jam was already over that I wasn't handling input and physics forces correctly causing inconsistency between different hardware. All the balancing to the magnitude of forces and controls and everything was done on my machine. It wasn't a quick fix either, because upon fixing the inconsistency problems post-jam it even felt different on my PC, and all of the levels were designed and tested with the old behaviors in mind. This problem, I believe, was the main issue with the game and the first priority of everything I worked on Post-Jam.
Even without the inconsistency, the controls ended up just not feeling too good for larger and more planar molecules. I didn't do a very good job at establishing a good character controller before making the rest of the game, and by the time I realized it, it was too late. In the future I need to make sure that the actions you perform the most often also feel good, and rocking back and forth to get onto an edge just didn't feel that good.
I made exactly one texture, one set of sound effects, and no custom models. While this isn't exactly a problem, it does irk me a bit. The game does not at all pass the made with Unity test, as it quite obviously uses stock Unity UI, the stock Unity physics, and the stock Unity standard shader. I was never able to get around to modifying those and giving the game a unique look and feel which is a real shame.
Going with a a strong idea is essential. Until switching the idea after the first six hours, I was having a lot more fun and ended with something I am much more proud of. The purpose of the theme and the time restraints, in my opinion, is to allow for interesting and unique games. If you aren't feeling the idea, keep brainstorming!
When going solo especially, get a playable prototype quickly. Figure out what makes your idea good, and focus on those aspects.
@wan Yeah, it was a mixup with Update/FixedUpdate. It turns out it matters quite a lot in a game like this. I really started to notice it when my brother playtested it on his 144hz screen and the molecule went flying, thats when I knew I'd messed up.
I agree that a good font can go a long way. I tend to not even start a menu without some sort of custom font.
Funny you mention the ProBuilder texture, as that is my one custom texture in the game! Near the end of the 48 hours, I realized that the default texture says 1 meter, so I changed it to say 70 picometers to be accurate to the size of a carbon atom in my game.
Oh I actually learnt about this game because of the jam. A friend showed me some Katamari gameplay which I found hilarious ; the main reason we didn't go with it was we felt it would require a lot of 3D models to make it fun (that… and I was kinda excited to make modular spaceships :P). It's cool to see that you started with a similar idea but tried to solve the issues instead, finding clever solutions to make the game original/different/not too art costly.
Wow congrats! It's definitely a great goal to set, forcing to come up with a concept that doesn't require a full week-end just to make it work. I think we have always missed that deadline, but it's getting better.
I'm curious for technical details about this. Was this just due do mixing up
Update/FixedUpdate
and/or not usingTime.deltaTime/Time.fixedDeltaTime
correctly?When playing your game I don't think I had this impression. the plain art for molecules & minimal UI were pretty fitting (the custom font bears a good part of the game character) so in this particular case, no problems for me. The only thing I think you could have customized is the texture of the levels, which gives ProBuilder away. Using plain white instead would have probably sufficed.