my 3cJam submission, and my 1st PICO-8 release ^-^
- 3D shmup (ie space harrier, starfox, etc)
- 10 distinct enemy types. Can you find them all??
- Deep scoring system :^0
plz tweet @ me your highscores!
@taeckerwyss
Aaron Taecker-Wyss
pretty good, except x and z are not the face buttons on a pico-8 gamepad
Dude, this is spot on...spot on of what, I'm not sure, but it just plays great.
Not sure what's at the end but hope you continue with this track with a sequel or just adding more to this game. I know it was a jam entry so it had a deadline.
I'm gonna port this one to my web player so I can play it on the phone.
For what it's worth, I'd maybe suggest adding an auto-fire option. If not on the title screen then in the pause menu.
@VgBlade
Thanks. I considered using the (X) and (O) icons instead of z and x (mostly cuz they look so much nicer haha), but I got worried that people unfamiliar with P8 wont know what key to press...
@morningtoast
thanks :)
I'm not planning on working on it much more, since I have a main project I have to get back to lol
I may tweak/ re-balance things in the future though, depending on feedback n stuff.
Well...I went ahead and made my own copy of it phone-able. Lot of fun, man. :)
And now you got me thinking how to use this to make my own Harrier-like game.
Sweet! I would love to see someone adapt this 'engine' for their own game.
To explain my method for perspective:
> to get screenspace coordinates for drawing stuff, I first use ztoscalar(z) to convert a z coordinate to a scalar. Then I use that scalar as the 'z' variable in xcoord(x,z), ycoord(y,z), and getscale(r,z) to convert worldspace x/y/scale values to screenspace
> zsorted objects use drawcirc() or drawsspr(), which perform the transformations to screen space. But rather than calling sspr() or circ() at the end, they load all those parameters into a table. That table also gets a z value for sorting, and a tag indicating which draw function to use (eg sspr, circ, etc). At the end of the draw cycle, all those tables are sorted by zsort() and drawn in order by drawtodraw()
x coordinates CENTER on zero, so u go -64 to 64 instead of 0-128
y coordinates go UP from the ground.
z coordinates are 0-100, near to far, and are not 1:1 proportional to x/y coordinates (sorry)
worldspace coordinates are always the center of the object, for both drawing and collision. So a Y of 0 means halfway clipping through the floor
P.S. I updated the game so now u get an extra life with each level you beat ;)
[Please log in to post a comment]