How does this all work in Pulp?


Hello!

Thanks for following the project. In this devlog I'd like to showcase how Shadowgate PD works in Pulp. For those who don't know, Pulp is a web based development platform for Playdate akin to Bitsy and really more designed for top-down adventure style games so I'd like to explore how we've been pushing the boundaries to make Shadowgate (A first person, point-and-click adventure style game) work on the platform.

Where did it all begin?

I drew a door. Well, I drew a relatively decent  version of the first "room" outside of Castle Shadowgate (I'll explore how bad my artwork got and why I needed help in another dev log). I also created the HUD and started to explore how everything would fit nicely on the tiny Playdate screen. It looks like this:


So how does it work then?

As you can imagine, if the tool is made for top-down adventure games, that you'd need to start rethinking how this will work for first person. Firstly, the player is a cursor, a hand, simple enough. Normally (Because I am relatively a noob) I'd have the player interact with objects by walking into them, but in Shadowgate you want the opportunity for the player to be able to interact in different ways with lots of different tiles without having to bump into them or have to move round them. It works like this:

- Press A to bring up the action menu

- Select which action you'd like to use (Look, open, close, hit, speak etc)

- Apply that action to a specific tile

Below you can also see that when an option is selected, the "selected_option" variable becomes that option, ready to apply to a tile. If "selected_option" contains a value, then pressing A again applies that value to the tile at the player's current position.



Here's where we start to explore breaking the system...In order to be able to apply an action to a tile, we need to change any tile you can interact with into an "item" that you can't collect (So that the player can move over it and it can also hold interaction code). The selected_option is then applied to the tile and you either get A) The default response if a tailored option isn't available or B) The response of combining that action with that tile.

As an aside, it's really easy to accidentally leave out the "on collect do, end" code from an item and the player ends up collecting parts of the room. Just one of the many pains in this development process.


So that's how the basic systems work to allow for a first person point-and-click in a program designed for top-down games. You then get into moving between rooms, collecting items by swapping the tiles and updating variables, saving all changes in variables to create a save system and drawing items in the inventory so they can be used (I'm still working on this and will update another time).

Big thanks to orkn, scribe, Seven and the other cool folks in the Playdate Squad Discord who have been helping me when I break things. 

The game is now coming along nicely and I'm making my way room-by-room to make the game come to life! Still aiming for a 2024 release as I don't want to rush it and will keep updating here.

Thanks for reading!

Ollie

Comments

Log in with itch.io to leave a comment.

Ohhhh, an update, yaaaay! Very excited for this game 😊

(1 edit)

Thanks for tackling this project! I played the Gameboy Color version so much awhile back. It'll be surreal and so cool to play this on the Playdate!

(1 edit)

Very ingenious and interesting. Thank you! (and I love the font)

(+2)

Love this - such a creative use of Pulp!