Log In  

Cart #45674 | 2017-10-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

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!

Aaron Taecker-Wyss

P#45651 2017-10-30 19:53 ( Edited 2017-10-31 03:07)

pretty good, except x and z are not the face buttons on a pico-8 gamepad

P#45654 2017-10-30 20:20 ( Edited 2017-10-31 00:20)

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.

P#45658 2017-10-30 20:34 ( Edited 2017-10-31 00:34)

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.

P#45660 2017-10-30 20:44 ( Edited 2017-10-31 00:44)

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...

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.

P#45661 2017-10-30 20:55 ( Edited 2017-10-31 00:55)

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.

P#45665 2017-10-30 21:20 ( Edited 2017-10-31 01:21)

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 ;)

P#45682 2017-10-30 23:07 ( Edited 2017-10-31 03:11)

[Please log in to post a comment]