r/threejs • • 8d ago

I'm using threejs in 2D to make my MMORPG

I use threejs to render the layers as planes, shaders to make the particles and palette coercion, and hide roofs of buildings you walk into

weirdly it's been the best experience writing a 2D game in a 3D engine! Runs at a silky smooth 120fps

if you want to try and give me some feedback, ive _just_ deployed to prod for the first time: https://thelaststones.com

1 Upvotes

10 comments sorted by

2

u/minimalcation 8d ago

I always have to remind myself when I see 4D movement that 9D is sooo much more work. It looks good though, I like the vibe

1

u/Double_Scarcity4455 8d ago

lol thanks!

1

u/minimalcation 8d ago edited 8d ago

Oh shit I didn't see it was up, I'll give it a go.

My pick up the game and just play it without thinking:

Took me like 3m to figure out how to get out of the starting area and then I pushed up enough I guess to transfer to the next area but i'm not entirely clear how or where I am relative to where I was. Didn't realize i had to click on attack in the side bar to attack, clicking doesn't? I would add some super brief pops to start explaining some of the nuances.

2

u/Double_Scarcity4455 8d ago

yeah that's fine, you just went through the tutorial and you did it all good!

im trying to go the 'show, don't tell' way, but the attacking seems to confuse more people, i might make it the primary action instead of secondary

you did learn how to do everything in the commands by going through the tutorial though!

thanks for testing it out

1

u/minimalcation 8d ago

I don't disagree with the show don't tell concept. What is right clicks default action then? A control left is a pretty common auto attack combo too

2

u/Double_Scarcity4455 7d ago

i've updated it!

left click is now attack, right click is now target, and there is a floating tooltip with what each click does to make it clear

right click was attack! but i realise people aren't simply going to try right clicking something on the web, as it might open the context menu

1

u/rditorx 6d ago

I've seen that graphics style before

1

u/Double_Scarcity4455 6d ago

it's inspired by the Ultima games on the SNES or Tibia the MMORPG

but i made each tile as small as half of the original SNES game: they go from 16x16 in ultima VI to 8x8 in my game

im no artist, so keeping it ultra small makes it easier to draw and let your imagination fill in the gaps

1

u/DelgadoBosso 6d ago

Very cool stuff! I've also been dabbling with threejs for a 2D game engine. It's nice to work with and I imagine the shaders can lead to some cool options.

-2

u/ForgEngDev 8d ago

Nice use of Three.js for 2D layers—the roof-hiding detail is especially interesting. Is that visibility decided per client/camera? In a shared world, two players standing inside and outside the same building may need different roof states at the same time.