Hacker News new | past | comments | ask | show | jobs | submit login
In-browser retro-futuristic tank game, open source (synthblast.com)
246 points by brianrisk on Aug 7, 2022 | hide | past | favorite | 62 comments



- 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.


You are one hell of an alpha tester! Are you up for opening an issue for the camera tumble? https://github.com/brianrisk/SYNTHBLAST/issues


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

Or if you're feeling hardcore, write a shader for the ground plane: https://iquilezles.org/articles/filterableprocedurals


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)



Perhaps Synthwave is a subset of Retro-Futurism? "...a blend of old-fashioned 'retro styles' with futuristic technology"


Pure javascript/html. Would love feedback on ideas. Leave a star on Github if you like it!


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


do you mean like this?

  const onResize = () => {
    const { innerWidth: w, innerHeight: h } = window
    camera.aspect = w / h
    camera.updateProjectionMatrix()
    renderer.setSize(w, h)
  }
  window.addEventListener('resize', onResize)


I know the github link is on the main screen, but people are going to click past it to play of course

so here's the github link to click on from HN: https://github.com/brianrisk/SYNTHBLAST


You're the best


Good fun! As a FPS player, I want an option to bind A and D to strafe and use mouse or arrow keys to turn.

Also, maybe have the music fade in so I have a chance to save my ears. "Blast" indeed. :)


But tanks can't usually strafe...

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.).

[0] https://www.youtube.com/watch?v=zgsJohwr9EQ

[1] https://www.youtube.com/watch?v=AJdEqssNZ-U


You're in luck: https://github.com/victorqribeiro/retroSynthwave

This plus the macos app Plash makes for a sweet desktop wallpaper.


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 floor desperately needs anisotropic texture filtering. Hopefully should be easy to turn on.

Better yet, check this article and implement some really high quality texture filtering: https://bgolus.medium.com/sharper-mipmapping-using-shader-ba...


A popular suggestion today! Done!


Great job!

- 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


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")


Very groovy visuals.

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


I'm really surprised how smooth the controls felt on my phone. Even with eight direction buttons, the movement was intuitive.



Oh Battlezone! I drew a lot of influence from the (way cooler than mine) '90s game Spectre: https://www.youtube.com/watch?v=t41bawPxF-g


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. :-)

By complete coincidence, a friend of my co-author texted this photo from the Vintage Computer Festival today: https://photos.app.goo.gl/XTEUkjwtJb7nhQn7A


I love who you find on HN.

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 ..

So, not Gibson, more than likely Stephenson...


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...


Battlezone (the 1998 version) was also a pretty good game for the time: https://de.wikipedia.org/wiki/Battlezone_(Computerspiel)


I've played so much Spectre and Spectre Supreme back then on my LC II :)


any Tanarus players here?


A blast from "Spectre" and "Spectre Supreme" :)


We played sooo much Spectre (and then Spectre VR) on the school Macs. From memory it even had local multiplayer via AppleTalk?

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


Spectre!

I couldn’t come up with the title. Thank you for reminding me.


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

[0] https://archive.org/details/msdos_Thunderstrike_1990 (be sure to check options -> misc)


This is great. I played Spectre and SpectreVR a ton as a kid. The 80s retro theme is a perfect fit.

I think a gentler, more wispy synthwave song would fit better, but this is certainly a subjective topic to opine on.

Well done!!


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]

[0]: https://smallseotools.com/open-graph-generator/


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 :)


Wow this has a ton in common with my port of the C64 game ENCOUNTER, https://github.com/air/encounter

Look for the Play link in the README.

Great job on the aesthetics!


why can't I find anyone to kill??


Stay inside the arena. Run over the yellow pads to clear the level.


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


Cool! Reminds me of Robotron 64: https://m.youtube.com/watch?v=NJtTB5DyAog


Wow it's like I'm back at Chuck E Cheese playing Cyber Sled.

https://youtu.be/pwF4A9oMrcQ


3D WALK game : https://free-visit.net/fr/demo01

( load twice to play )


Could use some Doppler sounds to gauge the distance to enemies nearing by, like space invaders that used increased frequencies when danger level increases?


Super fun, and the 80s retro look is spot on. The sun reminds me of a logo from that era, but I can't remember the company or organization.


This brings back memories of some game I played on my Mac ages ago that was 2d top down and you were tanks against other tanks


As an avid BZFlag player I of course like it. It seems to me it could grow into something interesting. Multiplayer maybe?


Yeah, great BZFlag vibes over there. How is BZFlag these days?


The game is pretty much the same compared for example to the early 2K; now there are lot less players and teams, but it's still a lot of fun.


The green pads was a neat twist.


Kind of made me motion sick. Could be a side effect of getting old.


That reminds me of spectre supreme! Good times.


Wonderful, and it worked on my iPhone. Thanks!


Pretty cool!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: