- Upon starting a level, hold reverse to escape :D
- 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.
That was fun. I love how the AI is both very simple but also creates interesting group movements (especially in "zombie modes"). Cosmetic enhancement: the ground plane looks really blurry half-way to the horizon. I can even see it in the README screenshot :D Looks to me like a textbook use case for anisotropic filtering, which should be a simple setting in the library you're using: https://en.wikipedia.org/wiki/Anisotropic_filtering
What a pro tip! This was an easy change; I've pushed it to the repo and will be out with the next release I put out later today. Any other suggestions you have I'd love to hear. (Incidentally; I set the anisotropy to 8 for that texture -- I liked some of the blur produced as it gives it a nice neon effect)
Neat! Smooth performance on my iPhone. The controls might need some tweaking in terms of values, like faster turning if I'm holding it down, but less if I'm tapping trying to line up a shot.
Glad it worked for you on the iPhone! I'd love to figure out how to resize the screen correctly if the phone is in portrait and then you rotate it to landscape
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.
It isn't a tank. It's a triangle. Tanks also don't have infinite ammo. We make concessions to unreality all the time in the name of making things more fun.
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.
And yet, this game was clearly intended to be a throback to old arcade games. And old arcade games like this typically modeled tanks (and didn't have strafing). Old arcade games also DID have loud music like this, and as I noted above the whole arcade was full of these competing sounds.
Almost completely unrelated but I have long wanted an in-browser/real-time/javascript/FOSS 'synthwave screensaver' in the style that you sometimes see on YouTube [0].
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.).
Very cool! Multiplayer could be a fun addition where players could choose to collaborate or could try to prevent other players from reaching future levels.
The warning idea could actually add to some of the suspense. Maybe a creepy sound they make within a certain radius? And: larger bullets? That's hands-down the easiest suggestion to try out I've ever seen! (as opposed to "multiplayer and wearables inventory woudl be cool bruh")
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.
I fully get it. Their seeking algo is pretty primitive, but their steady relentlessness is unnerving. At level 3 or higher there are green pads you can run over that gives you an overhead view
Spectre co-author here. Neat to see this! The backstory of Spectre is that we wrote a straight-up Battlezone clone just as a hobby project, then decided that it was worth commercializing and so we fiddled around just enough to make it not be a copyright violation. It's influences all the way down. :-)
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.
I did some contracting for Velocity on Spectre VR, back in the day (AWE32 sound driver), and have fond memories of working with Mike Lyons on that project .. we were astounded when we found a copy of the DOOM demo project on the Velocity BBS, uploaded by someone who said "you guys should check out this other multiplayer PC game that is going to eat your lunch" .. and yeah, we spent a lot of time playing that game, in between spotting "Whale or Submarine?" from the Embarcadero offices .. any chance you know what Mikes' up to these days? I lost contact with him when he went to work for Microsoft ..
One thing I remember fondly about Spectre (or one of its versions) is it coming with a first-person cyberpunk-style narrative about some protagonist character "rezzing" into the virtual tank world. As a kid, it was probably my first exposure to the genre, long before I came across Gibson. Is that story available online anywhere?
For the record, Neal Stephensons' "Snow Crash" was required reading at Velocity around the time of the Spectre VR release, I got my first copy of it directly from the general manager of Velocity at the time, he pulled it out of a box of them he had at hand ..
Best I can recall, that was written by someone at Velocity (the publisher, as discussed by boffinAudio's sibling comment). No idea where to find it online.
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...
It took some time to dig up, but this reminded me of Thunderstrike[0]
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
Such a fun lil' game to play! I would advice adding some OpenGraph data to your website header so sharing the link on (eg.) Discord doesn't look so plain.
If you're unsure what to add, just have it generated for you [0]
It'd be cool if it worked like the old arcade tank game: buttons control tread forward/reverse. Opposite directions spin you in place, same direction for forward/back, activate just one tread to travel in a circle.
The floaty things that award "ether" look familiar :)
Out of context that is an unsettling sentence! @zuminator is right: find all the yellow pads to advance to the next level. Level 2 is when enemy tanks come in
Could use some Doppler sounds to gauge the distance to enemies nearing by, like space invaders that used increased frequencies when danger level increases?
- 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.