In-browser retro-futuristic tank game, open source
synthblast.com
synthblast.com
- Undocumented: [Shift] toggles between first person and top-down
- The camera tumbles endlessly if a perspective change finishes while the tab is unfocused -- I discovered both of these after using [Ctrl]+[Shift]+[Tab]
- The enemies have randomized speed and use lead pursuit; this is quite effective at preventing them from stacking up behind the player like they do in similar games
- Enemies only turn left and will turn all the way around in order to turn right -- you can make them dance in the middle of the map by circling clockwise along the wall, or stall them by moving back and forth
- It's pretty common to make players slide along walls when moving against them at an angle. That does make less sense for a tank, though.
Or if you're feeling hardcore, write a shader for the ground plane: https://iquilezles.org/articles/filterableprocedurals
const onResize = () => {
const { innerWidth: w, innerHeight: h } = window
camera.aspect = w / h
camera.updateProjectionMatrix()
renderer.setSize(w, h)
}
window.addEventListener('resize', onResize)so here's the github link to click on from HN: https://github.com/brianrisk/SYNTHBLAST
- Maybe a warning for tanks behind you? Felt overwhelming at times
- Maybe top down tile one level sooner?
- In top down mode maybe larger bullets
There was something sort of terrifying about the enemy tanks. Maybe a minimap would help with this, but I almost got Slenderman vibes when I would turn around and see a tank right there in front of my face. Got my heartrate going.
Also, maybe have the music fade in so I have a chance to save my ears. "Blast" indeed. :)
The sound is very reminiscent of the old video game arcades. Just about every game cabinet was pumping out some soundtrack and game sounds like this, so the entire place had a certain acoustic character which was very unique. I'd hate it now with my older sensitive ears, but as a kid it was a siren song.
And this isn't an arcade. It's a web page. It's a common courtesy to people visiting web pages to not get immediately blasted with sound at the high end of the range.
Better yet, check this article and implement some really high quality texture filtering: https://bgolus.medium.com/sharper-mipmapping-using-shader-ba...
Maybe I'll use your code as a baseline for it if I get the motivation.
In terms of actual feedback, the game itself has a lot going for it. I would, at the very least, add some 'juice' to it, which would probably add a lot. There are many videos on it but the most enlightening one I found was from Nijman of Vlambeer [1].
You might need to take care with literal screenshake as it's 3d but there are many other suggestions that are relevant (kick back from firing, enemy blood/armor splatter, detritus persistence, small variations in bullet direction, etc.).
This plus the macos app Plash makes for a sweet desktop wallpaper.
By complete coincidence, a friend of my co-author texted this photo from the Vintage Computer Festival today: https://photos.app.goo.gl/XTEUkjwtJb7nhQn7A
Thanks so much for Spectre, it's one of my absolute favourite games from my school days. I couldn't count the number of times we got after-school detention for sneaking into the Macintosh labs at lunch time to play Spectre. We taught ourselves to pick the lock on the lab door then locked ourselves in and played with the volume right down, usually only getting in trouble because of us laughing and egging each other on.
It's one of the big things that got me into computers in the first place, and holds a special place in my heart. Everyone else geeks out over SNES nostalgia but we were absolutely Spectre teens.
So, not Gibson, more than likely Stephenson...
I believe I still have an unopened boxed copy of the original game somewhere in the attic, I could break it out and scan it...
I couldn’t come up with the title. Thank you for reminding me.
You can play the original DOS version in-browser at MyAbandonWare which is a fun little nostalgia trip: https://www.myabandonware.com/game/spectre-vr-20h/play-20h
Controls are behaving strange with turning, sometimes it registers right away, sometimes it takes some time (like a whole second), sometimes it just ignores the key. Firefox, Windows.
If you want to add something then in no particular order:
clouds, especially for the top down view
small moving inertia
firing sounds, so it would be a slightly annoying to constantly press fire
borders for the outer area or wrap around the world
high score board at least for a session
once in a while (rnd 5-10 seconds?) make the bots change to a random direction, so they wouldn't pack after the player
[0] https://archive.org/details/msdos_Thunderstrike_1990 (be sure to check options -> misc)
I think a gentler, more wispy synthwave song would fit better, but this is certainly a subjective topic to opine on.
Well done!!
If you're unsure what to add, just have it generated for you [0]
The floaty things that award "ether" look familiar :)
Look for the Play link in the README.
Great job on the aesthetics!
( load twice to play )