Squares & Hexes - My First Ludum Dare Game
Hi everyone! I decided that I would write a post about the development of my entry for LD-40: Squares and Hexes!
It has been quite the journey from when I started the game to when I published it, and I feel that I've improved a lot as a developer as a result. I'm a game development student, and I've only been developing for 3 months, and this Jam has been such an amazing learning exercise, from which I've produced a game I really enjoy.
Before I get into the post, you can play my Ludum Dare entry in your browser, here: https://ldjam.com/events/ludum-dare/40/space-hexes. (The name on the link is a little off, I titled it wrong when I submitted it at 1AM, whoops)

Summary:
Squares and Hexes is a reflex-based precision game, in which you must navigate 10 levels without hitting any hazards, as doing so would cause your death, and you must then restart the section of that level. However, there are also 3 hexagons you can collect throughout the levels, which will boost both your final score and your speed, increasing the risk and the reward.
However, the game wasn't always like this, and through a bunch of small tweaks, I managed to produce a game infinitely more fun and polished than what I had initially planned.
Day 1 - Getting a Foundation:
Due to living in the UK, I had a bit of a late start to the jam. The theme was announced at 2AM on the Saturday morning, and I didn't stay up for the announcement. However, I was fortunate enough to be able to have some idea of what I wanted to do as soon as I read the theme. With 'The more you have, the worse it gets' in mind, my first thought was some kind of platformer, in which you had to collect a certain amount of an item to progress to the next level, but the more of these you got, the faster you went, making you more likely to hit hazards and die, subsequently making it harder.
The idea seemed pretty good, it was simple to do in 48 hours, I could do it despite having only been developing for 3 months as a student, and it was flexible enough to change things if I felt it was necessary. With a very simple design idea in mind, I jumped straight into Unity, and got working. I quickly got a prototype up and running with just 2 scripts, and one level. That prototype looked like this:

It had some promise, but there were a few issues. The level required you to collect everything in one swoop, without dying, in order to have a decent chance of completing the level. You would easily collect the first hexagon, and maybe you'd get the second, but getting the third was too much of a jump in difficulty, as you'd die way more often than you should, through no fault of your own. And, honestly, it just didn't feel fun. Something about the way the player navigated the level was just, off, and I needed to fix that before doing anything new.
My solution was to make the player only do one thing: jump. The player would then move automatically, and would only have to worry about when to jump, which I found preferable when testing, as you didn't then get the chance to correct any mistakes mid-air, you had to live with your decision. This was the result:

It was certainly more fun, but the same issue as before reared it's ugly head. Once you had all but on of the hexagons, you just couldn't get the third. It was an issue with the speed at which you went, and the placement of the hazards in the level. But no matter how much I changed values, no matter how much I changed the hazard placements, nothing worked. It'd feel too sluggish, or perhaps the level wouldn't be challenging enough.
It was at this point that I started to worry. My idea wasn't working, I had 34 hours left and still hadn't sorted my basic mechanics or made one proper level, and I was out of ideas. So I do what I usually do: I played some games for an hour,. and see what ideas I'd get from playing other games. One of those games was Super Mario Run, which, a lot like my game, only really has the player controlling when to jump. It was when playing that that I realized that I shouldn't have the open ended level format I currently used, but a linear series of levels which the player has to complete. With that in mind, I then decided that I should scrap the light platforming in favor of more reflex-based precision gameplay (which it had already become in my second prototype).
And so, I took my scripts, and made this really simple level, which shows all of the basic mechanics in one simple level:

It was quick, simple, and right there showed that I had something good. that right there was my baseline, and using just those simple components that made this level, I went and made a total of 5. They were fun, and served as a good introduction that everything the game would involve. And it wasn't just me that thought that, I had people play that demo, and they liked it, their only complaint was the lack of visual appeal, which I was planning to fix right away.
Initially, I had it in my mind that I'd do some kind of dungeon for the backdrop of the core gameplay, using a pixel art style for the visuals. But, by the time I had a playable prototype, I was having second thoughts about that style. I only had a few hours of the first day left, and I knew that I'd not have much time to work on it the next day due to other plans. I decided that a simpler style with more work on certain bits of polish such as particle effects and camera shake would be ideal.
And so, with that, I chose a few shades of red for the level colours, and used oranges and yellows for the player and the hexagons. I made a few simple particle effects for certain occasions, and I scripted in camera shake upon death. It was starting to get more polished, and was far more appealing. Only an hour later, I had this:

That was so much better, and from there, I had a solid baseline for my game, that if all else failed, I could at least have something worthwhile to show for my efforts. And so marked the end of my first day, and I was left certain that I could get it finished the next day.
Day 2 - Trying to get it Done:
With 14 hours left before I wanted my game submitted, I knew exactly what needed doing for the day: UI, menu, and the score screen. If I could get all of that done, I had completed my goal of submitting the game for the Compo. But, the 5 levels I had didn't feel like enough. The theme was 'The more you have, the worse it gets', and yet I had only one of the collectible items in all of my levels. And so began the process of getting an extra 5 levels made. I like to think that I'm somewhat efficient at making levels, however, with the type of game I was developing, levels take so much longer to make. You have to ensure that it's challenging yet possible, and you have do that for every speed at which you're going to account for if players managed to avoid picking up the hexagons. It's slow, and took all of my development time on the second day.
I managed, but with how little time I had that day for actual development, it was all I managed to get finalized. I did start on the menu, but it was nowhere near polished enough to be in a released version. And with this, I ran out of time. I had 10 finished levels, but no menu, no score, no sound, no UI, and it just simply wasn't at a good enough level to submit for the Compo. Feeling just a little bit defeated, I closed down Unity, and decided that I'd submit the game for the Jam when I finish it the following day.
Day 3 - Finishing What I Started:
I was determined to get this thing finished by the deadline for the Jam, there were enough levels, they were fun, I just had to get a few essential features in and polished. Form there I could do whatever else I wanted/needed to afterwards. I got to work as soon as possible, and immediately finished off my main menu, integrated a scoring system, and got UI working. It only 2 hours, and I had a polished result that I was happy with. This meant that I could then focus on whatever else I wanted to add, which for me was a slight change in the look of the game. All I wanted to do was produce a slight outline around the floors and hazards, making them a little more noticeable and appealing. I also wanted to change the shape of the player. Everything was a square in the game apart from the hexagons, and so I decided to make the player a hexagon too. It was certainly an improvement, and slightly separated the game from other games similar to this one. Add in a few more particle effects to the background for bonus style, and I have a much better looking game, which looked a little like this:

The final thing was to add sound. Creating sound effects for jumping, landing, and dying was easy enough, the hard part came from making the music. I'm not a musician, not even close. But I wasn't going to settle for a game with no music, as I personally really dislike it when a game lacks this. I tried various resources for making any kind of music, from online chiptune synths to procedural music generation with a bunch of effects layered on top, I just couldn't get it done.I honestly tried for hours to do this, and nothing was working, and so as a last resort, I found some suitable royalty free music from incompitech.com, and that was that.
With my game finished, and 3 hours to go until the final deadline, I got to work on building the game and getting it live on itch.io, and submitted for the Jam. And 1 hour before the deadline, I was done, my game submitted and playable in-browser, happy with the result.
Conclusion:
Overall, I must say that I've surprised myself with how much I managed to get done in such a short amount of time, and the degree of quality I've managed to produce that content at. I don't really see myself developing the game further, as I'd rather pursue other projects that are new and fresh, but I must say that this has been a great way for me to progress as a developer, and the feedback has been just amazing.
Thanks for playing my game, and thanks for reading this post.
Now, since I've finished that, I'm going to go play the countless amazing games I've seen over the past two days!
Build with all gameplay.
Build with player animations.





















