Share your repls and programming experiences

← Back to all posts
SortaCraft! [0.8 Alpha]
tussiez

UPDATE 10/13/2021

It's been almost one year since SortaCraft was released.
Hang in there, SortaCraft 2 is still coming!
Preview - https://sortacraft2.sortagames.repl.co/

ORIGINAL POST

This is my take on a Minecraft clone! This game was built with Three.js and JavaScript Modules, Web Workers and Service Workers.

NOTE

This page will not be updated until I release Survival Mode.

Coming Soon: Beta!

How To Play

Click on the crosshair to lock your pointer
W A S D to move around
Scroll to change block
Space to go up
Right click to place, left click to break

UPDATE 12/1-4/2020

Baconman321 has collaborated with me on this project and has cut the loading time of chunks in half! Minor optimizations have also been made.

12/3/2020
I have also reintroduced realistic lighting and optimized shadows to the game, making cave exploration, terrain, and buildings more visually interesting. A better offline cache system and versioning is in the works, along with sprinting (which I may warn you, is quite buggy at the moment). There is also a new menu you can access by pressing `. This menu allows you to change the material type of all chunks, and will greatly improve performance on lower-end devices.

12/4/2020
The game has been optimized further, and the "plastic" look has been removed. Offline support is being worked on.

Q and A

  • The game is REALLY slow. Can you make it faster? Press ` (backtick) to change the graphics setting.
  • How do I change block? Scroll up and down.
  • It's so hard to look around. A: Make sure your pointer is locked(click)
  • It's so hard to place/break. A: It is a bit difficult to break/place on a touchpad. Try a mouse.
  • Why is it taking so long to place/break blocks? A: Please use a different computer.
  • Why can you jump so high? A: I'm lazy
  • Why is the sand biome all slabs? A: I need to fully implement half blocks

Image Gallery

Voters
Surfit
A395382
JWZ6
shubhampaudel87
BenBruno
AidenZ
Unclyscam123
Brendan23
forceofyoda
alpha2442
Comments
hotnewtop
CyberHacker101

and dude it would be cool if ya can take aways the sword lol @tussiez

tussiez

@CyberHacker101 Lol yeah, we are working on sortacraft2 now

CyberHacker101

Great im kinda making a remix of sortacraft and khancraft @tussiez

CyberHacker101

Hey bro ive always wanted too know how ud add mobs to the game is that even possible? @tussiez

tussiez

@CyberHacker101 Yeah, it might be a little clunky but definitely possible!

CyberHacker101

Im working on my own Minecraft im just COMPLETLY bamboozled by how I'm gonna add other mobs lol @tussiez

tussiez

@CyberHacker101 I can help!

CyberHacker101

oof i already quit

ill continue later when I finally get the chunks to work @tussiez

tussiez

@CyberHacker101 Feel free to check my code!

CyberHacker101

oh uh yeah um I dEfInItElY didnt use your code without asking you hehe ha... yeah @tussiez

CyberHacker101

But thx will do @tussiez

[deleted]

poggers!!!

27whuang

my computer is crashing boiiiiii

tussiez

@27whuang Lol, sortacraft2 is 200x faster

johnnyfrancis

Do u have to download it? My computer wont let me.

programmeruser

Where did you learn Three.js?

tussiez

@programmeruser The Internet. threejs.org

programmeruser

@tussiez which pages?

tussiez

@programmeruser Documentation / examples. Also, Stack Overflow helped a lot.

tussiez

@Baconman321 @xxpertHacker
I know it's not a good idea to ping, but I'm on the Repl RN, if you want to join.

xxpertHacker

@tussiez I don't care about pings, at least I have something to read or do, lol.

tussiez
tussiez

@baconman321 @xxpertHacker I can’t see annotations in the mobile editor, what’d you guys do while I was away?
Driving 5-6 hours today

Baconman321

@tussiez OOOOOOOF. Where r u moving too?

U aren't going to be goin to hopkinton anymore I bet....

We were talking about perlin and such...

tussiez

@Baconman321
Lol you’ll see in gOogle analytics
Oh yeah add analytics to sortacraft2
Ah K

Perlin is gradient random numbers

Baconman321

@tussiez IK perlin is a gradient, I was wondering about how to make the algorithm (I'm only in Geometry rn).

Come on, you can tell me ;D

I bet ur moving out of Massachusetts (because it's so small, right)?

tussiez

@Baconman321
1. Yee
2. SC
3. Haha no lol, moving for warmer weather!

Baconman321

@tussiez Oh, a vacation?

tussiez

@Baconman321 Naw, movin

Baconman321

@tussiez Oh, nvm read your comment wrong. No I meant that I could tell u were moving outside of MD because it is so small, 5-6 hours of driving would mean you would go outside of the borders.

tussiez

@Baconman321
1. Lol
2. Yee, this is 13 hours

xxpertHacker

@tussiez Sorry, hadn't been able to do much on Repl recently, doing too much at once.

tussiez
tussiez

@tussiez When I get the chance, I’m going to try and improve world generation. I have an idea on how we could fix chunks breaking at higher coordinates, and I’ll try to make the chunks a lot taller so we can have bigger caves and more interesting terrain, e.g mountains and valleys
I’ll also attempt water

xxpertHacker

@tussiez I was going to optimize the Perlin Noise and chunk generation, but I need to know one thing: do you have seeds yet, or are you planning on implementing them?

If you are going use seeding, then what I do won't work here, as it'll generate completely random worlds that cannot be reproduced via sharing a seed.

tussiez

@xxpertHacker Sorry for the late response, but yes - I have seed support
See main.js, seed is set to a random number somewhere

tussiez

@xxpertHacker If you look in the original Perlin code, there is a seeded random number generator in it. You may be able to use the same code

xxpertHacker

@tussiez The thing is, the Perlic code in use here just uses Math.random(), so it isn't seeded.

tussiez

@xxpertHacker ?!? I'm sure it is using the seed I put in.. try setting the seed in main.js to 12345 for a test IDK

xxpertHacker

@tussiez So umm... the seed exists, but... Math.random() doesn't particularly care what the seed is :/

There's no hashing / randomization that actually uses the seed.

Perlin is minified, and re-uses t a lot, so I can't tell if the seed passed in is even used, but if it is, then it's really ineffective, since it uses Math.random too.

tussiez

@xxpertHacker
1. !?!?!?!
Hmm

Baconman321

@tussiez U ready?

I'm thinking of increasing the functionality of my performance measurer.

tussiez

@Baconman321 No internet yet, can only use cell

tussiez

@Baconman321 I’ll prevent the player from breaking water when I do water physica

Baconman321

@tussiez Ready?

Or are u available just 2-3?

Baconman321

@tussiez U ready?

Baconman321

@tussiez U there?

tussiez

@Baconman321 :( woops
Did housework, took a walk, worked on thermostat

Baconman321

@tussiez U ready?

Baconman321

@tussiez Ready?

tussiez

@Baconman321 school lol

Baconman321

@tussiez So... when do u get out?

tussiez
Baconman321

@tussiez Want to work now?

I have a few very good ideas!

Baconman321

@tussiez Uhm, when are you available?

Is school longer now?

Can we work today?

:D

tussiez

@Baconman321
Today is Saturday

Baconman321

@tussiez Ye, but want to work now? I have a few ideas!

Plus, I don't have much to do and I was waiting for u to collab (I'm the one who sucks at game design rn).

Baconman321

@tussiez Please?

I got a very good idea on how we can increase game speed :D

Oh, and also... on school days ur still available 2-3 CST right?

tussiez

@Baconman321 I was walking lol
Yee

Baconman321

@tussiez So, uhm. can u join for a little bit (sortacraft 2)?

Baconman321

@tussiez IDK if you can, but do you want to work now? I might have to go in an hour, but I'll be back and then we can finish this.... I mean work on this.

tussiez

@Baconman321 Err.. here!

Baconman321

@tussiez Ready?

Baconman321

@tussiez Ready?

Baconman321

@tussiez Ready?

Baconman321

@tussiez Ready!

Can u come, plez!

tussiez

@Baconman321 Arrrrrr i'm super bussssy

Baconman321

@tussiez Want to work now?

tussiez
Baconman321

@tussiez Ready?

Baconman321

@tussiez Ready?

tussiez

@Baconman321 Srry, I spent a ton of time on vehicle physics, so maybe tomorrow :(
https://repl.it/@sortagames/physicsagain

Baconman321

@tussiez K :(
BTW it lags a lot :/

tussiez

@Baconman321 :/
Yeah, runs perfect on mai PC tho. Two reasons why:
1. Giant terrain
2. Physics is expensive. Unavoidable :( luckily it runs in a worker

Baconman321

@tussiez Oh my gosh, we can use speech synthesis!!!

Voice text adventure intensifies

Combined with TensorflowJS tho, we could make some really cool "chatbots", or custom stories!

Baconman321

@tussiez Ready?

Baconman321

@tussiez Ready?

Are we going to work in sortacraft2 or sortacraft-ui?

tussiez

@Baconman321
Probably sortacraft-ui, to FINALLY work on a GUI for SortaCraft. This will pave the way for inventory/crafting/furnace systems

Sorry, I was doing hw - today is my last hybrid day :D :D
Finally, no more 6-hour computer days!

Baconman321

@tussiez Ready?

Ps: CLIp is almost almost finished, I'm just adding some helper functions and re-adjusting the internal functionality a bit.
tussiez

@Baconman321
In sortacraft-ui
####### Nice!

Baconman321

@tussiez Stacking doesn't work well. Should we collab now?

BTW, CLIp is literally done, I'm just adding a few more functions. I can give you the early version since I don't think we'll need all of the features I'm adding in. The tutorial is going to be hard though, I might want to wait until that is finished (easier to learn).

tussiez

@Baconman321
1. Yeah.. working on it
2. Yee

Baconman321

@tussiez Are you coming (I don't see you but I might just have to wait a little)?

Also, what happened to xxpertHacker? He left...

tussiez
Baconman321

@tussiez Want to collab on the jam for a chance of a $250 gift card? If so we will each receive $125 if we win first place!

If you agree I'll invite you to a repl where we can work together. Important though, we need to find a way to work together before the end of the week (March 19). So, it would be a good idea to start today!

Baconman321

@tussiez So... um. Are you going to collaborate with me? If not I'm not going to enter the contest (too much to do).

Btw the prize will be split 50-50 (if we win). No exceptions... unless you wanna donate to charity (I'm thinking cancer research if we are going to donate to charity).

If we aren't going to collab then do you want to work with me on sortacraft?

tussiez

@Baconman321
1. Sure! I looked at the code last night, and it looks kinda sus (you did a LOT with a library I've never seen you use, did you use a boilerplate?!)
2. Yee
3. Was in school

Baconman321

@tussiez Ah, ok. Want to work now (was making a sandwich)?

tussiez

@Baconman321 Got some homework to take care of - (full time! :D)

Baconman321

@tussiez Can you join the repl (the one we are collaborating on for the contest)? I want to discuss what's going to happen and how the game will be laid out.

Baconman321

@tussiez Just let me know when you are online and wait like 10-20 minutes (family watching Star wars and I want in, but I'll come if you can work).

Baconman321

@tussiez So, I realize that because of our time differences (and school) that we probably aren't going to meet the deadline. However, if you read the annotations I put down... I think we could make a more in-depth game (we will put aside sortacraft for a tiny bit). Maybe not that in-depth but enough that it would attract attention for sponsors. We could have people sponsor us. I have a good idea in which they give a dollar for every upvote we get on the game. All of the money would go to cancer research. The only problem is how do we collect the money? I think we could encourage people to donate the money to the nearest cancer-research donation center themself instead of giving it to us (plus it probably makes them feel more confident versus giving it to two people online they don't even know). Do you agree with this plan?

Baconman321

@tussiez So, ummm... are we going to collaborate on the project or no?

We don't have to do it ya know...

I would like to work on sortacraft, but I would like to make a nice little game like the one we are "working" on, especially for a purpose.

tussiez

@Baconman321
Idk hmmm but I can help review codee, no pay tho :D

  1. Yee
  2. Yeah, I do have a gud idea (speed up laggy physijs by running server that runs physics.. ?)
Baconman321

@tussiez I was more or less thinking of you handling graphics and me handling the storyline (you are good at graphics and I suck at em).

Eh, for now want to do sortacraft?

If so, sortacraft-ui or sortacraft2?

Baconman321

@tussiez Oh yeah and if you say yes but I don't reply I'll be back at about 5:30 PM CST (about 6:30 EST for you). Does that work?

tussiez

@Baconman321
1. K
2. Yeah, graphics :D
3. Sorry, I have some homework to take care of. This will be the case for every day, which makes it a little harder to do planned "meetups" in Repl.it. Don't worry, I wrote Egg Boundary in a school night!

Baconman321

@tussiez So, 6:30 maybe?

I highly doubt you have to do homework for 2-3 whole hours.

If you can't, saturday/sunday :D

tussiez

@Baconman321 Lol prob

Baconman321

@tussiez ?

5:30 (CST, 6:30 for u) or sat/sun?

Or you mean that you prob have to do 2-3 hours of homework

If the latter is true:

Them teachers be doin a lotta damage!
Baconman321

@tussiez Want to work now?

CLIp is finished (well, enough to use it anyways)!!!

tussiez

@Baconman321 Sorry, I went out

Baconman321

@tussiez Want to do it tho?

Sortacraft2 or sortacraft-ui?

alpha2442

Is there a way to speed up world generation?

tussiez
alpha2442

@tussiez is there a way to speed up rendering?

tussiez

@alpha2442 What aspect? Breaking blocks? I have an idea on how to improve voxel editing, but world load can’t get any faster, for now :/

tussiez

@Baconman321 Dunno why cubic chunks (infinite height) is broken? All the variables seem to be set correctly..

tussiez

@Baconman321 MASSIVE OOF!
I setup the idle chunk loader to hide all chunks outside of the render distance, but didn't realize it removes vertical chunks since it doesn't loop through them..
I set it so vertical chunks will always be rendered (for now)

Baconman321

@tussiez I can work now until the superbowl :D

tussiez

@Baconman321 Sure! :D

Baconman321

@tussiez Ready?

tussiez
Baconman321

@tussiez Ready?

tussiez
Baconman321

@tussiez Ready?
I think I'm getting the hang of this assembly lang!

tussiez

@Baconman321
Aay! Working in SortaAccounts

Baconman321

@tussiez U ready?

tussiez

@Baconman321 Did you see xxpertHacker's comments? Pretty good
https://repl.it/@SortaGames/sortacraft2?c=7422

Working on mai bot: https://repl.it/@SortaGames/SortaBot#index.js

Baconman321

@tussiez Ur available at 2-3 CST right?

tussiez

@Baconman321 Moving

tussiez

@Baconman321 Looking at SortaCraft RN tho, not much time

Baconman321

@tussiez When you lock the pointer it doesn't allow you to move... :/

Can u fix when u get back?

tussiez
Baconman321

@tussiez R u alive?

Actually, let's use this as the official communication system (because leaving a message pings everybody).

Can we work for a bit?

tussiez

@Baconman321
Yes I am
As I said a while back, I'm moving
Tomorrow, I'm driving halfway down (8h+)
2. Yeah
3. Not ATM, in the future :/

tussiez

@Baconman321 also: glass!

Baconman321

@tussiez OOOOOOOOO!

HOW???!??!

Wanna work with me now?

tussiez
tussiez

@Baconman321 Check this out - infinite build height!

Baconman321

@tussiez Nice!

RhinoRunner

You have entered the dark realm

tussiez

@RhinoRunner dark realm

RhinoRunner

@tussiez My sword looks like a pancake.
I can see how it would be effective though.

Fold it into a paper aeroplaen and throw it at their eyes

tussiez

@RhinoRunner AAPuncture

RhinoRunner

@tussiez Also if i look at a blocc while im right next to it i can see thru it.

Behold the power of x-ray vision

tussiez

@RhinoRunner X R A Y

tussiez

@RhinoRunner Writing code RN lol

RhinoRunner

@tussiez I am just finishing

tussiez
tussiez

@Baconman321 , is it possible to transfer a Uint8Array to a Web Worker? As you may know, the state of all voxels are stored in a big array. Since I haven't been able to pass the VoxelWorld object before, I've had to postMessage every time we set a voxel, and every time we do this, we have to post this update to both geometry data workers. If we could simply pass the whole array of voxels at once, this could improve performance by a lot.

Baconman321

@tussiez Why a Uint8Array?
I think it's more "lightweight" right?

Uhm, I don't know but I would assume it is possible.

tussiez

@Baconman321 Hmm, probably
We can try later

Baconman321

@tussiez Can you work now?

I'm available :D

tussiez
tussiez
Baconman321

@tussiez Want to work now?

tussiez

@Baconman321 My home is being inspected RN :/

Baconman321

@tussiez By people who want to buy it?

Cool!

Oh and also I'm modifying service worker a bit for efficiency...

tussiez

@Baconman321
1. Home inspector person

2 ooo cool!

Baconman321

@tussiez How do you think we're going to do this?

I think we should make the actual game loading a function (with parameters like seed and such) and call it right away (we can focus on game options later). That way when we make game options we can simply call the function with the parameters the person passed in.

Remember, we got to make the code easily modifiable in the future!

tussiez
Baconman321

@tussiez Want to work now?

tussiez
Baconman321

@tussiez I only got about 20 minutes, so let's do what we can. Meet you in sortacraft-2!

tussiez
Baconman321

@tussiez Ready?

tussiez

@Baconman321 Welp Sure

tussiez

@Baconman321 I keep finding more hidden code in SortaCraft..
I finally realized that the reason why I have two geometry data workers is to cull faces on one.
For some reason, I didn't fully implement this..
This second worker was supposed to be called regularly to remove all the extra faces in adjacent chunks (massive performance issue), as since it was separate from the main one for updating blocks/loading chunks, it wouldn't affect the game.

Baconman321

@tussiez I just got banned from Phantom Forces (my fav game on roblox) because of "exploiting". I'm innocent so I appealed.

It's probably just lag triggering an anti-hack script.

I hope I just get unbanned :(

Oh and also, did finding that information out (about sortacraft) help you make it load faster?

tussiez

@Baconman321
1. RIP :((
2. Yee
3. 2
4. It definitely should, working on model builder RN tho

Baconman321

@tussiez I found out that using document fragments when loading high amounts of contents into the div actually improves performance because document fragments are lighter than appending to the DOM itself. Once you are done with adding things to the fragment you append the fragment to the DOM.

I did this with stargaze when adding stars and the loading was so much smoother. It froze a bit at the end, but otherwise it was really smooth.

If you are adding a lot of things to the DOM I recommend using document fragments.

tussiez

@Baconman321 oooo
Cool!

maxina

Whoops!
This URL is no longer the official sortacraft website. We are sorry for the inconvenience.

tussiez

@maxina It’s in dev mode, but you can find the new game in the @SortaGames team

maxina

@tussiez Ok thanks!

tussiez

@Baconman321
I tried using Cannon.js (what's used in Sketchbook)
It's really cool!
https://cannontest.sortagames.repl.co

Baconman321

@tussiez Cool! Wanna work now?

Instead of using modules, you can use importScripts in web workers because it's experimental (requires flags) for anything around chrome 78 and down.

tussiez

@Baconman321 Hmm, K
Maybe not now, possibly later?

Baconman321
Baconman321

@tussiez Want to work now (this is around the time we usually work)?

tussiez
Baconman321

@tussiez Ok ready

Baconman321

@tussiez Yooo, want to work on sortacraft?

tussiez

@Baconman321 Sorry nat ATM

Baconman321
tussiez

@Baconman321 Today is school day

Baconman321

@tussiez Oh right, forgot. Do you have 11-12 CST available (or just 2-3 CST)?

Also, did ur test results come back yet?

tussiez

@Baconman321 Yee positive & Probably 11-12 & 2-3?

Baconman321

@tussiez K
Yay COVID buddies!

tussiez

@Baconman321
C o v i d Yee

Baconman321

@tussiez YoURe ToO YOUng TO DiE!!!!

Jk, jk ur probably fine like I was :D

Oh and also the autofinisher is kinda working on my CLIp (YAYYYYYYYYYY)!!!

I just gotta make it complete unfinished commands (which should be ez).

tussiez

@Baconman321
Lol yeah
Ooooo
Cool!

Baconman321

@tussiez can we work now?

tussiez
Baconman321

@tussiez U ready or...
?

tussiez

@Baconman321 I'm finishing up moar homework and also have class soon anyhow :(

Baconman321

@tussiez Oh, ok. 2-3 then?

tussiez
Baconman321

@tussiez HmMMmM Ok then let's get to work (when ur ready).

A lot of things need fixing!

tussiez
Baconman321

@tussiez When are you done (with school and such)?

Baconman321

@tussiez U ready?

tussiez
Baconman321

@tussiez Can u work now with me?

:D

tussiez

@Baconman321 Hmmmmmmmmmm
I am being productive tho RN : |
Yesterday I started Bruhblox (@SortaGames/Bruhblox) check it out
Prob

Baconman321

@tussiez Ok. There's always 2-3 CST :D

Also Bruhblox no work :(

tussiez

@Baconman321 yee, doesn't have code to add object yet :)
working on it from now till 1:00 tho

Baconman321

@tussiez Also make me admin in team pleeeease :D

tussiez

@Baconman321 BTW, something's happening with my internet connection (probably something outside, can't fix it) so it keeps dropping :( if you see me disconnect

tussiez
Baconman321

@tussiez Ok then, want to work on sortacraft?

Oh and also I have a good idea for my intro (on YT). I think ima make an intro via threejs!

Baconman321

@tussiez U there?

:(

tussiez
tussiez

@Baconman321 Nooooooooooooooooooooooo I missed it

Baconman321

HeHe I am determined to find you in a picture on your school's website @tussiez
:D

Or I can find that out when we find a way to chat (if u wanna show ur face)

Shows u (and me too) that we gotta limit the data we share online XD.

tussiez

@Baconman321 Lol
shameless self-promo

Baconman321

@tussiez What website is that?

No I'm determined to find your face >:D (jk).

All I would have to do tho is find a yearbook in your school and look through the pictures, it's that simple (someone could do the same with me too).

Uhm, I saw a few people on ur school's homepage that looked like they were more in high school, is your school for 9-12th grade too?

tussiez

@Baconman321
schoology.com
Lol
Yeah
Hmm.. the website is confusing
Probably showing pictures of people from the school district I guess..

also: https://bruhblox.sortagames.repl.co/ working better!
imma remove the other roblox clone repls

Baconman321

@tussiez Want to work now?

tussiez
Baconman321

@tussiez U there?

tussiez

@Baconman321 Welp, I'm doing a giant math packet RN

Baconman321

@tussiez Want to work now?

tussiez
Baconman321

@tussiez Wait when will u be ready?

tussiez

@Baconman321 Woops :(

Baconman321

@tussiez Would tomorrow work tho?
Any meetings around 2-3 CST?

Anyways, Ima finish up CLIp and make a wiki about it so terminal gonna take a bit...

tussiez

@Baconman321 Not tomorrow but yes that would work
Yee

Baconman321

@tussiez I don't understand too well, so uhm

are you available?
:D

tussiez

@Baconman321

homework busy
tussiez
Baconman321

@tussiez When would you be available?

tussiez
Baconman321

@tussiez K.
Meet u in sortacraft sortagames.

tussiez
Baconman321

@tussiez Hey. Wanna work now?

I got CLIp pretty much finished!

It can be used effectively now, although I'd recommend waiting a bit...

Baconman321

@tussiez Are you not gonna be available today?

:(

tussiez

@Baconman321 Sorry I’m in Costco :(

Baconman321

@tussiez Oh... monday?

tussiez

@Baconman321 I guess

Baconman321

@tussiez I GOT MENTIONED IN THE MONTHLY REPLS LIST!!!!
YAYYY!

Oh and also I accidentally deleted all of my CLIp work.

Thank goodness I was able to backup the main JS and HTML files.

(The logos were lost, tho. I can remake them easily, however so no prob)

tussiez

@Baconman321
1. OOOO Cool!!
2. F
3. Phew
4. K

tussiez

@Baconman321 I did something on SortaCraft recently..
Oh yea
I was adding physics, so right now it's broken :/

Baconman321

@tussiez Want to work now?

tussiez
angrydoge

Oof it wont let me in bc im not a dev, and ive been trying so hard to get the secret thing by hovering my mouse over every inch of the page, looking at viewsource, script files, etc, etc.
Y u do dis to me ;-;
If I could I would inspect but I cant oof

tussiez

@angrydoge I found a way to run js commands without Inspect I can show ya later... also I can show you how to enable dev mode

angrydoge

Le gasp also u talking about bookmarklets? @tussiez

tussiez

@angrydoge Yee, my chromebook has Inspect blocked, and sortacraft needs you to run somethin in the console

angrydoge

The F in the chat now I have to look thru every file lol @tussiez

AnthonyMouse

so slow…

tussiez

@AnthonyMouse Try switching graphics modes:
1. Press the Backtick ( ` ) once or twice to open the Settings window.
2. Click "Graphics: Fancy" to change the graphics mode to "Faster", which should make the game faster.

AnthonyMouse

no like it says generating world forever @tussiez

tussiez

@AnthonyMouse hmmmmmmmmmm

AnthonyMouse

and mobs

AnthonyMouse

make villages!

tussiez

@AnthonyMouse Every day we get closer and closer to that goal :)

AnthonyMouse

yay! this thing is amazing, I wish I could make something like this. :) @tussiez

tussiez
Baconman321

@AnthonyMouse Most likely villages might come with superflat (at least, I think that's a good idea). Villages might be generated with seed, which will definately be at least somewhat of a challenge. I think that will most likely come after survival, although I think it should come before since in survival villages can be crucial for living.

tussiez

@Baconman321 Yeah. What we could do is make a mini version of SortaCraft that we can use as a sort of a "tool" for this kind of work. This app would simply allow us to build models (e.g villages) that could be saved as voxel data and used later in the game.
The challenge here to add villages and other naturally generated structures is "laying" the model flat onto the terrain. This would require sampling the terrain heightmap and setting the corresponding blocks in the model to that Y position.

tussiez

@Baconman321 As long as this is directly inserted into the chunkworker code (where a lot of the data needed is available), it shouldn't be too hard, but we'll have to wait and see.

Baconman321

@tussiez K let's work now :D

tussiez
Baconman321

@tussiez Wanna work now?

tussiez

@Baconman321 I'm in a meeting RN, sorry :|

Baconman321

@tussiez Ah, my friend is here so :(

He's remaking the logo :D

tussiez
Baconman321

@tussiez Coderx tried to change the leaf textures, but for some reason the texture he uploaded is off so it loads things a bit wanky (grass has a bit of stone, stone has a bit of grass). However he claims it is 16px by 16px like urs. When I compare the two his is a bit more blurry. Could that be the problem?

tussiez

@Baconman321 There is more than one problem here.

tussiez

Do you want to go on the Repl? I can explain there.
@Baconman321
BTW, new notifications!

Baconman321

@tussiez Wanna work now?

Oh and also... permission to add google analytics?

tussiez

@Baconman321 Analytics: Sure
2: sorry, I went to the grocery store

tussiez

@Baconman321
I needed to add block support for the inventory, but all the textures were all in one image so I needed to split them, so I wrote a web worker/module that generates a texture atlas by generating separate images using createImageBitmap().
I realized that you can use starting X and Y position to "cut out" parts of the image in drawImage, but we might need to use this atlas elsewhere (e.g generating 3D block images/Idk)

tussiez

@Baconman321
Works!! Yay :)

tussiez

@tussiez You can add blocks and items to the inventory now w/ this function in the console:

e.g Light Block or Stone

Baconman321

@tussiez Nice! Want to work now?

Btw yesterday I crashed just as the internet gave out so that's why I didn't come back.

tussiez

@Baconman321 Oof RIP
Sure! Was working on multiplayer physics

Baconman321

@tussiez U there? (My bro was messing with me so :< )

Baconman321

@tussiez oOf Ok I'm available any time -3 CST then.

tussiez
Baconman321

@tussiez K comin.

Baconman321

@tussiez I'm in!

tussiez
Baconman321

@tussiez Let's do this!

tussiez

@Baconman321
Got an idea for the particles when you break/place blocks.
1. Generate a group of particles (or simply reuse them!) with the texture of the block you broke/placed.
2. Position them randomly around the block.
3. Make them fall to the ground.

Baconman321

@tussiez OOoh!

tussiez

@Baconman321 Can't wait to add

Baconman321

@tussiez Ok I'm ready now.

tussiez
Baconman321

@tussiez Want to work now?

tussiez
Baconman321

@tussiez Want to collaborate now?

tussiez
Baconman321

@tussiez Wanna work on sortacraft now?

Baconman321

@tussiez We can actually copyright our code you know... (or at least provide a license)

tussiez

@Baconman321 Woops! Sorry, I missed this

tussiez
Baconman321

@tussiez I'll tell you more later. Also I found out I can use jsdelivr for my projects!

tussiez
Baconman321

@tussiez Want to work on sortacraft now?

Baconman321

@tussiez Oh and also, I found a really cool neural network library made from the same person who made GPUJS which is called BrainJS that we can use for mob AI.

tussiez
tussiez
Baconman321

@tussiez Ok I'm there. Join when u can.

Baconman321

@tussiez U ready?

tussiez
tussiez

@Baconman321 Remember to use the SortaGames repl

Baconman321

@tussiez Yeah (I was finishing some missing assignments)

Baconman321

@tussiez K I'm there.

tussiez
Baconman321

@tussiez I made my CLIp symbol.
Normal

White (which you can't really see because of repl's background)

tussiez
Baconman321

@tussiez Def gonna make u a sponsor.

Now we need an official sortacraft logo, like a really good one (that has a transparent background).

tussiez
Baconman321

@tussiez Oh wait nvm we need a sortagames logo, and then just make a minor sortacraft logo (Ima make sortagames the sponsor).

tussiez
Baconman321

@tussiez Wanna work now?

tussiez
tussiez

@Baconman321 Again dunno where to post this xD
Over the past few days, I've squashed some bugs on SortaCanvas, added some new features, made it a module, added a ton of error checking, added touch functionality, and wrote a documentation!

tussiez

@Baconman321
Pretty close to inventory! Yay

Baconman321

@tussiez I finished the main features of CLIp, gonna squash a few bugs and add a few features.

tussiez
tussiez

@Baconman321
Dunno where you ping you on this..
While you were away, I was able to create events on the SortaCanvas library, add object picking (tells if you are clicking an object), and also the Tween.js animation, if you missed it. I wrote a little demo that lets you drag and drop the shapes on the mainpage.

Baconman321

@tussiez It's kind of buggy. Also, want work on sortacraft now?

Baconman321

@tussiez It's kind of buggy. Also, want work on sortacraft now?

tussiez

@Baconman321 Yeah, I know how to fix it + I was on the road, I'm available now.

Baconman321

@tussiez OK meet me in sortacraft.

tussiez

@Baconman321 Got it!

tussiez

@Baconman321, the service worker is broken on https://tussiez.github.io/sortacraft. How could we fix it?
By the way, I'm available now.

Baconman321

@tussiez K. I know why too. I gotta do some stuff before collaborating (Dad's firewall prevented me from doing math).

Baconman321

@tussiez Done. Took a short bit. I'll join rq.

tussiez
tussiez
Baconman321

@tussiez Wanna collab now? IDK if you're available but sometimes u are so I thought I'd ask.

tussiez

@Baconman321 I'll finish some more homework, maybe in an hour? I'll let you know.

Baconman321

@tussiez Ooh then I'm available 2-3 CST only...

tussiez

@Baconman321 Thats K

Baconman321

@tussiez K ready?

tussiez

@Baconman321 Working with angrydoge rn, gimme a couple mins
*Helping him out with some Three.js

Baconman321

@tussiez Ah, k.

Baconman321

@tussiez Ready yet?

tussiez
Baconman321

@tussiez Gonna take a crack on fixing cinematic mode.

tussiez
Baconman321

@tussiez Wanna work now?

tussiez
Baconman321

@tussiez Want to work now?

tussiez
tussiez

@Baconman321
TL;DR: Frustum culling needs work.
It's somewhat difficult to see this in the screenshot below, but this chunk has hundreds of useless triangles that could be removed, since they're touching A. another chunk and B. they would be invisible to the player in game. This problem is easily fixable, as all I need to do is to regenerate the geometry of the chunk. Exactly when to call this is the problem.. it's very hard to tell if it needs to be updated or not. I already have a basic system for this set up, and it works (most) of the time. The image below shows that it could be improved.

Baconman321

@tussiez Ok. Want to work now?

tussiez

@Baconman321 I'm in math class rn. I'll be home @ 1 CST, so anytime after that.

Baconman321
HEMLANU

I like that name

tussiez

@HEMLANU Thanks!

HEMLANU

but its name is sortacraft

HEMLANU

I felt like I am really plying Minecraft

tussiez

@HEMLANU Glad you're enjoying it!