I'm probably showing my age, but I'm just at awe what is possible in a browser in this day and age. Well done, OP. I'd love a hashed out, full length version of this, but with the same vector graphics.
I mean, WebGL was released in 2011, so this kind of thing was possible for like 13 years. If you go back once again as much, to 1998, the web has barely existed back then.
There were things, like Epic Citadel, a full port of Unreal Engine to the browser (using asm.js, a technique of compiling assembly to Javascript) a decade ago:
Played on Chrome on my Android phone in portrait mode, and the whole game I felt it was too zoomed in.
I was suspicious of that AI the whole time. Like, did it get sent into this asteroid field on purpose to destroy it because it was a threat? Were there other unconscious passengers locked in those rooms and if I died following some risky instruction would it simply wake the next one up? How could it practically see through my eyes and would I turn out to be an automated drone?
Would have liked a bit more subplot to explore. Eg. Fix the spinning satellite to utilize the Comms station. Gain access to the third floor in the lift. Poke around the AI control room to uncover sabotage.
Maybe I just missed some discoveries on my playthrough.
All valid points, and I completely agree that the narrative could have a bit more depth to it. I really wish there were more puzzles to solve. However, at the end of the day, we had to keep the scope under control, which was already quite large for a two-person team.
Congrats on shipping! I enjoyed my playthrough. I suspect it's the perfect length for blowing up on HN, since there's an emotional payoff for completing the game and if it were any longer, less people would complete it.
I also found the AI suspicious for a different reason. That is that it has its own agenda and is using me to do what it is not allowed to do. For some reason, the AI is not able to initiate a hyperspace jump, cannot bypass access, but can maneuver the ship through an asteroid field. As if it was not completely trusted.
And now, everyone else is gone, and I am getting ordered around by an AI, maybe because the AI considered me the easiest one to manipulate, maybe the AI deliberately entered the asteroid field to that goal.
Edit:
And I don't think the game really needs more content. It is not a big budget AAA production after all. What it could benefit from however is maybe some hints to something bigger. Things like personal items, messages on screen, maps, ads, writings on the wall, etc... It doesn't have to connect to a big story, but just hint that there is something, even if it is all bluff.
The AI gave me the vibes of Umbrella Corporation, they are randomly kidnapping humans and replacing their recent memories with memories of this journey and testing the human behavior and competence through these subjects
I've found that `localStorage.mouseSensivity = 4` (the default max is 1) seems to set it to about the right amount. However mouse movement is now very jumpy. It seems that individual mouse events are visible and mouse acceleration curves cause very unpleasant behaviour.
Maybe it is something to a high resolution screen, so one CSS pixel is actually quite large?
3840x2160 with 150% Scaling, Firefox on Wayland (KDE) on Arch Linux.
Somehow, the mouse is not just slow but has a hard downtrend. After swiping 5 times left to right and back again. I look at my feet. The downtrend increases with higher mouse sensitivity.
Thank you! Yes, making it available on mobile devices was one of our priorities from the start (even though the desktop experience remains the best one).
Phones do tend to heat up when rendering complex WebGL applications.
I played through on my phone (Android) too and it was very smooth, suprisingly it didn't seem to cause significant battery drain or overheating - it performed really well.
Some people are more comfortable with mouse inversion, that is also my case; I read years ago somewhere that it is subjective and depends on how we "see" the scene in our brain, like 1st person or projected 3rd person (or something similar, don't take my words to the letter) anyway the number of people that would find games without mouse inversion next to unplayable is very high, therefore adding the option makes sense, and many games in fact have it.
I got used to normal look controls with practice but lots of 2005ish console games have inverted controls as defaults. I started a playthrough of The Legend of Zelda: Twilight Princess on Gamecube to find that is has inverted left/right camera controls as the default. Also, GoldenEye 007 for the N64 has inverted up/down camera controls (if I remember correctly). If you're a certain age, you lived through a time when there was not an accepted default control scheme so console games just picked defaults and moved on. We got used to those defaults. There was a period of time where choice of selection of up/down inversion was seen as a must-have to even play a game (multiplayer split screen) and zero discussion or complaints would arise over 2-3 minutes of everyone (all 4 of us) setting their controls after every console reset. Eventually non-inverted controls became the accepted default. This likely happened during a time that many of us gamed less so we might not have the muscle memory of relearning the new defaults. That's my experience on the whole thing anyway.
i always thought it was people of a certain age who required inversion (i include myself here) because the first 3d games were flight sims, so pulling back on stick/down goes up etc.
At least for me, I've always associated preferring mouse inversion with growing up handling BB guns. When you're lifting a rifle up, you are pulling back/contracting on the right arm. When aiming, to go up you nudge the right hand down, or nudge up to point down.
I could see this. Like obviously I live first person, and when I want to look up I pull my head back, to look down I push my head forward. Similarly I expect pushing my mouse forward (up) to look down and pulling my mouse back (down) to look up.
If I grab your head and pull back you would be looking at the ceiling. If I pushed your head forwards you would be looking at the floor. This is how mice should work. Touch devices screwed that up and are heresy.
Here's the `invert mouse` setting from Quake2[1], though, I know for certain that Duke3D and Doom had the same option. I feel like every FPS I've ever played has had it as an option.
Now, to be judgemental, anyone who enables the invert option is an obvious psychopath. Although, to be fair, everyone thinks I'm a psychopath for using Mouse2 for Forward.
"Shearing" was added for up-down look in Heretic, for the non-Doom engine descendants Duke Nukem 3D and Rise of The Triad supported it as well. I don't remember if it could be bound to mouse movement in any of these games.
They were bound to keys for the DOS versions from memory. Forget when the mouse look was supported but the view was highly distorted so mostly useless until later ports enabled proper 3d rendering.
For me babylonjs was a bit of a leap forward. Great engine + tooling. Nice documentation with tons of examples for how to do things. Besides that, experiment lots and lots! Be very curious. And don't be afraid of 3D math.
Thanks! Congrats on making it to the end.
This is too broad a topic to cover here, but I'd say the most valuable skill is the ability to constantly learn new tools and techniques.
Thanks, making it available and actually playable on mobile was definitely a challenge. One of our inspiration for the mobile controls was the iOS version of the game The Witness.
Love the project. How long did it take for you to conceive and launch? What tools or platforms would you recommend to use for anyone interested in a similar project? Thanks
It roughly took 5-6 months in total over a span of 1-2 years (we paused development several times to work on client projects).
I recommend diving into Three.js (or other WebGL libraries), and learning Blender or similar to create your own 3D scenes.
Super cool escape-room-esque game! I wish though, that the click-to-walk was a bit more pre-defined paths. For example, If I click on a spot thinking I could interact with it, I walk to the wall and am now so close to the wall that it becomes disorientating, and I have to click back to view the room.
Looks awesome, nice work. I have an unrelated question, on little workshop's website I can see a pétanque game that I couldn't find online. Is there a way to play this game or was it available only during an event?
Running firefox + linux. Mouse works fine in mouse only mode, in gamer/keyboard+mouse, the mouse is out of control. Often, moving the mouse in any direction, moves the mouse continuously left (for example). Other times, the tiniest twitch moves the screen in crazy flying loops.
Tried the speed setting down to 10, barely made a difference.
Not sure if other FF users are experiencing the same thing?
edit:
Just finished it... Good game! I hope you expand it, because you've definitely got something fun here.
I enjoyed it, but in Safari on iOS there was no sound at any point. I checked my device volume. I toggled the game option for sound on and off.
It just occurred to me that it may be because I have my phone ringer set to silent. That is indeed what caused it, which is not great as I don't want notifications to be making noise.
It also felt slightly too zoomed in (I even attempted to zoom out using my fingers).
> It just occurred to me that it may be because I have my phone ringer set to silent. That is indeed what caused it, which is not great as I don't want notifications to be making noise.
I'm pretty sure that's the way it should be, isn't it? Whenever I want something/anything/everything to not make noise on my phone, I set it to silent. It's been that way since the very first iphone I ever owned (I think it was the 4).
Can you do that on webpages (which is what equinox.space is) without first pushing play or unmuting them? I know on youtube you have to unmute it first. I don't really go to any other music or video websites on my phone, so I'm not sure if they're all like that or not, but in my experience, webpages respect the ringer side button unless something is clicked to override it.
Sure, within the website I have to unmute it and up my volume to hear anything, but it's still playing without me having to switch off the physical DND mode button on the side of the iphone. My phone remains in DND mode and I still have no audible notifications.
I’m really impressed by the visual and audio design, and the graphics and audio implementation too. It’s great that it loads quickly - far too many online 3D games are stuck behind lengthy loading screens.
How big was the team and how long did it take to make it?
Thanks, this was done by a team of only 2 people over a span of 1.5 years, working on it intermittently between client projects, totaling approximately 5-6 months of work.
No, they used Three.js among other things. Startup time was fast here, it’s probably just how long it takes you to download the game assets that determines speed in the end.
A bunch of other posts on the front page are getting bombarded with these spam messages too... I figure dang is probably aware by now (although idk what specific measures HN has against this sort of thing).
Amazing demo! This reminded me of the spaceship my friend and I made in the level editor of Duke Nukem 3D. Unfortunately, my legendary map got lost along with my old disk.
Yeah, it's not due to poor rendering performance. I can see it running at full frame rate between stutters. It may be some kind of timing issue? Here's a video of the problem: https://x.com/modeless/status/1782432663649087917
This is amazing! The visual style is stunning. This actually comes very close to a style of game I've wanted to exist for a long time. The premise being this: You're on a ship going between destinations, but there's no light-speed shortcut, or jump-cut to the destination. Instead, you have to maintain the ship for the entire duration of the journey. Making sacrifices in power and computing ability to resolve problems that occur throughout the ship.
> In FTL you experience the atmosphere of running a spaceship trying to save the galaxy. It's a dangerous mission, with every encounter presenting a unique challenge with multiple solutions.
> What will you do if a heavy missile barrage shuts down your shields?
> - Reroute all power to the engines in an attempt to escape?
> - Power up additional weapons to blow your enemy out of the sky?
> - Or take the fight to them with a boarding party?
Warning, FTL can be addictive. It has a heavy luck dependence that makes you want to try again.
That said, the game mechanics are really well done and give you options for creative problem solving. For example your pilot increases the chance to evade missiles. Unless he is busy extinguishing a fire in another room. So instead you can open a door to space and power down your own oxygen supply. And use that power to charge a second weapon.
> you have to maintain the ship for the entire duration of the journey. Making sacrifices in power and computing ability to resolve problems that occur throughout the ship.
There's a multiplayer game where you get in a match and play tiny minigames where you fix the issues of the ship, and once you fix them all, you win.
The twist is, there is an assasin among all players, and his goal is to sabotage your ship even more and to kill everyone, without getting caught. So the duration of the journey is only based on how quick you either fix the ship, find the impostor or die.
Wish I could remember the name, it was pretty popular during the pandemic.
Spaceteam also exists as a physical card game, the mechanics seem to be a bit different from the app (not sure which one of them was released first) but is still lots of fun and shouting.
I tried it once and was looking forward to it, but it was just a bunch of kids running around with no coordination whatsoever killing each other. After a few plays I asked Steam for a refund. Maybe I was doing it wrong and should have tried it with friends.
I've only played among us as in private lobbies with friends to have fun during the pandemic. That's why it was so popular. Would never think to play it online with strangers. There's really not much to it its just about as complex as a simple boardgame. It was just a way to easily socialise with everyone you knew even if they weren't a hardcore gamer during lockdown.
When I first got into public lobbies - yeah, everybody was a kid and the first color shouted into the chat would get kicked.
The trick I found was to switch the search language to English as I was in European servers with my native language. That way, I would match with Europeans that manually changed their language to English as well... or just british kids.
Anyways, it got way better, no more "red is sus" and then kicking without proof.
But then everyone was too rude. People always got EXTREMELY angry when I found who the impostors were by either using the cameras or just remembering who was with who + kill spots + behaviour. Like, we win the game because I confirmed the users were impostors based on actual proof, then they cuss me and ban me from the lobby!
So, yeah, I kinda not played much in public lobbies for these reasons. But with friends it was fun!
Yeah, random lobbies are absolutely unplayable. Lobbies that are coordinated in some public Discord server tend to be a coinflip if they're going to be passable or not. But the game really shines when you have a core group of people to play with that all engage with it in good faith.
Of course, all those groups burnt out on the game after playing way too much of it over the pandemic, so it is what it is.
Not the game you were thinking of, but Spaceteam is a very fun game with a related premise. You're flying a ship and the ship is breaking down so you need to activate the right controls to keep it moving.
The ship will tell you what controls need to be activate, but the catch is that each player only has access to a portion of the controls, but will receive instructions for all them. Cue lots of yelling back and forth to try to communicate the appropriate directions :)
You maintain an evacuation pod for as long as you can to survive the small journey (I think it can take as much as 30 minutes?) between the ship you're escaping and safety.
> You're on a ship going between destinations, but there's no light-speed shortcut, or jump-cut to the destination. Instead, you have to maintain the ship for the entire duration of the journey.
Neptune's Pride [0] is a fantastic real-time strategy game that has this feature without the maintenance part. You play the game over the course of days instead of minutes or hours. And it may take hours for your ships to reach their destinations. A ton of fun with friends.
I have pages of notes for a game like this that I've been thinking about since university, largely inspired by Battlestar Galactica and The Expanse. This game reminded me of it too, maybe I'll get to it one day.
You might enjoy FAR: Lone Sails. I was a bit frustrated by having to spend most of the game running around fixing stuff, but if that mechanic appeals to you then it's surely one of the prettier running-around-fixing-stuff games there is.
I also started a game a while back called Still There which seems like that's what it's going to be, but I haven't completed it yet so don't want to pass judgement. You're on a space station and not a ship, though, and it's point-and-click.
I just opened it again to make sure I wasn't imaginging it. Oddly enough, A works to strafe left for me, but D doesn't work to strafe right. I'm using Firefox 121.0.
If someone is using Vimium or something similar and aren't aware yet, entering input mode, usually 'i', will let key-presses slip by the plugin input parser and go straight to the web page.
That's so good! I haven't played a computer game in ages. But the atmosphere here, the graphics, the sound captivated me from the beginning. And soon enough, I felt that desire again, to solve the next puzzle... just like the last time in the 90s... um... with Simon the Sorcerer. Thank you for that!
Wow thank you, this comment made my day. Really glad that our little project could make you experience that feeling again! Adventure games from the 90s definitely played their part as an inspiration for this.
One suggestion: add the option to invert the touch camera controls. It feels weird to rotate the world rather than the camera in a first person game, and I'm constantly rotating in the opposite direction than intended.
Thank you! This is a feature we are planning to add in the near future. We used the same controls as Google Maps street view but perhaps for a game it can feel a bit weird.
This is a hit, congrats on your success! My favorite part is sound and music design: the SFX and music mesh well, the transitions are seamless and intentional e.g. when the warp stalls there is also a breakdown on beat.
I am very much impressed by this project. The smoothly rendering on the browser, stunning graphics and captivating music create an immersive journey. And I always love to discover some Easter eggs. Bravo!
While creating Equinox, it frequently felt like we were working on tiny details that hardly anyone would notice. But ultimately I believe that immersion largely relies on the accumulation of all these small additions.
Much appreciated, thanks! Releasing a successful game on Steam would be amazing of course but it's not easy, to say the least. I hope we'll manage to do it some day!
Thanks a lot for your kind words! Metroid Prime wasn't a direct inspiration but it may certainly have had some influence on us, as we loved playing that game when we were younger.
That was also the case for me (FF for Android), and I eventually found that I have WebGl disabled by default. Everything worked as expected after I resumed. FF animations run quite smoothly. Good work for developers.
A finely crafted piece of art.
Out of curiosity, do you plan to make this project open source? I'd be curious to learn about some the technical details.
Stanley Parable / Dr. Langeskov, The Tiger, and The Terribly Cursed Emerald: A Whirlwind Heist are two (from the same devs) that stand out in recent memory. Myst (and Riven and there are like six total ending with a fully 3d Obduction) are cult classics and already referenced.
These are all sci-fi walking sims, which is the genre of "wander around a strange place trying to figure out what happened and/or how to get out". Some walking sims have more of a traditional narrative and some have less, some are short (under an hour) and others are longer, some are comedic and some are more serious. There are lots and lots that aren't sci-fi too.
Probably the most accessible here is Tacoma, but it can get pretty rough on Intel graphics. If you want a free one you could try Electric Highways or Off-Peak, or if you don't care that they're not sci-fi you could try Gravity Bone, A Bewitching Revolution or Dr. Langeskov (suggested in a sibling comment).
We sure hope that game publishers/studios will find Equinox inspiring.
We're working on some behind-the-scenes content that will most likely be published on X and LinkedIn. You can follow us if you're interested: https://twitter.com/glecollinet
I have never seen a ThreeJS project as polished as this one. Everything was spot on! Pacing of the storytelling, difficulty of the puzzles, art style, synchronization of audio to events in the game... everything was just so good. As other commenters have noted, I do hope you move from corporate advertisements into game development! (No judgment on corporate advertisements from me, it's just that I would love to play games made by you.)
That was quite nice. Would love to see a full game in this environment one day, but I'm also happy this particular one was short. Perfect length for showing off this team's talents.
It's funny how many of us distrusted the AI. I guess games + movies have taught us the AI is always up to something.
It's probably pretty rare nowadays, since it's off by default and rather hidden in the settings dialog ("Search for text when you start typing"). I had it activated up until (quite) a few years ago, and I think I switched it off, because of bad JavaScript interactions.
Did anybody find a credit for the vending machine? I was hoping there was one somewhere, or another easter egg, but I couldn't find one. Regardless, great job. I was captivated through multiple play throughs. Reminds me of another short game called Xibalba[^1] that I enjoyed just as much.
Makes me want to give Bevy another spin and try doing a short story-driven FPS as well.
p.s. it's impressive that this was written in THREE.basic, judging by the cockpit monitors. :)
Nice! I'm drowning in a sea of backlogs and this is the first thing I saw this morning. Totally worth it! Only thing I can feedback is to add a jump action using spacebar. Overall, it is awesome!
Really awesome! Normally when games are posted on HN I don't give them much attention, but for this one I grabbed my headset, and I' do it again!
One nitpick, the mouse speed is IMO too slow, I've set it to 100 in the game settings but I still needed to drag my mouse way further than normal to rotate the player. I grabbed my trackball mouse so I don't need to move the mouse itself that far and then it was a bit more playable.
Would it be possible to increase the mouse speed further than 100?
Delightful experience from start to finish. Thanks for showing what web apps are capable of at the moment. It would make sense to title this "Show HN: "
I only could suggest, for hackers don't show hints of code shapes (for engine consoles), just make less buttons, so for example, just 64 possible variants, so real hacker could just find code by brute force.
Other possible idea, sough harder to implement, to use rotating dials and issue some shake of screen when approach right number on some dial.
I'm sure it's not the fault of the game, but this straight-up crashed my machine after about a minute of play. Screen froze, everything went unresponsive for a couple seconds, then I got about half a second of a pure magenta screen, and my machine rebooted. M1 Pro Macbook Pro, Sonoma 14.4.1, Firefox 125.0.1.
I'm on a 14" M1 Max from 12/2021 and my AC+ expires in 2025. I'm pretty sure you can buy it right before your warranty expires to extend it. But maybe you bought 1 year of AC+ and can't extend it after?
This was my first AC+ purchase.
Also my battery has been at 79% Service Battery health for about a year. I forgot to use AlDente to limit the battery to 80% but do it now and it hasn't gone down.
edit: Jesus I just realized 2025 is next year. Totally thought I had like 3 years left.. nevermind..
Doesn't seem like the crash is repeating itself. Now it is running fine. The first time through, it died right after I was told to open the door but right before the door became openable.
Why it weighs only 45mb: the 3D environment isn’t that detailed, and we use Draco compression on the model files which has huge benefits in terms of file size. In addition, the art style requires few textures, and we use KTX2 compression.
The audio files are indeed the largest assets.
Why are so many users gushing over this games 3D environment? It's empty and cel shaded, it's about as normal as normal gets but people are eating it up left right and centre.
It reminds me of standard indie games with cel shading.
Strong disagree, art direction is about how the game looks. For example this is their choices for how to render the scene and how they achieved that technically: https://x.com/glecollinet/status/1783805898428715070
I honestly don't understand how you could look at something with that strong a visual style and think there was no intention.
Just because you use the standard graphics development blocks of a game does not mean it has significant art direction.
Why is there a couch with no real TV, why is there an opening at the top with no couch or seat looking out, why are all the development techniques just base level shader passes? Why is there no new take on what space ship interiors look like? Why is there no detail?
Ahh, okay you just don’t know enough to know enough. None of those complaints show that the game lacks art direction, some even have extremely little to do with it and some of them are really obvious artistic choices.
I noticed something: The player character feels really tall to me. Or perhaps the doors are short? I subconsciously kept looking downward. I'm not a particularly tall person, but I don't remember feeling this way in a game before.
Thanks! About the character height, it's set at 1.6m and all the environment is supposed to be at the right scale, but perhaps we made the doors a bit too short. We tried to convey a bit of claustrophobic feeling, especially in the lower level, as you would expect in this kind of spaceship.
Oh I loved the Journeyman Project as a kid and I didn't think of it at all when creating Equinox, but thanks to your comment I'm now starting to think it had some unconscious influence!
Smooth experience! I loved the details such as the assistant getting a bit annoyed when you go to the vending machine for a drink or “I regret to inform you…” when you try to use the internet terminal on board.
Incredible work. Reminds me of the VR Game holoball, mixed with Star Trek and Elite Dangerous. This was amazing. Sucks that I am stuck at the cafe for a long time though. :D
This is amazing. The movement is very similar to movements in VR worlds. Would be awesome to integrate with the VR web apis to play this on an oculus as well.
Thanks. I guess a potential issue would be rendering the outlines because it's implemented with post-processing and I'm not sure how it would look in VR.
Thanks for the feedback! We used the Three.js WebGL library and a custom-built game engine for the various interactions, pathfinding and game logic. We modeled the scenes in Blender and SideFX Houdini, and also baked lightmaps with Blender.
Amazing job! Any specific settings in Three.js you used to get the great mobile performance? Really interested in seeing anything you'd like to share about how you optimized performance. Amazing work!
Nothing specific regarding mobile but we worked on rendering optimizations quite a bit to make the experience smooth. Most notably the render pipeline is based on MRT (Multiple Render Targets) which renders multiple frames at the same time, which is great when doing post-processing stuff. Also we made sure to keep the number of draw calls quite low by merging static objects. There is also a lot of culling going on, hiding rooms that are not visible.
We'll probably post more technical details on X in the coming days/weeks, be sure to follow us if you're interested.
The same engine runs on both desktop and mobile, pathfinding performance wasn't an issue on mobile. We knew from the beginning that it was important for mobile controls to be "smart" and to assist the player as much as possible in getting around.
Thanks a lot. I wish there was more too, but we unfortunately had to keep the project's scope under control! Lots of puzzle ideas and content were cut.
Thank you. While I really want to check your hint, I won't. Since there's no way to save progress this would be my fourth attempt to play the game from the start [1]. Maybe saving status would have it make it different for me.
Please, don't take me wrong, the game looks amazing, reminds me of the old times of Mac Classic gaming, but I'm no gamer.
[1] I'm on an iphone, and I always tapped back to get to HN again so I lost progress every time I tried your game.
anyone have a solution for turning the power generator on? I matched the squares with the tetris style symbols on the power generator but then nothing happened :S
It's a classically-done puzzle with a classic hint. One of the colors is correct, so if you just put in all the shapes that are in front of each console, one core starts spinning. That triggers you to understand that you're part-way there but are missing something.
It's nice when puzzle creators take the time to scaffold their puzzles.
I had to come to the comments, i was looking for the hint, but the shape being the same drab blue made me miss it. i noticed the rings colors, but not the shape
Some background info on the project: https://littleworkshop.fr/projects/equinox/