Orkn's Pulp Devlog

It's been a little while, but progress on Lolife continues! The big news is that the game is now playable start to end without any major missing content. As this is a Pulp devlog, let's first talk about some of the more technical changes before looking at some new content.

Turn based mode improvements

Lolife lets the player toggle between "real time" and "turn based" gameplay. While it was working in principle, turn based mode previously felt a little slow and awkward, especially when out of combat. Alternating turns means after the player's turn there is a short delay for the entity turn, but this would happen even if there were no entities in the room or if any that were there were idle. Now the entity turn delay only happens if there are entities present who are moving or attacking the player. The result is much more intuitive, and it's the kind of thing players won't really notice (but they would have noticed had I left it how it was).

I've also doubled the speed of turns in turned based mode to make it effectively as fast as real time. This was just a small config change, but it makes a big difference to making it feel responsive and fun!

Loading multiple save slots

Lolife has multi-save support, something I got working early on to be easier to maintain. While this was working well, one shortcoming was that once loaded into a save game I would need to use fin (or have the player fully restart the game) to return to the main menu and load a different save. If I just used goto to return to the title screen and tried loading a different game, the game state wouldn't be fully reset because of tile swaps in rooms and some variables only being initialised on start.

While I haven't added the option for the player to quit back to the title screen (due to a lack of buttons and no access to the Playdate slide menu in Pulp), I did want to return the player to the title screen after beating the game, and I didn't want to use fin because of the limitations in how that would look (and the unnecessary delay of the entire game being restarted). To solve this I found all of the instances where I was swapping tiles based on progress flags and made them reversible.

For example a room script that was like this

on enter do
  if some_progress_flag==1 then
    tell x,y to
      swap "another tile"
    end
  end
end

now looks like this

on enter do
  if some_progress_flag==1 then
    tell x,y to
      swap "another tile"
    end
  else
    tell x,y to
      swap "original tile"
    end
  end
end

Now on beating the game the player is returned to the title screen instantly with goto and can continue, load a different save slot, or start a new game, and it should just work. I'm still considering if there is a nice way I can let the player quit back to the title screen on demand - maybe by docking the crank or double tapping B (and then asking for confirmation).

Dialogue menus

Lolife is an open world with "soft gates" between areas - barriers to progress that can be passed in a variety of ways, for example by collecting an optional item, fighting some enemies, or simply finding another more hidden path around. I don't really want to spoil many of the gates and the solutions (discovering those is a large part of the fun of the game) but I did want to show off this one room where the player wants to collect an optional key and can do so by either fighting the guards, sneaking around them, or giving the correct password (which varies - no spoilers here!). The guard dialogue combines a say and a menu to display the options as this gave me a lot more control than using ask.

lolife-key-fight
lolife-key-sneak
lolife-key-pass

Collectible orbs

While exploring the world of Lolife you might happen across these empty stone plinths. When inspected, each gives a clue to the location of a hidden orb. Smashing the corresponding orbs will return them to their pedestals. For what purpose, you will have to discover! Under the hood the orbs are implemented as entities like any others, just ones that do not move or attack. I added these optional, hidden collectibles as a means of filling out the world and making each area more dense with secrets to discover.

lolife-plinths

Cheat codes

There are cheats in Lolife! I won't reveal how many or how they might be discovered, but I did want to show off two in particular - enter the right codes on the title screen and you can play as Leit from Resonant Tale or The Choosed One from Initial Daydream!

There is a pcharacter variable that gets initialised as warrior (the default character) but is changed by the cheats. All of the player tiles are named like <pcharacter> <other stuff> so whenever I swap the player tile, I just start with {pcharacter} and it all just works!

lolife-cheat-characters

6 Likes