Log In  

Cart #xvst-0 | 2020-02-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Be a X-Wing pilot!

Take a seat in the most advanced fighter of the galaxy. Fight against the evil empire!
Use proton torpedo to quickly dismiss enemy forces or your 4 blasters (aiming skill required).
Go through 4 epic missions, from space to Deathstar and back.

Flight Manual

Copyright Notice

Starwars logo/music/... credits to their respective owners. Don't sue me :/

Dev Log

This is a demake of the X68000 Attack of the Deathstar game, (kind of) complete with space/ground/trench missions.
This version departs from the original with a less arcade/grinding gameplay.

The un-minified version can be found (as usual) on my Github page (includes all 3d assets).

Tie Fighters

All flying NPCs are following boids behavior (seek, avoid, follow) and are really a blast to watch in pack (imho)!
Baddies will try to get on your six to fry good old r2d2 :/

Proton Torpedo

Proton flight path is following Proportional Navigation rules. Gives a nice interception path (and the math is cool :)

3d Engine

Engine is a edge renderer (wireframe only as you certainly noticed!). It supports faces with an arbitrary number of edges to reduce visual cluter and achieve good performance.

Face culling is using object-space culling, the normal.point constant is pre-calculated when model is loaded.

Quaternions functions ported from ThreeJS.

3d Sound

(sort of...) Sound volume is changed at runtime according to sound emitter location, using the PICO-8 "feature" that sfx can be modified without impacting currently playing sound.
Note: sfx 63 is reserved for that use.

Software Pipeline

3d assets are modeled in Blender, exported in sprite/map format using a Python exporter .

Models are unpacked from spritesheet/map memory at startup and made available in a global table.

All game data are expressed as JSON strings, supporting references to global functions. Ex:

local player=json_parse('{"x":0,"y":0,"update":"update_player"}')
-- works!

Mini json parser from Tyler Neylon: lua JSON parser

Code is minified using picotool.
Music lifted from "public" MIDI files, simplified and converted with midi2pico.



  • Initial public version
  • Bug: not able to restart after gameover (will be fixed soon)


  • change: redone control scheme (flat turn, optional roll)
  • change: removed boost
  • change: laser auto lock
  • change: difficulty curve
  • fixed: NPC flight AI
  • fixed: torpedo aiming


  • added: menu to switch view
  • changed: turret & tie fire lead (+ random chance to miss)
  • changed: tie fighter difficulty ramp up
  • fixed: random hit on NPC (distance function overflow)
  • fixed: reworked trench to keep 60 fps
  • removed: in-game help


  • changed: reduced tie hit points
  • changed: increased tie damage
P#53727 2018-06-23 09:45 ( Edited 2020-02-21 11:22)

Strewth this is rad, zooming in and out of the ship is the best thing ever

Lots of fun, can't wait to see how this progresses :D

P#53731 2018-06-23 11:55 ( Edited 2018-06-23 15:55)

It feels next to impossible to get the TIE fighters in front of me to shoot them...

P#53757 2018-06-24 11:07 ( Edited 2018-06-24 15:07)

Point taken - I wanted a dogfight style game but lasers might feel under powered.

Note: boost gives also a turn speed advantage. Use that to out maneuver TIEs.

P#53771 2018-06-24 16:02 ( Edited 2018-06-24 20:02)

Even with boost it feels ridiculously difficult to get TIEs in front of me. Like, last-level-of-the-entire-game difficult.

Have you sat a fresh player down with this and watched them play it, without giving them advice? You might not be your own best focus group due to familiarity and practice.

Looks really good, btw. It's just balance I think is off.

P#53784 2018-06-25 02:04 ( Edited 2018-06-25 06:18)

Really love those 3D models!

Game looks great but I too couldn't manage to get the TIE into the crosshair...

I'd also consider playing around with some slight control inertia to improve the "feel".

P#53787 2018-06-25 04:20 ( Edited 2018-06-25 08:20)

Yeah I really wanted to see more because the GIFs and graphics look amazing but after like 10 minutes I glimpsed at the first ti-fighter like twice, let alone actually get the thing in the crosshairs. Tried just ignoring it and flying straight to the deathstar but it didn't get any closer :(

P#53788 2018-06-25 05:37 ( Edited 2018-06-25 09:37)

@Davbo nice try but I am actually quite proud of my mission engine that won’t ‘activate’ the deathstar unless you kill enough fighters!
(that and the relative activation bubble)

@All ok ok I’ll downgrade the TIE skills to ‘out of flying school’ level ;)

P#53790 2018-06-25 06:23 ( Edited 2018-06-25 10:23)

Just tried again, for the heck of it.

Honestly, I have a hard time believing that even you, as the dev who knows the code inside and out, can consistently and successfully get the TIEs on screen long enough to shoot them.

I wonder if it's a web player thing. Have you played it on the BBS? I'm telling you, I know my reflexes are poor, but I also know it's nigh impossible even if I account for that.

It seems like either you're pulling our leg or there's something amiss between your dev environment and our experience if you think you have to dumb down the TIE fighters all the way to "fresh out of flight school" mode to make it playable for us. Something seems off about that, like we're not playing the same game.

I'd love to see a video of you playing it as it is right now.

P#53795 2018-06-25 07:58 ( Edited 2018-06-25 12:09)

I'm afraid I have to second this - I got, like, one hit successfully on a TIE and couldn't destroy any! They're just too fast and are not within my view cone long enough to hit.
Whilst the left/right rolling is neat and is nice to have, I think you might be better served by having left/right linked to yaw rather than roll as roll in conjunction with pitch is nigh-on impossible to keep the TIEs within your view long enough to hit even if you can anticipate where they're going.

Just a thought - gameplay issues aside, it's a tremendous technical achievement.

P#53796 2018-06-25 09:01 ( Edited 2018-06-25 13:01)

This is so cool! I love the little dialogue/avatars at the top of the screen! :>

I agree with what others have said about the difficulty in the first part. I did get to the second part a couple times (only to get shot down pretty quickly by the turrets), but only by mostly using proton torpedoes since I could rarely get the TIEs in front of me long enough to hit them with lasers, which felt wrong to me, someone who plays a lot of the Starfighter Assault mode in Star Wars Battlefront II and is usually pretty good at hitting ships with lasers, based on the match scoreboards :) Maybe it would be easier if they flew in straight lines more often...?

It also helped a bit when I read what you wrote in a response about boost making you turn faster, but that's not at all what I would expect from a "boost" button, i.e. usually ships turn more slowly if they are going faster (which is what I would expect "boost" to do) so I didn't find that intuitive without explicitly reading that it does that.

Another thing that would be nice is if the exterior/interior view could be changed via a menu entry, so you can still control that (albeit requiring a pause) while using a gamepad. This is especially important because it's easier (I find) to track/chase the TIEs in the third-person camera mode because you get a wider field of view, so if you don't have a way to enter that view, it effectively makes the game more difficult.

P#53810 2018-06-25 17:37 ( Edited 2018-06-25 21:37)

WOW! Awesome! Great music too! This is a very neat game/simulation. I saw some people complaining about the tie fighters being hard to hit but I think that they need to see the movies. They weren't too hard for me to hit either.

P#53811 2018-06-25 18:32 ( Edited 2018-06-25 22:32)

This looks really cool, but I wish I understood better how to play at all. Every time I try to play, I have a game over in roughly 10 seconds and haven't seen a single tie fighter. Haha.

P#53818 2018-06-26 14:38 ( Edited 2018-06-26 18:38)

I can't even begin to fathom the maths behind this! Very impressive, well done.

P#53827 2018-06-26 17:01 ( Edited 2018-06-26 21:01)

Sweet. I'd been looking forward to update to this. You've done a good job of improving an already great game.

I like the new control scheme, it's surprising how such a small thing really changes the feel of the game. Just generally with all the tweaks you've made, I think you've got it to a good point where it's easy to jump in and start playing for the first time, but the difficulty ramp keeps it fun.

I could just be the visual of seeing the reticle jump to the target, but the aiming lock-on seems like it happens from bit too far away to me. Then again, I didn't find the tie fighters that hard to hit in the first version.

P#54098 2018-07-12 07:05 ( Edited 2018-07-12 11:05)

Just had a quick shot but v 1.1 plays sooo much better!! Very exciting when you see the lock on occur. Great improvement.

P#54102 2018-07-12 11:33 ( Edited 2018-07-12 15:33)

i hadnt logged in in months, but i saw this on twitter and i had to just to star/heart this. its amazing

P#54108 2018-07-12 14:14 ( Edited 2018-07-12 18:14)

Thanks guys!
note: I cannot check right now but 3d sound is likely broken.

@Davbo: the lock signals you can launch a proton torpedo - dunno if you find out, the lock time is rather short (and difficult to keep)

@paranoid: I was initially aiming for a simulator kind of game, hence the initial pitch/roll flight control.

P#54111 2018-07-12 16:12 ( Edited 2018-07-12 20:14)

Can't find the alternate ending yet... But I love the improvements to the controls. I wish the friendly NPC fighters would at least try to evade enemy fire.

P#54539 2018-07-30 20:11 ( Edited 2018-07-31 00:11)

I found a bug, where if you fire in any direction other than at the tie fighters they sometimes blow up/self destruct.

As in this image.

P#54680 2018-08-04 11:55 ( Edited 2018-08-04 15:55)

Thanks for the bug report - certainly linked to overflow.

Other known bug: during the last mission,no spoil tie might escape before you can do anything.

I’ll publish a new version pbly next week and call the game complete.

P#54689 2018-08-04 17:32 ( Edited 2018-08-04 21:32)

I'm not sure if it's updated yet or not, but it was okay for me to destroy TIEs. It was challenging, yes. It wouldnt be fun enough it was easier.

I died when trying to destroy the shield generators, navigation was a bit tricky at that point.

P#55987 2018-08-31 21:51 ( Edited 2018-09-01 01:51)

Point taken about it's difficult to get the Tie-Fighter in the target area.

Consider this classic game. Note that once the Tie-Fighter is in the target, "LOCKED!" they stay there until shot.


P#55988 2018-08-31 22:13 ( Edited 2018-09-01 02:13)

@dw187: not sure I want to reproduce such cheesy gameplay :/ The initial game that triggered that demake is already bad enough gameplay wise.

The lock is temporary on purpose as the proton torpedo won’t miss (the maths behind are >> tie AI!!).

@Mustafa the Deathstar part is now much more challenging. Turret have a 80% chance of direct hit - keep moving!!

P#55994 2018-09-01 02:23 ( Edited 2018-09-01 06:23)

I just finished the game (hadn't tried since 1.0; I like the control changes!) and it was very cool! Nice job! I love the surprise fourth mission :>

I think I found a bug though :O There was a point during I think the third mission where my proton torpedoes stopped working. I had four green circles (which seems to be the torpedo count?) but I couldn't get them to fire at all, for the rest of the game. (I know you can only fire them during lock-on, and it was working properly in the first two missions). I was still able to roll when holding O though, so I know the button on my gamepad was working. I was afraid the lack of torpedoes would be a big problem for the exhaust port, but it turns out lasers still work there apparently :D so I was still able to finish the game.

P#56142 2018-09-03 19:02 ( Edited 2018-09-03 23:03)

Well, not the graphics, Freds. Keep the awesome 3D, no just the target lock - I thought it was pretty neat to find that in a shooter. Maybe an option for it, so purists can still do it the hard way. :)

P#56143 2018-09-03 19:14 ( Edited 2018-09-03 23:49)

I had the "cannot fire" bug happen too, during the second mission(spent too much time trying to blow up defenses I guess)

P#56145 2018-09-03 19:36 ( Edited 2018-09-03 23:36)

re-torpedo bug: sounds possible the way I handle timers. I’ll have a look. Tks

@All: I can easily allow torpedoes to be fired as soon as lock is acquired, in exchange of a longer refill time :] I’ll playtest that.

P#56151 2018-09-04 01:40 ( Edited 2018-09-04 06:28)

I've had the "Cannot fire" bug happen 3 times in the middle of picking off turrits and green things (are those the shield generators) while on the surface of the death star. The first two times I thought I had been taking damage, so maybe it was caused by some strange death state, like being deader than 0 life, but the last time that happened I was at full shield, full heath, my guns just shut off.

Could it be a problem with playing in Chrome?

P#56164 2018-09-04 13:14 ( Edited 2018-09-04 17:14)

@joe The green thing are just Deathstar junk. You probably missed the 'entry' waypoint that unlocks the actual mission generators (a trick required as the Deathstar is not really at scale!).

Note: most players are shooting turrets even if it is not a mission objective :)

Edit: this is indeed a timer bug - you have 32767 frames to finish the game (e.g. ~9 minutes) !!

P#56167 2018-09-04 14:30 ( Edited 2018-09-04 20:35)

haha that explains it; I indeed took a really long time flying around the death star :)

P#56180 2018-09-04 17:11 ( Edited 2018-09-04 21:11)

Does anyone know why you get a ton of the friendly fighters sometimes? Usually there is just one or two, but sometimes I get five friendly fighters in a row and then they just annihilate the few TIE fighters that spawn in. Does this have something to do with the alternate ending?

P#58105 2018-10-18 15:05 ( Edited 2018-10-18 19:05)

ahah never had this situation! You get something like a 60% chance of friendly X-Wing spawn per wave.
Well, at least you are not alone in space :)
note: there is no more an alternate ending - token count shot him in the back. nasty.

P#58118 2018-10-18 17:17 ( Edited 2018-10-18 21:18)

Absolutely loved it.

P#70173 2019-11-23 22:51

thanks - how far did you go?

P#70183 2019-11-24 07:22

Absolutely incredible, the last fight took me a while. The camera is incredible. In this cart we have a incredible Star Wars game (I repeat myself too much)

P#73254 2020-02-19 19:07

Thanks - the last Tie is indeed quite beefy, but you are not alone ;)

P#73314 2020-02-21 11:21

This was amazing! super fun and pretty challenging

P#74747 2020-04-14 17:23

Thanks - the rebellion needs good pilots!

P#74753 2020-04-14 20:37

Good job!!!

I try to add mouse support:
At line 1243 in "function _init()" add

poke(0x5f2d, 1)

At line 977 modify:

if(btn(0)) roll=1 input=true
if(btn(1)) roll=-1 input=true
if(btn(2)) pitch=-1
if(btn(3)) pitch=1


if (stat(32)<= 50) roll=1 input=true
if (stat(32)>= 80) roll=-1 input=true
if (stat(33)<=50 ) pitch=1
if (stat(33)>=80 ) pitch=-1

Work but with button is better.

P#74987 2020-04-19 17:38

Neat but given I cannot capture the mouse, very rapidly the mouse is outside pico8 window (and player is lost!).

P#75027 2020-04-20 08:09

This is excellent. Would love to see a scoring system / hi-score table added to it at some point.

P#77468 2020-06-01 00:38

Incredible demake, thanks

P#84049 2020-11-09 17:19

I'm a huge fan of Star Wars and am super proud of this! Once I got a hang of the controls, I felt like Luke Skywalker in Episode 4!

P#85199 2020-12-09 18:00

Hehe - thanks :]

P#85490 2020-12-16 20:09

This was SO rad!

P#85510 2020-12-17 06:17

BIG FAN! i'd like a full game on this (like star wars squadrons just more in this style).

after 10 minutes I got the controls and now it is definitely one of my favorite pico-8 games if not even the best.

P#87746 2021-02-16 07:08

LOVE IT!!! amazing. not done yet tho. Hitting the TIEs seems fine to me, once you see what direction they're going in...

P#87767 2021-02-16 19:26

does the r2 d2 morse code thing say something?

P#92690 2021-05-27 18:41

nope - I am not at this level of meta!

P#92692 2021-05-27 19:14

[Please log in to post a comment]