a batch change from ship to self broke the thing that kept the player on
the screen. also spawn_goodie got missed in the migration to `_ENV` for
looking up stuff by name.
Vacuum Gambit is about to stop being a Tyrian clone. The hybrid of
Mega Man Battle Network and Slay the Spire mechanics lends itself better
to Galaga than Tyrian. updatedshmup.p8 remains an excellent basis for a
Tyrian-like shmup, especially since it has a (demo of a) level loading
engine that reads strings, and maybe I'll even implement something along
those lines someday -- but I'm about to tear it all down to build it up
again, starting with the entire model for levels and progress, followed
shortly by the "energy" system and its interaction with shields.
(long-term plan: shields will auto-recover after every "flotilla", but
health will be more difficult to recover. Player shots will be limited
entirely by ammo and cooldown, replacing the "burst throughput" vs.
"sustain throughput" system created by the generator, although some
enemy firing patterns may recreate that behavior.)
(plan for the "level" system: create Galaga-style flotillas. I think
ship behaviors can reasonably be declared in the 8 bits available in
sprite flags, meaning I can program simple enemies entirely from the
sprite sheet and draw flotillas on the map.)
marshaling through a table is a waste of time, the duplication betweeen
positive and negative thrust vectors is pointless, and pre-multiplying
thrust complicates "stay in a box" goals later on.
commit b91ebeb77533cfab26dc28ae2e94bfb9f5d92aab
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:33:00 2023 -0800
fix boss
it works now except for a square being drawn in the shield. good enough
commit ab687f8f6d501a5b46043830482a6f84cc418aca
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:23:29 2023 -0800
adjust spawning
now it runs for a little tiny bit!
commit bef95df6a132f36ccd0f82a4b22c51fffad201bd
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:18:20 2023 -0800
typo
commit 24435a3c1524d92f1d6c5ac0cf195592ba321d28
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:18:01 2023 -0800
move guns before ships
commit 0c3a36f1fddcafa8b515eb98e6d9b1dde861375c
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:15:34 2023 -0800
defer zap_gun creation until it exists
commit a39c419e5fadfc90866d16c3007898da601cbda2
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:13:51 2023 -0800
fix mknew
commit 9ef762268f3a9405fd06bf46f6f981781bf3566f
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 13:04:13 2023 -0800
many assorted syntax errors
commit e50f516b110d3d51d3a9adfa7f471b802ec9b801
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 12:00:34 2023 -0800
allow strings when spawning guns
commit f9e28fa0e280aa0a03dc3c53218699de609fc221
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 11:59:20 2023 -0800
fix missing paren
commit 38a054dec144c672ae58a4fe24ad325685953fcc
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 11:48:08 2023 -0800
candidate conversion to csv for level format
commit fd391ff3bc70276a2852f738bb9492eb5968d900
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 11:40:11 2023 -0800
use _ENV to get rid of level_events and spawns
commit fbd9f97429533684a7b0357855d74c7b23eb6bb5
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Wed Dec 20 11:33:59 2023 -0800
maybe fix the level parser
commit 2a61e8b5d6aba26cc6ab44c602bab867ac2bb9ad
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Sun Oct 15 21:09:12 2023 -0700
partial conversion to CSV-based levels, does not run yet
commit 4ccbe1dc3541d7317b9871c420c2dfadd36da73c
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Fri Oct 13 01:02:43 2023 -0700
okay honestly this all can and should just be CSVs
commit b536d2c9875b34300dd1e7c9f11345fd89f603df
Author: Kistaro Windrider <kistaro@gmail.com>
Date: Sun Oct 8 00:41:24 2023 -0700
base for representing a level as a string
avoids time rollover! not doing this for `distance` because I don't intend any level script to exceed five minutes, but freeze time could be much longer
linked lists don't have a measurable length. will use a persistent intangible for debug dumps in the future. `puke` however can be used at the CLI to dump a table. I need to write a `listpuke` variant too
`add` costs ten cycles. `push_back` isn't actually any better, but bury_the_dead can get pretty bad, especially for large arrays (like the bullets collections). also replacing the kill loop structure with the `strip` call removes a massive amount of code repetition that's costing me a lot of tokens. I think the final result is _probably_ actually slower because of function call overhead per iteration except when there are collisions on many frames; hopefully the headroom bought by the bucket collider is enough because I'm definitely going to need the tokens.