|
Post by differentialgiraffe on Jul 10, 2024 16:58:42 GMT
Hello. I am proud to announce a new game only for the 48k, and for the 128k. It contains 17 screens, but I will fix bugs later and make a 128K version with loading screen, music, and major improvements, as well as creating a new MPAGD Project to improve.
Check it out here:
|
|
mas
Endorian Forest
![*](//storage.proboards.com/forum/images/stars/star.png) ![*](//storage.proboards.com/forum/images/stars/star.png)
Posts: 60
|
Post by mas on Jul 11, 2024 10:48:04 GMT
Hello. I am proud to announce a new game only for the 48k, and for the 128k. It contains 17 screens, but I will fix bugs later and make a 128K version with loading screen, music, and major improvements, as well as creating a new MPAGD Project to improve.
Check it out here:
It's looking good so far; it definitely has the gamegear / master system feel of Sonic to it, which is nice as those were the versions I played a lot more of.
For the "jumping up into a new screen" bits you might want to trigger the screen up a little earlier than the usual TOPEDGE - I think I usually have a bit in the player event that looks like:
;; I'll assume I know what topedge is meant to be - on a full screen it would be 0 ;; I will trigger screen move just before the topedge
IF 4 > Y IF CANGOUP SCREENUP LET Y = BOTTOMEDGE SUBTRACT 8 FROM Y
ENDIF ENDIF
You will have to use a platform block the other side (the sprite should be able to pass through the platform block from below, but will stand on top)
It looks like a couple of the underground screens are mis-aligned (so you walk left or right off screen and start the next one stuck in a wallblock) but that's an easy fix.
You might want to record the entry point for the player on each screen entry so you respawn in that place when a life is lost. (Basically you have 3 variables used to store player X, Y and one to trigger the code to store those. e.g.
in the gameinit event
A = 0 ; trigger for saving player X/Y, 0 = saved, 1 = need to save, 2 = reset to saved
B = 0 ; default for saving player X spawn point C = 0 ; default for saving player Y spawn point
in the playerevent
IF A = 1 ; new screen, save player position
LET B = X LET C = Y LET A = 0
ENDIF
IF A = 2 ; player died, put player back where they entered LET X = B LET Y = C LET A = 0 ENDIF
then when you have a SCREENLEFT/RIGHT/UP/DOWN you add
LET A = 1 ; record new X Y entrypoint
then, in the KILLPLAYER event, you can add after any routine to decrement lives,
LET A = 2 ; player deaded, respawn at previous X Y entry point
Good luck with the rest of it! M.
|
|