Parallaxian Update February 2023

Posted on

By Kodiak

Time for another Parallaxian WIP update!

I this blog post, I cover the following snippets of progress:

  • Ground object collision detection
  • Take-off and landing sequencers
  • Nozzle theory + rotation sequencer
  • Airbrakes theory + sequencer
  • Pilot actions out-of-cockpit
  • Colonist rescue sequencer
  • RAM issues
  • WIP clip (YouTube video)
  • Next steps

Ground Object Collision Detection

This was one of the easiest things to code in this project, purely because I just cut-and-pasted the fundamental detection routines for the airborne objects, made a few bespoke tweaks, and now the plane erupts in a fireball if it smashes into any solid metal ground object.

I still need to make the same thing happen if the player flies into the ground, but for now I want to hold off on that while I develop other low level features, as it could become very annoying to lack invincibility when testing and debugging those features.

We also have a nice earth-shaker effect - in full parallax, of course - for when the plane slams into any solid objects on the ground; prior to that feature, the sudden stop in acrolling was too jarring on the eyes, but now it's perfect.

Take-off and Landing Sequencers

I optimised and cleaned up the auto take-off sequencer and added a 100% new VTOL automatic landing service that kills the lift jets when it detects the ground (or the landing platform of the home base beneath the plane), so that the plane drops in freefall under gavity for the last few "metres" and relies on its brand new suspension effect to absorb the kinetic energy of the fall.

It works very well and allows the pilot to deplane with ease once he opens the canopy, but... I have decided I want a more manual feel to the landing and take-off processes, slightly more like the inertia-centric take-off in the hangar scene in Raid Over Moscow, but without the nightmare sense of losing control.

So, I intend to rework it again to bring it closer to the Choplifter feel when taking off and landing.

The suspension effect, meanwhile, is a personal favourite of mine and adds a real sense of physics to proceedings when the plane touches down.

Nozzle Theory + Rotation Sequencer

Hitherto in every WIP video of Parallaxian, I have shown the nozzle in a fixed lateral alignment but given that so much of the gameplay involves VTOL actions, it would have been remiss of me to just settle for showing the lift jets without showcasing the nozzle's variable geometry.

With that in mind, I have introduced rotating nozzles (as the YouTube clip below shows), controlled by the Figment's automated systems.

The gfx data is streamed-in on-the-fly via the game's main loop (no need to burden the interrupts with that work!) and modifies only a small region of the tail-end of the plane, as the schematic below depicts.

(The same principle applies to the airbrakes, landing gear (or "undercarriage" as we Brits prefer to term it) and canopy animations, allowing all of these systems to operate freely and independently of one another at minimal RAM overhead).

Examples of Parallaxian's gfx data stream-in principle

Airbrakes Theory + Sequencer

Following the same reasoning as that which applies to showing the nozzle rotations, I thought it imperative that the Figment's yaw-based agility should be underlined by drawing attention to its airbraking system.

And so for tail-sliding, when it pulls a 180 degree rotation around its yaw axis so that it can fire backwards while still moving forwards, it should have powerful double dorsal airbrakes (on the upper and lower surfaces of the fuselage), as the illustration below shows.

Parallaxian Airbrakes, etc.

Likewise, for the slow-down in normal forward flight, it should also have a ventral airbrake more akin to that found on conventional aircraft.

However, note for now that the ventral airbrake is the only one shown on the video clip, but I do intend to add the double dorsal shortly.

PS: If RAM permits, I would really like an engine failure mode as well, in which acrid smoke would be emitted by the engines as the player struggles to maintain control of his damaged plane.

Parallaxian Airbrakes Theory

Pilot Actions Out-of-Cockpit

It was always the plan that the pilot should be able to dismount from the Figment's cockpit and interact with the terrain, with a view to collecting items related to the mission.

I am tempted to say what those things might be, but I want to retain some mystery for the game's release so I'll say no more on that for now.

The pilot can presently disembark and roam about the surface of the planet, with a detection routine for ground objects and he has his own walking and leaping physics, based on the idea that he has a powerful exoskeleton suit enabling high leaps.

Should the piot be killed on one of his walkabouts, the player loses a "life", just as would be the case with a plane crash.

Colonist Rescue Sequencer

I mentioned Choplifter earlier and for good reason: a major aspect of Parallaxian's gameplay is Choplifter-style search-and-rescue but with some subtle differences:

  • In Parallaxian, you can only airlift one passenger at a time as the Figment is a two-seat aircraft, not a transport helicopter.
  • Some of the passengers are stranded colonists out in the open, hiding in the foliage or trapped and awaiting rescue.
  • If RAM permits, there should also be special forces operatives that you ferry around to guard important installations.

The sequencers for these things are pretty much complete and the video clip below demonstrates their typical functionality.

RAM Issues

Speaking of RAM issues, I have had to spend some time compressing everything down with a view to leaving more memory for additional features.

Whereas in the past I was fixated on saving CPU time, especially in the interrupts, now I have to find RAM-saving trade-offs, leading to the following considerations (among many):

  • I experimented with VSP for the foreground scroller to save RAM and CPU time in one fell swoop; however, maintaining a stable display there with all the cycle-stealing sprite interactions and the FLD for the vertical component of the parallax effect has made this an impractical solution, even with cycle-correction measures for the presence of sprites.... It's one of those "whack-a-mole" affairs, where you get one part right but it fouls up the rest.
  • Parallaxian has 4 different explosion sequencers: 1. The mega effect for the Figment, 2. The ground-burst effect when bombing tanks, etc., 3. The normal mid-air explosion and 4. The Hunter-Killer's own unique explosion. Sadly, the latter will have to be replaced with #3, at least on the C64 version, but can be retained for the C128 version.
  • The gauges in the panel zone at the foot of the screen are needlessly convoluted and could be redesigned to consume less RAM.
  • I need to stop being silly about the distant landscape and just make it a series of blocks instead of the current bloated mega-memory hog that it is; admittedly, I should have done that from the start, long ago!

WIP Clip (YouTube Video)

The YouTube video below showcases progress made in the past few weeks, albeit still in the form of a technical testbed rather than depciting the real-game world layout.

The "display circuit" in this clip features:

  • Nozzle rotation effect.
  • Seeking a colonist on the ground.
  • Rescuing colonist & returning to base.
  • A brief bombing run.
  • A dogfight with a Hunter-Killer drone.
  • Rescue of a second colonist & returning to base.
  • Deliberate crash into large transformer, to show ground collision detection is working.

What Comes Next

The next near-term items on my to-do list are:

  • Rework the controls as described to improve VTOL transitions and manoeuvring responses.
  • Refine and improve inertia effects.
  • Rework camera shifts / drift-back to make it feel more natural.
  • Rework the Hunter-Killer sequencer and add the homing missile capacity to it, as the same basic game logic applies to both.

Anyway, enjoy the update and feel free to let me know your thoughts by email or in the comments on the YouTube clip!


PS: Don't forget to check the home page regularly for more articles like this.

And of course, kindly subscribe to my YouTube channel!

Last of all, for additional short snippets of content, check out the posts on my Ko-fi page.


Help Make Parallaxian Happen!

...and get special perks!

Progress on Parallaxian has slowed down since summer 2021 for several reasons, one of which has been the very low level of support from the C64 scene which has made it difficult to continue justifying to my family the long hours of hard work a project as complex as this requires.

Now, I understand these are difficult times and I admit I am not entitled to any support at all, but it really does encourage me to continue developing this sensational game when you make a Paypal donation.

And as a special thank you, all who do this can enjoy the following perks:

  • Your name credited in the game (unless you opt out of it if you have the same kind of incognito hermit tendencies I do).
  • Access to the ongoing beta-testing of the game (unless you would prefer not to see it before its release date).
  • The finished game on media (e.g. cartridge) for FREE one week before its release.