2 weeks into my first game development project (Hue Hopper), and things are still going decent. Most of what I set out to do was accomplished. I did things a little out of order though. Ended up doing the level maker instead of the timers and scores. Had an idea that ended up working, so I went with it.
One major setback this last week: I ended hitting a mental wall. This isn’t the project I truly want to be doing. And since I’ve started watching videos on Unity (Brackey’s YouTube channel for those interested), I’m getting anxious to start working on those. But I’m sticking this out and completing what I start. In the last few days, I’ve re-evaluated and gotten back on track.
What’s Been Done
Most of my time was spent working the main game play mechanics. Here’s a GIF showing basic player movement, wall jumping, and the color changing tiles.
You can see already that this is a noticeable improvement over last week.
First, I fixed the render offset issue that was causing things to sit in the upper left corner. Not really that hard of a fix. Just took me some time to figure out where each offset should occur.
Second, a level objective has been added (although visually basic). It’s completely functional, too. The GIF above is actually from level 3. There’s a level complete state in there as well. You can just barely see the text change at the end of the GIF loop.
Finally, the color changing tiles are working! It only occurs when the player is standing or walking on top of them. (Although now that I’m writing this, I’m not sure if it works when sliding down the walls…added to my to-do list!) Right now, it determines the color based on a fixed maximum timer of 3 seconds. This doesn’t feel quite right just yet and will need some tweaking. But not super important just yet.
I’ve added in a slight downward slide down the wall. It’s not really noticeable in the GIF though. The player sliding still hasn’t been added back in, and I’m not sure if I will. Doesn’t seem overly necessary at this point. Just a nice bonus feature.
Level Maker
Probably the most time this last week has been spent setting up a level maker. And while the system isn’t optimal, it’ll work for as small as Hue Hopper is.
Ideally, I’d like to make something visual that I could drag the blocks I wanted into place. Once complete, it would generate a text file or something with the level data. That info could be placed in a sort of LEVEL_DEFS type file that would store info for all levels.
Truthfully, I don’t have a clue how I would’ve set that system up. And I think it would’ve been more time than it was worth in this particular case. While working through setting up the level objectives, I came up with a temporary system that actually ended up working decently. So I just went with it. More code-based than data, but it’ll work.
Note to self: data-driven design is an area I need to focus on and learn.
Options
One of my goals last week was to get the options screen set up. And I partially got this done.
There’s currently a space for both music and sound effects volume. Both are working.
Added some sound effects to the player jumping and the menu selections. Also added two temporary music tracks just to make sure the volume mechanic was working. All working well.
Be sure to check out Joel Francis Burford on itch.io. That where I found the temporary music assets.
Still want to add the jump button and movement options. Hence, the placeholders above.
What’s Up Next
There isn’t a whole lot left that needs to be done. Should only take a few days to complete the rest. I should still be on track to finish by the end of this month. If not, just a few days into the new year should be all it takes. I’ve scheduled everything by the remaining days, so here’s a rough agenda:
- Timer and score calculation
- Level start countdown and pause screen
- Game over screen and high score board (working, but not currently from the play state)
- Movement options
- Creating more levels
What I’ve Learned
Scheduling specifically what needs to be worked on each day has been extremely valuable. Especially when tackling areas that I’m not exactly sure what I’m doing. The level maker was a good example of this.
Speaking of the level maker, having data-driven design is something I definitely need to do some research in. Specifically for game development might be nice. But at this point, I think any sort of general tips would be useful. I wasn’t really sure how to build for a system like this.
If you have a resource that explains data-driven design for game developers, please be sure to share it with us in the comments below. Thanks!
Also, game development takes a long time. I mentioned earlier that sort of wanted to move on to a “real” project. While I don’t know if this is a common thing for devs, I would assume that it probably is (at least to a certain degree). If it’s a habit of mine, it might be good to know about now. That way I can plan time accordingly for these sorts of burnout periods.
Final Thoughts
Overall, I still feel like Hue Hopper is making pretty good progress. It’s been an interesting journey. One that I’m proud I started. But I am ready to be done with it and move on to bigger, better, and (hopefully) more meaningful projects. One more week though. I got this!
Check back next week when I unveil the final results of my very first game development project: Hue Hopper!
I’d be curious to get feedback, especially from my fellow developers out there. There’s a ton out there that I don’t know. And I don’t even know that I don’t know it! If you see something in my process that could be improved, by all means, let me know. I’d certainly appreciate the feedback.