Skip to content
← Back to Community
[GAME] Askew: MULTIPLAYER 3D Survival Game! SNEAK PEEK
Profile icon
fuzzyastrocat

EDIT: Check out the update here!
Make sure to open the game in a NEW TAB due to the update!

Many games here are 2D, so I thought I'd try my hand at 3D with THREE.js. I'm not done with the game yet, but I thought I'd post a sneak peek so that I can get feedback for it!

Screen Shot 2020-10-14 at 3.07.42 PM

As of right now, there's no real goal (you can't win or lose). But you can go around and do stuff. Here's the controls:

  • Arrow Keys or WASD to move
  • Q and E or rightclick+drag to rotate the camera
  • Click and hold to saw stuff (when not placing — you have to be touching an object too)
  • Click on an item in the upper-left to craft it (these items will appear when you have the necessary resources to make them)
  • Click on a item you've crafted in the bottom bar to start placing it (a ghost version of it should appear in front of you, you can move around to position it as you like) and then click again to place it or right click to cancel.
  • NEW: Enter to chat!

Screen Shot 2020-10-14 at 3.21.28 PM

As of now, you can build walls (with wood) and campfires (with stone and wood). There's a day and night cycle in place too, so your campfires will look good :D

And yes, this game is fully (server) multiplayer, so you can build a base with others! (Try opening two tabs if there's no one else around)

Enjoy! If you find any bugs or have any suggestions, please post them!

IMPORTANT: If the land is empty at first (no trees, rocks, etc), AND YOU HAVE OPENED THE GAME IN A NEW TAB, please let me know! (And then reload the page until it isn't.) I think I've fixed that bug but I'm not certain.

Voters
Profile icon
JACOBREYNOLDS11
Profile icon
HBthePencil
Profile icon
NoahAckerman1
Profile icon
lucaslong
Profile icon
SelenaYang1
Profile icon
FrancisPan
Profile icon
Somto2007
Profile icon
JWZ6
Profile icon
OmN3xin
Profile icon
Brendan23
Comments
hotnewtop
Profile icon
DJWang

Keep up the good work! This is so amazing I have no words for it.

Only suggestion: Make the mouse able to shift the view. It's a bit annoying having to keep pressing q and e

Profile icon
fuzzyastrocat

@DJWang Wow thanks! I will definitely keep it up!

Profile icon
fuzzyastrocat

@DJWang (seeing your updated suggestion) Ah ok. I will implement that soon!

Profile icon
fuzzyastrocat

@DJWang Ah actually, there's a problem here. Since mouse click also means [use tool], clicking and dragging would mean doing two things at once. I'll probably just keep it this way for now (the camera isn't intended to move around too much), but when I get around to it or if I have more requests I will add it.

Profile icon
DJWang

@fuzzyastrocat

Ok, thanks! Just an idea: If Nodejs includes right click as well, would that give you an idea? :)

Profile icon
fuzzyastrocat

@DJWang (The game itself is actually written in browser JS, nodejs is only for the backend.) I'll make rightclick+drag move the camera.

Profile icon
DJWang

Yay! Tell me when you've added it! @fuzzyastrocat

Profile icon
fuzzyastrocat

@DJWang Implemented!

Profile icon
DJWang

@fuzzyastrocat Yesss This is what I'm talking about! Great job!!!

Profile icon
fuzzyastrocat

@DJWang Thanks!

Profile icon
oculusquest

@DJWang I wish that the character would rotate with the view

Profile icon
fuzzyastrocat

@oculusquest Yeah, I've been thinking about that... I tried it out and it was weird, but I might try it again.

Profile icon
angrydoge

maybe some mouse locking? @fuzzyastrocat

Profile icon
fuzzyastrocat

@dabombdgdzjr Mouse locking would not work with this game because of how much the mouse must be used to interact with the ui (which will increase as the game gets more developed). But thanks for the idea anyway!

Profile icon
angrydoge

Oh lol i forgot about the clicking crafting XD @fuzzyastrocat

Profile icon
icelite

Hello! My name is Raven and I would like to continue work on this. Can i have perms to fork? @fuzzyastrocat

Profile icon
fuzzyastrocat

@Ravens0606 Go ahead! Fork the server (repl askew-server) and the client (askew), then change the lines where it says "blahblah.fuzzyastrocat.repl.co" to your addresses. If you run into any problems, please let me know and I'll try to help!

Profile icon
icelite
Profile icon
badst

One of the smoothest and best looking 3js games i've seen. can't believe how good this is.

Profile icon
fuzzyastrocat

@pepelaugh Thanks!

Profile icon
looserty
Profile icon
DynamicSquid

Yo this game's legit good!

Profile icon
fuzzyastrocat

@DynamicSquid Thanks! I tried to make it as smooth and clean as possible. More updates coming (hopefully) soon!

Profile icon
DynamicSquid

@fuzzyastrocat Which cube is you? I'm the one spinning in circles

Profile icon
DynamicSquid

@fuzzyastrocat okay I actually have some stuff I need to get done today, but yeah this is an awesome game! can't wait until you release the full version!

Profile icon
fuzzyastrocat
Profile icon
NicholasWhite6

@fuzzyastrocat do you have a way of making the view stay behind the kube to where its not like cube is wandering off

Profile icon
fuzzyastrocat

@NicholasWhite6 The camera will follow your cube. You might be getting confused with other players.

Profile icon
NicholasWhite6

@fuzzyastrocat my bad lol, there was alot of people one the server. Great game tho!

Profile icon
fuzzyastrocat
Profile icon
fuzzyastrocat

@NicholasWhite6 Oh actually, it's my bad, I broke the camera tracking mechanism with a new update. I'll fix that promptly!

Profile icon
NicholasWhite6

@fuzzyastrocat your good, its good it just doesnt follow it around other than direction of camera

Profile icon
fuzzyastrocat

@NicholasWhite6 Yeah. It used to work perfectly, but I added an update because people wanted rightclick+drag to rotate the camera which broke it.

Profile icon
fuzzyastrocat

@NicholasWhite6 Fixed it!

Profile icon
NicholasWhite6

@fuzzyastrocat great game, if i might add one other thing, when i go to place somethin i crafted it doesnt place it just disapears after i "place" it

Profile icon
fuzzyastrocat

@NicholasWhite6 That probably means the server is overloaded. I'll look into it.

Profile icon
fuzzyastrocat

@NicholasWhite6 Hmm weird, I have zero idea why that's happening. Just this morning it was working fine, now it's broken.

Profile icon
fuzzyastrocat

@NicholasWhite6 Fixed! (Also, thanks for saying "great game" even when 99% of the coolness of the game was broken :D )

Profile icon
NicholasWhite6

@fuzzyastrocat i mean it is a great game ive been messing around in it and so far nothing so good job and on listening to the comunity and fixing any glitches

Profile icon
fuzzyastrocat
Profile icon
NicholasWhite6

@fuzzyastrocat if i might ask, how long did it take you to make this

Profile icon
fuzzyastrocat

@NicholasWhite6 A couple days, 2-3 hours each on average (not contiguous so just an estimate)

Profile icon
fuzzyastrocat

@DynamicSquid In case you're interested, there's a new update out: https://repl.it/talk/share/GAME-Askew-MAJOR-UPDATE-Age-of-steel/60050

(sorry if this is spammy, I'm not very experienced with this kinda stuff)

Profile icon
fuzzyastrocat

ANNOUNCEMENT: I've implemented a chat and usernames!

( @HyperGamerStuds @Bigbodyboy21 @CarlosRosiles @ChezTacoz as you asked :D )

Profile icon
[deleted]
Profile icon
ChezTacoz
Profile icon
Bigbodyboy21

@fuzzyastrocat **** yeah!!!!!!!!!!

Profile icon
[deleted]
Profile icon
fuzzyastrocat
Profile icon
[deleted]
Profile icon
fuzzyastrocat

ANNOUNCEMENT: I've implemented an anti-hack for the build system! Please don't try to hack anyway.

Profile icon
fuzzyastrocat

Hey everyone! If the camera tracking was weird or if you were unable to craft anything, it's because I accidentally broke it while adding a new feature. Try it again, I've fixed it now!

Profile icon
fuzzyastrocat

oh my gosh, amasad upvoted...

Profile icon
DynamicSquid

@fuzzyastrocat Awesome!! there should be an achivement: eren (wait how do you spell eren) amasads upvote or something like that. Or at least naie it so that his upvotes counts as 2 lol

Profile icon
DynamicSquid

@fuzzyastrocat wow i suck at typeing on my phone

Profile icon
fuzzyastrocat

@DynamicSquid (earn?) Yeah that would be cool!

Profile icon
fuzzyastrocat

@DynamicSquid (in response to the "typeing on my phone" one) Heh... I suppose the edit button would be a fix for that

Profile icon
fuzzyastrocat

@DynamicSquid YAY I'm on the cycles leaderboard

Profile icon
DynamicSquid

@fuzzyastrocat 🎉🎉🎉

Profile icon
fuzzyastrocat

@DynamicSquid I have 492 cycles... come on 500, come on 500... :D

Profile icon
DynamicSquid
Profile icon
DynamicSquid

@fuzzyastrocat ah... don't you love writing actual good code? it works, clean syntax, and easy to understand. I'm doing it right now and I feel awesome!

Profile icon
fuzzyastrocat

@DynamicSquid It's great! Unless you make something like this, and then everyone comes in and hacks it so you have to do a bunch of anti-hack.

Profile icon
DynamicSquid

@fuzzyastrocat lol! Oh, I have a quick question about lang dev. So if there's an expression, that get's turned into an Expression AST in the Parser. But what does the Interpreter do with it? I know how to take an Expression AST and have the Interpreter evaluate it down to a single value, but I have to modify the original AST to do so. But that's a problem if I still need the original AST (for example in a loop). So should I make a copy of an AST in the Interpreter and evaluate that? Or is there a better way?

Profile icon
fuzzyastrocat

@DynamicSquid Yay lang dev, now I can get back to doing what I really want to do not fixing bugs in games lol :D

Could you invite me to the repl? If not I'll make a repl to demonstrate, since I think it would be easier to do it in code rather than try to explain it in words. (The answer in short is "no, don't make a copy, by all means don't make a copy, but you don't have to modify it in place either", but I'd like to show what I mean.)

Profile icon
DynamicSquid

@fuzzyastrocat Uh... I do it on VS

Profile icon
DynamicSquid

@fuzzyastrocat I guess you could invite me to a repl, that'd be fine

Profile icon
fuzzyastrocat

@DynamicSquid Ah ok. I'll make a C++ repl to demonstrate, and I'll invite you.

Profile icon
zplusfour

WOW! This is amazing! Now I know why @rjlevy recommended you to our team!

Profile icon
RolandJLevy

@ZDev1 yes, this is so awesome! :)

Profile icon
zplusfour

@rjlevy yeah!

Profile icon
fuzzyastrocat

@ZDev1 Thanks!

Profile icon
techde

@ZDev1 Ye, this is so awesome! One suggestion though: It's so good there are no suggestions!

Profile icon
fuzzyastrocat

@techde Ha! There's definitely improvements I want to make though, this is only a sneak peek after all :D

Profile icon
zplusfour
Profile icon
Glare

Wow! This is very good. I think I should get into this. Nice job :)

Profile icon
fuzzyastrocat

@Glare Thanks! If you're looking for a 3D game framework, I think THREE.js is your best option.

Profile icon
NicholasWhite6

@fuzzyastrocat What is THREE.js

Profile icon
fuzzyastrocat

@NicholasWhite6 THREE.js is a JS module. You can find more on the docs at threejs.org.

Profile icon
HahaYes

You should add names though

Profile icon
fuzzyastrocat

@HahaYes Definitely planned. This was basically just to get the core functionality down.

Profile icon
HahaYes

@fuzzyastrocat ahhh I see

Profile icon
fuzzyastrocat

@HahaYes

SNEAK PEEK

:D

Profile icon
HahaYes

@fuzzyastrocat how long did this take?

Profile icon
fuzzyastrocat

@HahaYes A few days, avg. 2-3 hrs each (not contiguous)

Profile icon
HahaYes
Profile icon
fuzzyastrocat

@HahaYes Names have been added

Profile icon
HahaYes

@fuzzyastrocat ye I saw really good. Do you know that there is going to be a game jam soon? You should participate and also have me on the team

Profile icon
fuzzyastrocat

@HahaYes Thanks! And no, I didn't know. Believe it or not, I actually don't really like making games, so I'm not sure if I'll participate, but I'll consider it.

Profile icon
HahaYes

@fuzzyastrocat hrmmm ye maybe if prizes are good...

Profile icon
HahaYes

yooo coolio

Profile icon
fuzzyastrocat

@HahaYes Thanks!

Profile icon
YeetMstr

Speechless. Truly speechess

Profile icon
fuzzyastrocat

@epicman702 Thanks!

Profile icon
HackermonDev

It's a little bit laggy for me but good game.

Profile icon
fuzzyastrocat

@PDanielY Yeah, it got laggy because people spammed stuff. Usually it isn't too laggy but that is something I'm working on improving.

Profile icon
OldWizard209

This game is dope man @fuzzyastrocat. Can't wait for the real version of this (already) epic game :D

Profile icon
fuzzyastrocat
Profile icon
Bookie0

woo great work! I like the shapes, pretty aesthetic! :)

Profile icon
fuzzyastrocat

@Bookie0 Thanks! That was definitely a big factor when designing the game.

Profile icon
Bookie0
Profile icon
techde
Profile icon
techde
ƒ
Profile icon
Bookie0
Profile icon
fuzzyastrocat

@techde what?

Profile icon
techde

@fuzzyastrocat Srry I pressed alt key while typing lol, which made that.

Profile icon
fuzzyastrocat

@techde Ah ok

Profile icon
Bookie0
Profile icon
techde
Profile icon
elipie

Screenshot 2020-10-15 at 9.24.03 AM

umm all i see is this

Profile icon
fuzzyastrocat

@elipie Just reload the page, I think that means the repl was sleeping.

Profile icon
elipie

@fuzzyastrocat yeah, lol i reloaded it like 8 times

Profile icon
fuzzyastrocat

@elipie Weird, I've never had that issue until now. I checked in the console and it said something like "ERR_NETWORK_RELOADED", which definitely suggests its a repl issue not a game issue.

Profile icon
elipie

@fuzzyastrocat okie so should I just wait another day? Because it did the same thing yesterday

Profile icon
fuzzyastrocat

@elipie Uh no, just reload until it isn't. (If it never gets normal, check the console and tell me what error you're getting.)

Profile icon
elipie
Profile icon
Whippingdot

You are godly. THIS IS SOOO GOOD!!!

The only thing is I got stuck in the desert. If you got too far there is nothing left. I could pick up something by pressing the right click too btw:

image

but I think that is a glitch, so if it is please fix it. Thank you for making this awesome prototype of a game. I hope you finish the game and post it here.

Profile icon
fuzzyastrocat

@Whippingdot Thanks!

Yes, you can currently go too far. As the game gets more features there will be more biomes and I will make the map have a fixed size so you can't just get stranded.

And yes, I've never encountered that glitch. I'll fix it soon!

Profile icon
fuzzyastrocat

@Whippingdot I've fixed the glitch!

Profile icon
RolandJLevy

@fuzzyastrocat you are on fire! this is awesome!!! 🔥 it runs so smoothly - well done!

Profile icon
fuzzyastrocat

@rjlevy Thank you! The smooth interpolation was a goal for this game, I think it works pretty well!

Profile icon
RolandJLevy

@fuzzyastrocat, great job! Can you summarise the stack you used?

Profile icon
fuzzyastrocat

@rjlevy Thanks! Sorry for my ignorance (I don't have much formal background so I'm not good with terms), by stack you mean "the software platforms/languages/etc I used" right?

Profile icon
RolandJLevy

@fuzzyastrocat yes, that's what I meant, thanks!

Profile icon
fuzzyastrocat

@rjlevy Ok. So, for client-side, I used HTML/CSS for all the UI elements and THREE.js for the interactivity along with the main 3D game view. On the server side, I used node.js to handle all the shared state and socket.io to communicate with all the clients.

Profile icon
RolandJLevy

Hi @fuzzyastrocat, thanks for explaining. I'm interested in how you've been able to run Node in an HTML repl. Are you using an endpoint from a different Node repl?

Profile icon
fuzzyastrocat

@rjlevy Great question! I'm actually not running node in an HTML repl. I like to separate out my servers and my clients (so that I can make quick fixes to either without having to restart the entire system), so I have a separate repl (AskewServer) which runs the nodejs server. The HTML repl is just the client alone. Hope that helps!

Profile icon
RolandJLevy

Hi @fuzzyastrocat, great - that's what I thought! It's good to know that's how you did it. I've been taking the same approach recently, mainly to hide API keys in .env files so people can't use them. Here is a very basic example I made:

This is the front end (client) code in an HTML repl
https://repl.it/@rjlevy/html-unsplash-search-getting-api-keys-from-node-app

Here is a demo: https://html-unsplash-search-getting-api-keys-from-node-app.rjlevy.repl.co/

It connects to a Node repl via an endpoint like this which provides JSON for the front end: https://node-api-keys.rjlevy.repl.co/json?s=smile

Here is the Node repl which provides the JSON
https://repl.it/@rjlevy/node-api-keys-for-unsplash which can be tested here:

I hope that makes! :)

Profile icon
fuzzyastrocat

@rjlevy Cool! Glad to know I could be of assistance (and those are really cool!) Hiding things in .env's is definitely very useful!

Profile icon
RolandJLevy

Hey @fuzzyastrocat, thanks, your game is going viral whoop, whoop!

By the way, are you a student or do you work as a software developer?

Profile icon
zplusfour

@rjlevy most of repl users are very young...

Profile icon
fuzzyastrocat

@rjlevy Yay viral-y!

Actually neither. I'm not (and have never been) in any formal software education program, but I don't work as a developer either. I'd describe myself as a hobbyist.

Profile icon
RolandJLevy

Hey @fuzzyastrocat, you're up to 153 cycles, wow and well done! Amazing that you've never had any formal software training. I think you could quite easily get work as a developer. Is that something you're aiming for?

Profile icon
Progemmernav

OMG! The graphics are sick compared to other browser games! Keep going seriously

Profile icon
fuzzyastrocat

@Progemmernav Thanks! I definitely will continue working on it!

Profile icon
tipollae

wow... I am so speechless. Also this would make a good io game lol.

Profile icon
fuzzyastrocat

@Cheesehasman Thank you! Yeah, it would fit as an io game, unfortunately io domains cost money :D

Profile icon
RiazuMacroni

Great game man!! Really love it. Just the sensitivity is too high for me, other than that its great.

Profile icon
fuzzyastrocat

@uhmansoori Thanks! Which sensitivity do you mean?

Profile icon
RiazuMacroni

@fuzzyastrocat When i try to turn left or right, the character moves very much.

Profile icon
fuzzyastrocat

@uhmansoori Ah ok. That's because I'm turning relative to the browser's framerate (the naive solution, works for testing), so I'll implement a time-delta based normalization soon.

Profile icon
EpicGamer007

Should I learn threejs? It seems reallyyyy cool

Profile icon
EpicGamer007

You might even be able to pair it with electron and make it an app.

Profile icon
fuzzyastrocat

@EpicGamer007 If you're looking for a 3D game framework, then in my opinion THREE.js is your best option! It might take a while to learn, but it's definitely worth it!

(And yes, if it works with HTML it will work with electron, so you could make an app with THREE.js)

Profile icon
EpicGamer007

@fuzzyastrocat , yea... I am always inspired by your projects keep up the great work!

Profile icon
fuzzyastrocat
Profile icon
Name12

cool.
amazing work. keep working on this

Profile icon
fuzzyastrocat

@Name12 Thanks!

Profile icon
Name12
Profile icon
Henslo

Wow that's really cool. I know I could never do that XD

Profile icon
fuzzyastrocat

@hello1964 Thanks! But don't say that, if you practice and work hard you can make anything you want to!

Profile icon
Henslo

@fuzzyastrocat I barley even know how to use HTML, CSS, and JavaScript

Profile icon
fuzzyastrocat

@hello1964 That doesn't mean you can't learn to though!

Profile icon
aiden765

Crazy. I had almost forgot how powerful 3js was.

Profile icon
fuzzyastrocat

@aiden765 Thanks! Yeah, THREE.js is super cool.

Profile icon
[deleted]

Its a great game! I would recommend a chat and some usernames!

Profile icon
fuzzyastrocat

@CarlosRosiles Those are definitely planned, I was trying to get the core functionality down first. Thanks!

Profile icon
XunPeterson

Great, thanks! I am grateful to you for the information you have provided about the games and gaming industry, its progress. I would like to advise you to pay attention to the site https://casinosters.com/best-payout-online-casinos/ where I recently read useful information about online casinos with payouts in the UK. This allowed me to choose a few sites that I currently play.

Profile icon
RemingtonJones

Thanks for the information.

Profile icon
FrancisPan

image
is this supposed to happen?

Profile icon
fuzzyastrocat

@FrancisPan

  1. Did you open it in a new tab like the post says? If not, there's your issue
  2. Did you make a fork of it? If so, that's the issue... I can't allow forks to connect to the server since then people can hack it easily
  3. If none of that applies, then I'll look into it
Profile icon
FrancisPan

@fuzzyastrocat it started to wor

Profile icon
JWZ6

COOL!!!

Profile icon
fuzzyastrocat

@JWZ6 Thanks!

Profile icon
JWZ6