Seawolves C64: July 2023 Dev Update
Big month for Seawolves. Several systems that were in a half-finished state have come together, and the game is starting to feel like an actual game rather than a collection of tech demos stitched together with masking tape.
Universal Sound Effects Player
The SFX engine has been the main focus and it’s turned into something I’m genuinely proud of. This isn’t a simple “poke a frequency and let it decay” system. It’s a universal SFX player that supports multiple effect types across the SID’s three voices:
- Tremolo-echo on single channel — rapid amplitude modulation on one SID voice to simulate echo/reverb on explosions and impacts. Done by toggling the sustain level in the ADSR register ($D405/$D40C/$D413) at a rate tied to the frame counter. Sounds far richer than a flat decay
- Dual channel harmonics — two SID voices tuned to harmonic intervals, creating a pseudo-stereo effect on a mono chip. By detuning voice 2 slightly against voice 1, you get a natural chorusing that gives torpedoes and engine sounds genuine width and presence
- Dual channel synchronised and/or ring modulation — using the SID’s built-in sync and ring mod capabilities (bits 1 and 2 of $D404/$D40B/$D412) with both voices active. Ring mod on the SID produces metallic, bell-like tones that are perfect for sonar pings and ricochet effects. Combined with hard sync, you get aggressive, gritty textures for damage impacts
Scope Adjustment: 2 Players, Not 4
Originally I’d planned support for 1 to 4 simultaneous players. That’s been trimmed to 2. The reason is purely raster time. With 4 player submarines on screen, each with their own torpedo streams, wake effects, and collision detection, the frame budget was getting demolished. I was burning through the entire visible screen area just running game logic, leaving nothing for the visual effects that actually make the game look good. Two players gives me the headroom to keep the water distortion, the parallax ocean layers, and the SFX engine all running without compromise. Better to have two players in a polished game than four players in a stuttering mess.
Game Content
The numbers are firming up:
- 8 ocean settings — each with distinct colour palettes, current behaviour, and visibility conditions. Arctic waters play very differently from tropical shallows
- 14 enemy vessel types — destroyers, frigates, patrol boats, cargo ships, and more exotic threats at higher levels. Each has unique movement patterns and attack behaviours driven by data tables rather than hardcoded logic
- 4 civilian vessel types — these are the ones you’re not supposed to torpedo. Distinguishing friend from foe under time pressure is half the challenge
Real-Time Water Distortion
The water surface distortion is running in real time and it looks superb. This is a character-based ripple effect applied to the top portion of the play area, using rapid character ROM switching to cycle through pre-calculated distortion frames. It runs entirely during the top border and first few raster lines, so it costs zero time during the main game loop. The visual payoff is massive — it immediately sells the underwater atmosphere before the player has even pressed fire.
Release Plan
Digital edition first, cartridge later. I want to get this into people’s hands as soon as it’s ready rather than waiting months for physical production. The cartridge version will follow once the digital release has been through real-world testing and any last-minute issues have been ironed out.
See also: beta testing phase · post-release reflections · sprite positioning technology · June 2021 newsletter · Seawolves launch announcement