TopDown Fall Update 23 October 2016
In the first post of this site, I went into detail about the progress I was making developing a top-down, pixel-art, action-adventure game. This update is going to be fairly similar and hopefully more in depth. A lot has changed since I wrote about the game last. The following sections give an overview of the major changes since the last update. A video is also included for demonstration.
Removed Targeting and Camera Rotation
Targeting has been removed for a few different reasons. One of the more critical issues with targeting was the camera rotated with the player. This caused the pixel art to become malformed and distorted. The second, more frustrating, reason targeting had to be removed was because it was causing the player character to ignore colliders. It was difficult to make progress knowing this bug existed and even more difficult to fix.
Outside of targeting, the camera was still rotating with the player. This had to go for the same reasons mentioned perviously - it was malforming the pixel art. With the change in camera, came a change in movement controls. I suppose you could consider the old controls "tank" movement, akin to the original Resident Evil games. With tank controls, up moves the character in the direction they are facing, left and right rotates the character to face different directions, and down moves the character in the opposite direction from which they are facing.
New Movement Controls
Moving the player character around is now a lot more simple. Instead of the tank controls, you push the left joystick in the direction you would like to move. This includes the cardinal and intercardinal directions.
The player character has been given a pool of stamina which can be used to sprint or dash. The difference between these two is that sprinting last longer and goes slower while dashing happens very quickly over shorter distances.
Perhaps there's a proper word for this but by action prompt I mean an onscreen prompt that lets the player know they can interact with something. This prompt will be used for myriad reasons: talking to NPCs, opening doors, picking up items, using contraptions, etc... Anything that could require signalling to the player can make use of the prompt.
The action prompt was designed so that it's text can be overridden by the game object triggering the prompt. If you approach a door, it may say "open". If you are near an item pick-up, it may say "pick up item" or "loot corpse".
This is one of those features that feel really nice to add because you know it is a system that can be reused over and over again throughout the course of the game.
The player can now prompt NPCs to talk to the player. The black dialog box shows at the top of the screen and the dialog appears in a pixellated font. An NPC may have more than one thing to say; if a player continues pressing the action button, they will cycle through all of the NPC's current dialog options.
All friendly NPCs can do is turn towards the player and talk. Nothing too fancy at the moment.
The enemy AI is rudimentary as well. If the enemy detects the player within a given radius, it will rotate towards the player character and move towards it. If the enemy is within attacking distance to the player, it will stop moving. When the player leaves the enemy's detection radius for five seconds, the enemy will stop the pursuit.
Two of the next things I'd like to do to improve NPC AI would be replacing the detection radius with a cone, to better simulate field of view, and implementing patrol paths. Enemies that behave like they have a limited field of view are more interesting because their rotation allows the player more opportunities to move undetected. Patrol paths would benefit enemy and friendly NPCs alike. Enemies can use patrolling for patrolling(duh), player searching, and scripted events. Friendlies can use patrolling to make them seem like they have a life outside of interacting with the player character.
Wood Building Redesign and Doors
The wood building assets have been redesigned to have a darker finish and thinner, more uniform boards. The redesign includes the doors, which now open both ways and close behind the player character.
A roof has been added to the wood building assets to cover undiscovered locations. The roof will become transparent when the player character is standing right outside the building, and will disappear completely when they enter. When the player exits, the roof reappears.
Outdoor Environment and Sound
The player can now walk outside of the wood building, into the surrounding woods. There's grass, swaying trees, a little pond, and a downpour of rain. Not only can you see all of this but you can hear it as well. The sound of the rain hitting the grass, the sound of the player character walking on the grass, the knocking of tree branches, howling wind, and quiet waves are all audiable.
All of the sounds work with 3D audio. That is, when a sound source is coming form the left side of the player character, that sound will be more prominent in the left speaker or headphone and vice versa for the right side. When the player character is in front of the sound sorce, the sound will be equally prominent in both left and right speakers or headphones.
Rain was a satisfying obstacle to overcome. I knew which tool I needed and that Unity didn't provide it, so I had to build it myself. Maybe it also has a proper name, but I call it a Prefab Particle Emitter. Unity does have particle emitters, but they do not allow you to emit prefabricated game objects.
In my case, I had a rain drop animation in the form of a prefab and I needed it randomly instantiated within the viewport of the camera. This was achieved by randomly generating values on the x and y axis that fall within the camera's viewport. This prevents me from having to spawn rain over entire areas that aren't in the camera's view.
The Prefab Particle Emitter allows me to set how many prefabs I want to spawn per cycle, the time betwee cycles, and how long until each prefab expires and leaves the scene. Like several of the additions above, this too can be repurposed to create other effects such as smoke or fire.
I'm not going to go too much into Ichor Wells other than to tell you I made them. They first appear low or empty, then fill with purple liquid, and even sometimes bubble or boil! No telling what that's about...
If you stuck around long enough to read to this point, I have to say thanks and promise I'll stop talking soon. I've been making progress on other aspects of the game that I haven't mentioned here yet. The story, location, lore, enemies, items, powers, and other mysteries have all been high priority lately. While I'm very interested in and enthusiastic about developing these aspects, I've decided to keep details scarce as they're are better off revealed during gameplay. Until next time.