Panda Hell update #6: Design decisions and moving to procedural level generation

Game play experience completed

This week I’ve been working in making the game play a complete experience and get a full-game feel, where you start a game, you go through the levels, you encounter the final boss and you finish the game. Which leaded to some design issues (more below), let’s start!

– Added a score system by using PlayerPrefs, this stores the info between sessions via serialized data into the player machine. Which allows you to keep track of your highest score between runs. I plan to use the same system when a better level implementation is in place, as well to get statistics from your game runs (how many times you have been killed, ammo used, enemies killed, etc, … ). It works so is just a matter to add new stats to the system 🙂

– Added narrative nodes. The levels are generated randomly at the moment, but there are narrative nodes when the player reaches certain level,  for example on level 0 the Player will be prompted with a tutorial level, that can be easily skipped, and start the game on level 1. I may this completely optional in the future via PlayerPrefs too.

– Added Boss Panda fight: On reaching level 3 (totally arbitrary for the moment) and following the previous narrative nodes implementation, a boss appears and hides on a scripted way, at the moment follows a classic show-shoot-hide behavior, and loops until boss health reaches zero or the Player dies, which ends the game. At the same time enemies keep spawning regularly in random places and meteorites start to fall and must be dodged or destroyed, which may provide health and/or fuel.

First complete play-through and discovering design problems.

Once the boss and a classic boss mechanic was added, was time to test the whole thing, a walk-through from level 0 until defeating the boss and finishing the game.

The initial idea was to have it ready for refinery on August and iterate based on user feedback from there, having 3 more months to polish the whole thing, with a focus on full launch in and Steam at the end of the year. However here comes the problem, as well the first self-feedback without having to ask for third-party opinion: After the full walk through, the current implementation of my random level system feels not enough for the type of game, which made me start to think about implementing a procedural level system instead.

This certainly would increase the current complexity of the game, exponentially, not only for the level generation but also the rest of systems implemented in the game would need to be tweaked.

Seems like plan vs reality will differ soon

This design decision has been motivated by a couple of reasons:

– Finishing the basic game play, playing the full game, and feel the whole experience was bland. This of course  is much related to the lack of art (yet) as I’m on the prototyping stage, however you can feel how the levels will not provide enough challenge if they keep the actual design.

– A reddit post I just read by coincidence the same day I did the walk through, tldr; a rushed game is forever bad.

– On a related note, there’s the reason I started this project, and this reason is learning: Procedural generated levels will be a challenge and may delay my release plans above, however it seems worth it, due to the knowledge gained and the fun factor that will be added to the game. Is definitely not a decision that has been taken lightly.

– The couple of games that I purchased last week on the Steam Summer sale, some of them were Nuclear Throne and Binding of Isaac, which made me reevaluate the extra value the procedural generation gives to these games, and how my idea for Panda Hell is near these.

Next week:

I wanted to spend next week focusing a bit on the game art, and making bit more juicy: Animations, sounds, effects, etc, … While I’m not worried about working in art of the game, there’s certain aspects that I need to research, for example: Unity lights have no effect on 2D by default (point lights are absolutely useless ), animations, effects via pixel instead of using the default particle system (which I use now as placeholders). But the decision of changing from a random level generation to a procedural level generation will occupy most of the week, so that’s the focus instead.

Leave a Reply