Dark Ship Dev Log

This is the second post of a daily catchup on my dev progress. From week 5 it’ll drop to once a week, promise.

Major Developments

Tilemaps

Got tilemaps working with the dual grid system. The tilemap is an existing asset which had to be broken down and rearranged to make the dual grid system work, but this meant fewer unique tiles were required.

Player Movement

Player character and movement. Copying across the jetpack behaviour from an old prototype helped speed things up. The movement still needs some refinement

Death Line

Created the death line and got it to move properly. Very “developer art” but it works

Lessons Learned

Pulled a late night and burned out the next day. Lesson learned. Respect my working hours and screen time limits.

State of the Game

  • Possible to play a level all the way through while being chased by the death line.
  • Map resets on player death
  • Map can be scaled up but some concerns over performance when size approaches 32x256 tiles
  • All seeds appear to be playable
  • Bridges and ledges are placed properly
  • It’s fun being chased across a large and unknown map
2 Likes

You can watch the gameplay video via my Reddit post
https://www.reddit.com/r/gdevelop/comments/1q5p7dw/dark_ship_dev_log_week_2_tilemaps_and_first/

1 Like

Hey!
I would recommend making a “Megathread” if you want to stay a bit more organized with your posts. I myself have a Megathread where I post about all the new updates to my templates. :smile:

This way, all of your Dev Logs would be in one spot!

2 Likes

Yeah, I couldn’t find anything I could judge the local etiquette from. I tried to change the title of the first post and it was fixed so I couldn’t easily convert it. TBH, this is my first time dev logging so your advice is appreciated.

2 Likes

Hello @Dw00k!

Me who loves platformer games, i am admirative of your game!

I like very much the halo of light which appears at certain times when the player is moving.

Trully, i appreciate your work and am impatient to see more.

Good job!

A+
Xierra

1 Like

As long as your post is in the Devlog category, you should be able to edit it as many times as you want :smile:

1 Like

Looks like I can edit the text, but not the title? If I’m missing something then let me know, I’m knee deep in data modelling and version control setup so I’m a bit frazzled!

1 Like

You should be able to edit the title…that’s pretty weird.

I guess you can always PM me to edit the title for you, as I’m TL3 and can do so :smile: (Or any other TL3)

That is very strange that you can’t though :confused:

1 Like

@Dw00k , maybe its coz ur a basic, but im just guessing.
heres how :
step one click pencil button.


then change whatever u want

9th January 2026 - Week 5

Major Developments

Pickup placement

I managed to completely rework the pickup placement. It is now easily extensible as it is data independent, looping over all values present and not requiring any static conditions or events. Hopefully this same technique should carry through the placement of enemies (on the roadmap)

Small Art Progress

The deathline animations are now a bit more interesting. There are now tilemaps and layers for the map background, and player fore, middle and background. This makes it easier to put the player “in” the map and to add visual elements. Some minor tweaks to the tilemaps to test this out.

Data Loading Approach

I want to be able to manage all of the game data in a spreadsheet as this is an easy place to make changes and understand what is going on. It seems that GDevelop doesn’t really have the native tools to make bulk data editing possible so here’s my new workflow:

  1. Create the data in a spreadsheet
  2. Export the spreadsheet to CSV
  3. Use a CSV to JSON convertor (https://jsoneditoronline.org/)
  4. Copy the compacted JSON to a global string variable in my game
  5. Load the JSON from the string into the target array

Version Control

Implemented version control through Diversion. This seems easier to use on a day to day basis that Git and GitHub

Data driven game loop

The game can now be “played” from the beginning

  • Data loads from the JSOn strings
  • Player can select a ship and rank
  • The correct config data is loaded into a level (times, size etc)
  • The player can complete the level
  • Sector/Room values increment and the player loops through the workshop to the next room
  • On completing the ship the player unlocks the next rank
2 Likes

16th January 2026 - Week 6

Major Developments

Player Finite State Machine

Player dynamics have been moved to a specific Finite State Machine with external events. Gives much more control over the more complex parts of the player behaviour around the jetpack and cuts a bunch of code out of the main gameplay scene. It should also make the entrance, exit and death processes easier to manage.

Data Management

Importing of the core data, copying it the the player profile and then using the player data to create a run specific data set. This allows for locked items to be excluded from a run.

Workshop Rough Pass

The Workshop is where the player will purchase upgrades between runs. It can now generate equipment and gacha cards, select their type and rarity and place them in the correct areas of the screen. The equipment will respect rules around not showing duplicates of existing equipment.

Lessons Learned

If your events are getting more and more complex it is probably a sign that you have missed something obvious. It’s worth working through the mess to get to a better and simpler solution.

Don’t be afraid to spend time drawing things out. It’s tempting to be 100% in the code but you need that helicopter view from time to time. Even 5 minutes with a pencil and paper can be valuable.

State of the Game

A lot of background progress with not much new appearing on the front end. Annoyingly the Player FSM was 3 days of work to be visually identical to before. On the plus side, the game is now far more solid on the back end.