Heliopause: 2D space exploration and combat for the pico-8!
- Revert minified source code
- Create an object class
- Original 2017 Release
You can also find this on github here.
(change style in options > mouse+music > control mode)
left, right - turn ship
up - thrust forward
down - point in the opposite direction of movement
z - open and close the pause/ship menu (use arrow keys to make selections]
x - fire weapon
Ship will rotate to face mouse cursor
right click thrusts forward
left click shoots
Tap and hold near the ship will rotate
Tap and hold far from the ship will thrust in that direction
- [x] Simple 2D Newtonian Flight Model - [x] Procedurally generated ships - [x] Procedurally generated planets - [x] 3D planet rotation (courtesy of gamax92) - [x] Simple autopilot - [x] Multicannons - [x] Explosions - [x] Ok AI - [x] Title screen (courtesy of EatMoreCheese) - [x] Homing missiles - [x] Off-screen targeting and missile impacts - [x] Better token optimization - [x] More planet types - [x] Shipyards - [x] Dogfights - [x] Sound Effects - [x] Music - [x] Gamepad, Mouse, or stylus control styles - [x] Configurable starfield graphics - [ ] Inventory with items and more weapons - [ ] Save games?
Out of date GIFs:
Defend your planet
Get blown up
Minimap and Overlay
Terran Planets (and more!)
@EatMoreCheese Sounds good! Whatever you can come up with for any or all of: title screen, ship engine sounds, weapons fire, explosions or music is much appreciated! The heliopause.p8 file you can use for development is on github here: https://github.com/AnthonyDiGirolamo/heliopause.pico-8/blob/master/heliopause.p8 Feel free to collaborate there or here whatever works for you.
Thanks! For the inability to move, my guess is your ship health was < 10%. At that point the engines are completely disabled. Between 10 and 20% the thrust will randomly cut-out. I should probably add a repair option in the landed menu or get rid of the complete engine failure.
For now you can give yourself a new ship anytime in the debug menu ( Options > Debug > New Ship ).
For sfx these would be great to have:
- laser fire
- laser impact
- missile launch
- missile impact
- missile reloading?
- engine firing
- ship explosion
- menu selection
- notification popup?
- low health warning?
Not sure if some are really necessary but that's what I could think of :-)
Update to v0.83. The code is no longer minified and is readable within pico8!
Getting the compressed size below 15k was rough. A lot of indentation was removed and variables renamed but everything is still readable.
Updated to v1.1 now with sfx, music, and mouse+stylus controls!
I'm a complete music noob and attempted to translate a song into the pico-8 world "Welcome to Lunar Industries" from The Moon soundrack. I'm not sure it fits but it was a great learning experience.
I got this error.
Runtime error line 451 tab 0
Attempt to index local ‘dest’ (a nil value)
In set_destination line 451 (tab 0)
In order line 482 (tab 0)
In follow_cur_order line 532 (tab 0)
In _update line 1844 (tab 0)
At line 0 (tab 0)
I had just set a pirate ship as my target and turned autopilot on
when the pirate ship exploded and this error appeared.
Thought I would take another stab at this, @anthonysavatar. I honestly cannot shoot anything. Either the enemies are traveling way too fast or I am no good at this.
Suggest the DOWN arrow key be like as they do for Star Trek The Next Generation for the NES where the map zooms elements.
That is if there are objects clustered near you, pressing DOWN will change from 1-4 different zoom levels. The default where if something is a mile away that counts as one pixel difference.
As from above you see the planet where it is from the ship and the rotation of the ship. If you changed zoom it would appear as if the planet were closer or farther away. By using the closest proximity zoom, you could easily track and trace nearby enemies.
Also maybe have an option to automatically face an enemy ship when in red alert (or if enemies are nearby) - and make it optional.
Failing all this has someone posted a Youtube video walkthrough ?
@dw817 great feedback! The controls are super hard. I was experimenting with having the ship auto slow down. Here's a test cart.
The other idea I had was to make the dpad just point you in the direction that you want to fly. Instead of having left/right steer like tank controls.
Here's the change for the above test
@dw817 zooming out would be cool. I'm not sure how to make it work in pico8 though.
I did port the game to love2d a while back and added zooming there. It's kinda crazy playing at 1x zoom on a big screen. Here's a screenshot: https://raw.githubusercontent.com/AnthonyDiGirolamo/heliopause.love2d/master/screenshots/landscape-zoom1x.png
The repo is here: https://github.com/AnthonyDiGirolamo/heliopause.love2d
For me to really play this, @anthonysavatar, it would have to at some level be turn-based or at least have the controls to automate a computer to accomplish tasks.
- Travel to nnn planet (slow, normal, emergency speed)
- Go to red alert and use onboard computer to (defend self, balanced, outmaneuver and escape, or all out destruction of currently attacking enemy vessels).
- Transport goods, beam up, beam down, etc.
- Steal from nearby freighter using a skeleton crew, etc.
- Communicate with nearby ships for information, commerce, or attention.
Naturally these would be met with terrible handicap as your game wants to be played at a user-control level. Yet for me I could 'grind' using the auto combat feature and be comfortable with that despite it taking 3x the game length or longer to accomplish goals.
... sometimes we just want to see the stars ... :)
[Please log in to post a comment]