Duckling Game 03 : The road so far


I've reached a mayor milestone, the next thing on my Trello board is building a first draft of the level-editor.. I'd be lying if I said I wasn't at least a little nervous about this one. It's been well over a decade since I built the last one and this time I've got to design it aswell.

The basic gameplay-loop is finished tho not final by a long shot. I've got Ideas for so many types of tiles, that could add interesting gameplay variation, but so far I've got:

  • Walkable = Standard Tile, walk on/walk off
  • Empty = Your portable hole-in-the-ground
  • Obstacle = No getting past this, gotta walk around
  • Hazard = It's a buzzsaw and you're a bunch of ducklings..
  • Start & End = Gotta go to and fro
  • Lock & Key = Pick up the key to unlock the.. lock
  • Duckling = Pick up a fellow duckling

Woven around this I've got the most basic trimmings of a game; A little UI to show who's turn it is and a death screen. What's under the hood is the most pleasing thing, to me, tho. Usually when I wanna test out a concept I just sprint through it as fast as I can bear, this time however I've taken my sweet time. 6 Weeks, I've worked on this since September and the most care and planning has gone into the architecture behind the visuals. Basically it's built like a chess engine. The logic is not strongly coupled with these graphics. 3D/2D, whatever.. just switch it out!
The only thing that's sort of wired in, right now, is the AI for the ducklings.

Another neat thing I built in is theming. The levels are assembled at runtime (only the instructions are stored) and as such can represent the logical game-pieces in any way. This way I don't have to serialize and store models, asset IDs or what-have-you; just the coordinates, the tile type and the level-theme. In future this will allow for seasonal specials and such but right now I need it for the campaign mode I've planned. Wanting to follow a highly abstracted and simplified hero's journey, it has to be represented visually in the levels, so.. themes. 

Something else quite neat right now, but probably gonna get scapped; is the serialization (saving/loading) of levels. This right here is what the 4th level looks like: 09EEEEWWWOOOWWWWEWWOEWEOEWWKWWWWWWWOOEWSWWEEEEELEEWWWEEETEEOWWEEEmppdddppppppuuu
It's a 9 tiles wide grid, each Tile type is represented by an uppercase letter, each move by a lowercase letter. I originally built it this way because I wanted to make it possible for people to just copy a string and send it so someone else/post it somewhere and people be able to copy/paste it and play it. My plans have changed since then tho: There are going to be decorations and I intend to make it possible to set tiles at different heights, add slopes, etc. So I'll need to think of another way of sharing levels then.


So next up is building an in-game level editor, that'll allow you to jump between editing and playing with the click of a button.. no big deal right?!

Leave a comment

Log in with itch.io to leave a comment.