Reply To: Beginner programming advice for DOS?

Home › Forums › DOS Talk › DOS Development › Beginner programming advice for DOS? › Reply To: Beginner programming advice for DOS?


sorceress
Participant
#12497

I gave your game a try @TigerQuoll. It’s a good achievement! Congrats for completing it after 4 years!

I only tried the game in dosbox, so my experiences may not be as smooth as what you designed.

It has some Jet Set Willy vibes, with the grid of interconnected screens, each with it’s own name.

In the early stages there are lots of places where I couldn’t jump up, hearts I couldn’t reach, and then these doors I couldn’t unlock. I recalled you saying it was a metroidvania, so I guessed that unreachable/unlockable stuff was to be expected. But despite that I couldn’t help but wonder if I’d missed something important as I meandered unconfidently from one room to the next, only to be met with more stuff I couldn’t touch.

In a couple of places this meandering was a case of saying “ok, so we’re going down again… and there’s no way I’ll be able to get back up from here. I just hope I don’t get stuck.”

Related to this: The jump height is visually 2 squares, yet one cannot jump up 2 squares, and this often made me wonder if I was just missing some jumps by a margin. When I’ve made these kind of platformers in the past I’ve tried to make jump height 1.5 or 2.5 squares, so that it’s visually clear what you can/can’t make.

Anyway, I eventually discovered a room with springyboots, which made me feel that I must have been on the right path all along. But unfortunately I was unable to get back out, past the crab directly above. It was a bit of a trek each time having to go the the room to the left, then up, then right, then trying the escape. I’m sorry, but I gave up after about 10 attempts at that.

I’ll try another playthrough tomorrow.

Your graphics are beautifully drawn and animated, but I think it would have been nice to see a couple more colours in the environment, just to create some visual variation from one room to the next. But perhaps the teal/red/brown/grey would look too jarring in EGA alongside the blue, idk?

Oh yeah, I died many times due to the sticky key effect – where it continues walking onward or jumping into danger despite me releasing the keys!

It has been a while since I made real-time games in QB like this, but iirc, you can use INP() calls to get key_down events more reliably, but a dummy inkey$ at the end of each loop is semi-important to ensure that the key queue is in sync.

There’s example code here how to use INP() to create a keystate buffer — https://qb64.com/wiki/INP.html — you then only need to read from the buffer to implement a character controller.