SPoM - Developer's log 05


Hi!

I'm working on the second level and two thirds of the tasks are done.

I wanted to make level 2 much simpler, but eventually decided to add more details, tiles and functionality. I was missing doing pixel art because of all the rewriting of code so I made much more details to the level and at the same time I tried not to make it look "too busy".

Here are the elements I've implemented:

Level design of level 2

Game logic:

  • Various tweaks and improvements
  • Work on responsiveness (player sliding)
  • Enemies logic - Time patterned
  • Enemies logic - Turret (drops)
  • Enemies logic - Projectile (drop)
  • UI box clouds for interactable objects
  • UI box clouds for collectable items
  • InteractiveController -> make ability to create more than one icon for other objects

Art and animations:

  • No transparent clouds
  • Trap Enemy - add more eyes on waiting state
  • Enemy Trap - electricity
  • Enemy Turret - dripping acid
  • Enemy Projectile - drop acid
  • Tileset - walls - buildings full
  • Tileset - details - concrete wall holes
  • Tileset - walls - buildings behind (full, windows, tiles)
  • Tileset - walls - buildings behind - edges
  • Tileset - details - pipes x 3
  • Tileset - details - jail outside fence
  • Tileset - details - jail building outside elements (reflectors, details)
  • Tileset - details - shower stands
  • Tileset - details - training machines
  • Tileset - details - office elements
  • Tileset - details - water system machines
  • Tileset - details - power system, execution chair, working bench, storage closet
  • Tileset - details - teleporter and related machines
  • Tileset - details - wall markings - names (building descriptions - Entrance, Block A, Block B, Cell numbers, Teleporter, Execution, Power System, Water System, Office, Gym, Storage)
  • Interactive objects - Doors - armored door, metal door, horizontal hatch
  • Interactive objects - Door - back wall cell door - open, close
  • Interactive objects - Switches - lever controlled
  • Interactive objects - Switches - lever hold controlled
  • Interactive objects - Switches - valve
  • Interactive objects - 5 x key
  • Interactive objects - wrench
  • Interactive objects - crowbar
  • Interactive objects - battery
  • Icon - 5 x key
  • Icon - wrench
  • Icon - battery
  • Icon - player
  • Icon - Princess
  • Icon - switch lever x 5
  • Icon - closed (no enter sign)
  • Icon - valve x 5
  • Icon - openable doors

Sounds:

  • Enemy - Electric trap - attack x 2
  • Enemy - Electric trap - idle x 2
  • On acid drop destruction x 3

Tileset collisions

Because of adding more layers of tiles I've decided to use a special grid level for collision. That way there will not be too many collision-objects to check while the player is moving about. Terrain tile-set is still used for collision so I don't need to change the first level by adding new, and also terrain tile-set has slightly different collision boxes because some terrain tiles are not boxes and have some rounded corners.

Collision grid level is shown in green. During gameplay Tilemap renderer is disabled.


Enemy scripts

I've changed the Enemy Trap type script so I can create enemies which use patterns of attack and are not activated by a player entering the area.

Script is rather simple and controls the animation, sound and bounding box activation.

Enemy trap script


There is also a new script used for Enemy turret types. It will be updated for future levels, but for this enemy I needed just projectile creation since for level 2 I will be using only the Acid drop enemy.

Enemy Turret script


This script generates projectile object, in this case it's an acid drop.

Projectile has its own characteristics. It will always impact/collide with objects tagged "player", but can collide with some layer masks, as visible here - it will collide with terrain and water layer masks.

Acid drop object uses gravity / mass to "move" so it just falls down.

Upon impact, a projectile can generate another object. In this case it will generate an Acid splash object.

Projectile script

 


Acid Splash object is a simple Effect object and has a script that will play one random sound and be destroyed after its animation is finished.


Effect controller script


I use this script for other effects too, like water splash and respawn.




And here are the elements I still need to do before level 2 is finished:

Game logic:

  • Give jump control to the player (variability to jump height)
  • Additions to cut scene control
  • UI - add option to skip tutorial popups
  • Effect logic - on collected item
  • Effect logic - behind collectable item
  • Disable game sound SFX being heard when pause menu is activated during gameplay

Art and animations:

  • Enemy C
  • Enemy D (variation of enemy C)
  • Icon - Princess upgrade credentials
  • Effect - on collected item
  • Effect - behind collectable item

Sounds:

  • Switch activation sound
  • Switch valve activation sound
  • Open doors with wrench
  • Open doors with crowbar
  • Place battery
  • Princess open doors
  • Teleporter activate sound
  • On collected item

Write and implement:

  • Dialogues
  • Monologues
  • Cut scenes

Maybe:

  • Skip texts in a cut scene

Skip text in cut scenes could take a long time to develop if I decide to rearrange the whole cutscene control system which in fact uses three separate logics - dialogue, objects control (player objects for example) and camera control. All of those have their own time control.

Simpler way would be to just skip dialogues and the rest to reduce time accordingly, but that would not make the entire cut scene segment to be skiable.

I still need to think about it...

And I still have to make a lot of sounds! That's somewhat difficult for me, and always was - I start losing feeling for the sound if I'm tweaking it for a longer period of time. There is a mess in my head and I just don't know what I'm listening to any more.

I did a lot of sounds in my life but I would rather hire a professional to do that... once I get rich!

 

And that's all for now!

 

Thanks for reading and stay tuned!

Get Saving Princess of Mars

Leave a comment

Log in with itch.io to leave a comment.