dek Profile Banner
dek Profile
dek

@shatterspine

4,064
Followers
564
Following
242
Media
2,005
Statuses

multiplayer networking, game engines, browser stuff. learning wgpu + odin

Joined February 2023
Don't wanna be here? Send us removal request.
Pinned Tweet
Yes, I think the potential of browsers is underrated. MMORPG engine + editor + world can load in around one second with no caching. Browsers are amazing technology if utilized properly
@Dave_Kayac
Dave.R
1 year
@shatterspine And this is all in the web browser as the game engine?
1
0
12
31
69
798
made a tool yesterday to speed up foliage geometry generation. before this, i was manually doing it in blender, painfully making uv maps and geometry, exporting, fixing normals, etc - draining. lots of stuff in gamedev is actually a simple task but tools make it complicated
24
166
1K
@shatterspine
dek
2 years
javascript + webgl. wow classic inspired forest
40
73
1K
@shatterspine
dek
8 months
@GregoryMcFadden this cant be a real tweet
2
0
410
@shatterspine
dek
2 months
i have written 23 lines of odin
Tweet media one
10
19
344
@shatterspine
dek
3 months
Threejs vector3 constructor has a spicy line that is a 10x slowdown in a hot loop. Its inside the constructor for treeshaking reasons
Tweet media one
Tweet media two
13
13
317
@shatterspine
dek
28 days
@LeahLundqvist when I see this type of workflow I think: if your main bottleneck in programming is writing throughput, you're most likely doing grunt work and not anything difficult. LLMs might genuinely replace you
2
4
261
@shatterspine
dek
2 months
This reminds me that i need to promote one of my fav blogs more - ITHare's material on multiplayer system architecture. Incredibly cracked in building multiplayer / MMO systems. ABSURD table of contents - online and book. Easy buy for me
Tweet media one
@ludwigABAP
ludwig
2 months
for me it's supporting authors writing books on my areas of interests ETA Spring 2025
Tweet media one
14
29
550
3
13
256
@shatterspine
dek
10 months
Hordes 0.50 is finally ready to play - js based MMO, playable in the browser! Heres a little trailer, check it out!
15
30
183
@shatterspine
dek
6 months
5
0
222
@shatterspine
dek
18 days
Enabled smoothing across vertices, as well as actually properly picking up the surface colors - also added ability to play around with some bounce values. Made with odin, fun project to implement
@shatterspine
dek
19 days
odin voxel lights - with a couple of light bounces its starting to look pretty interesting
0
0
82
7
15
218
@shatterspine
dek
6 months
@sashachapin Didn't he do something in that direction when he planted millions of trees
2
1
216
@shatterspine
dek
4 months
@SamSantala @Adobe @Photoshop Time to wipe that stuff off of the hard drive
3
0
210
@shatterspine
dek
3 months
In the past I mostly discarded wasm as a real option to make use of while developing for browser games. But I think this came largely from me not seeing things from the right perspective - I think treating wasm as "a way to get some of your code to run fast" has issues. For
Tweet media one
15
5
197
Gloomfury Ruins
9
6
159
@shatterspine
dek
5 months
Debug view of my browser based world editor: - Navmesh - Colliders - Terrain Chunks & Geo
7
5
161
MMO playable in the browser, no downloads🧙🧙‍♂️🧙‍♀️ 48h test tomorrow at
11
31
151
300 concurrent players within 5 minutes. js browsergame on a 15$ vps 👁️ ptr is now open!
11
13
152
@shatterspine
dek
22 days
finally had a bit of time for odin - using bindings for wgpu + imgui. i'll probably turn this into a voxel lighting testbed to research different lighting methods. can also export to wasm for the browser!
0
10
146
javascript engine👌 faivel east coast progress. still wip but already my fav zone i think.
10
15
141
@shatterspine
dek
11 months
Players asked for a scrollable map because the world is so big now. Here's the current progress on that
8
4
135
@shatterspine
dek
20 days
Odin based renderer progress Got to implement the basics - drawing lines (to trace a ray, draw a basic unit grid, etc.) Since this will be an experimental lighting project, I am focusing on debug tooling - I'm interested in pre-baking lightmaps or vertex lights
3
1
139
javascript + webgl based signup screen for hordes - Web games have not yet reached their full potential, especially with WebGPU coming up. Excited to see what other devs will be creating.
9
10
137
@shatterspine
dek
3 months
Brushing up my knowledge on WebGPU with a simple voxel experiment. I've never written vertex AO for voxels but man is it satisfying. Theres something about that lighting - maybe just nostalgia from minecraft. WebGPU really is a joy to work with so far. I did not run into any
5
5
134
@shatterspine
dek
11 months
A little bossfight we had in the reworked zone (PTR) yesterday. 80 Players in a Raid, in a Browsergame.
10
8
125
@shatterspine
dek
19 days
I've got a "transfer function" inspired by old quake lightmaps working, next I should be able to do some basic light bounces
3
3
115
@shatterspine
dek
26 days
@blephin_ Fucking hell imagine being 7 years old and your parents throw this at you to make you shut up. How do you even navigate that, it's over for you at that point
1
1
111
underwater biome + rendering + depth based light improvements
11
6
108
I was hoping to get things ready for a small ptr test this weekend, but didn't quite manage - test will be somewhen during the next week :) Anyways, here's a nice mount.
9
4
104
@shatterspine
dek
29 days
@ludwigABAP @cachecrab lmfao dude did they just want to deploy you in the general area of a country ? "its time. deploy the agent"
1
0
103
Finished custom Foliage & additional lighting pass for one Faivel biome. All Krita! Sorry for just posting pics of the ground. I work in phases batching lots of stuff together. Some months in the future will all be character model improvements, or items, or UI. Atm its Biomes.
9
6
91
@shatterspine
dek
2 months
webgpu + js perf test from a couple weeks back - had no intention of turning this into a game, just had a voxel itch and wanted to try webgpu for the first time considering porting this to odin - which has wgpu
7
2
86
Made the node editor more generic, allowing easy addition and editing of obelisk positions (adding many cool new pvp spots). also improvements to auto balancing AI (used for testing in this video) with improved positioning and using channeled spells (volley and fc)
7
4
86
showcasing javascript + svelte based editor to handle macro scale world editing of spawns, chunks and similar tasks. currently finalizing positions and levels 1-25
9
4
85
@shatterspine
dek
19 days
odin voxel lights - with a couple of light bounces its starting to look pretty interesting
@shatterspine
dek
19 days
I've got a "transfer function" inspired by old quake lightmaps working, next I should be able to do some basic light bounces
3
3
115
0
0
82
Bridge over river #screenshotsaturday
4
5
80
headless steppes colors + daycycle
17
4
80
@shatterspine
dek
5 months
Browser 3D world editor where you can see what other people are building. More misc projects in my bio link! (Collecting some videos for my website)
5
7
77
I've spent a lot of my teenage years obsessing over rare mount collecting, analyzing the TLDP paths in WoTLK, collecting mounts that take months to find, etc. Nowadays Im building my own small MMO and recently got to implementing that kind of thing myself. Rare monsters on
14
6
75
30 man high end hellspawn farming, in maybe my favorite location coming in 0.5. (hellspawn = mobs killed quickly respawn with a buff, doing aoe damage and grant higher loot. so far the testing on this has been very fun when groups reach their power equilibrium)
5
6
72
@shatterspine
dek
2 months
@clashreport Old men yelling at clouds (it escalated)
3
0
70
@shatterspine
dek
10 months
@chrisalbon I feel that the number one thing about it is it's lack of intent. It doesn't seem to inquire about anything, have interest or genuine curiosity / any motivation because an LLM has no desire or pain or joy
2
1
69
@shatterspine
dek
6 months
simple 5 frame coin particles. if they had basic normal directions it could potentially look really awesome but I already like the effect.
5
1
69
oasis biome starting to look very promising, transitions into sand look smooth, overall color palette with the mobs is sweet. also put some shells onto the ground for variation. light & fog still wip, probably gonna rework the palm trees first🌴
2
5
68
@shatterspine
dek
11 months
Difficult, but possible to solve: Starting work in the morning is probably the most difficult thing for most solo devs, and from my convos with friends, the daily morning procrastination is a silent killer that will end up in a full day and after 3 of those in a row you feel like
@honeycomber2
honeycomber
11 months
@shatterspine @AzFlin been working on my own stuff for a few months now (very much a beginner) and I always come back to your work as inspiration when I'm burnt. Any tips on staying consistent and not getting completely lost in the sauce?
1
0
2
10
3
65
@shatterspine
dek
3 months
@SheriefFYI Yes, their art direction is perfect, but the source engine does precalculated light maps so absurdly well that even a patch of wall with a grungy lowres texture looks photorealistic at a glance much more so than many modern engines, which go for more "awesome" looks that may
1
0
64
@shatterspine
dek
2 months
Megamorphic deoptimization jumpscare for 3d web developers
6
4
66
@shatterspine
dek
5 months
@watn_tarnation People with zero technical ability can run a discord server, live collaborate with others on it, pay no hosting costs, no domain costs, infinite data, ddos protection, have decent perm system, ability to instant join by anyone else with no signup, Sharing with a single link.. if
0
2
65
A simple fragment shader trick is to draw height lines every few vertical units. helps with creating beaches and to ensure consistent smoothness of terrain 🏔️🏖️
2
4
66
Open World Editing Trick - Modulate heightmap based on texture values, rather than painting textures based on heightmap. 1. Paint Macro Heightmap features like Mountains 2. Do a texturing pass 3. Modulate heightmap based on texture (Advantages of writing custom editors) Reason
5
7
65
@shatterspine
dek
10 months
Update 0.5 is planned to go live on 13th December (Wednesday)🧙‍♀️
Tweet media one
7
4
60
I feel like sharing the actual process of MMO dev more. Sometimes I don't tweet for a couple of days, and players wonder wtf im doing - just means that im probably batch implementing 8 api endpoints. Amount of "invisible" work is outrageous, so ill make it visible. Sunday:
Tweet media one
5
4
61
This is getting some attention. I might turn it into a $3 standalone tool one day with better featureset and such. Gonna call it "Seed" the speedtree for lowfi / hand painted foliage stuff
made a tool yesterday to speed up foliage geometry generation. before this, i was manually doing it in blender, painfully making uv maps and geometry, exporting, fixing normals, etc - draining. lots of stuff in gamedev is actually a simple task but tools make it complicated
24
166
1K
5
3
61
@shatterspine
dek
9 months
Nice organic + fairly balanced wars today, best traffic we've had in a while, as well as 100+ player Gloomfury! Update 0.5 is thriving during the Christmas break, next year will be good 🫡
3
3
59
@shatterspine
dek
11 months
ruin skelly (new gs terrain + foliage set)
3
6
59
@shatterspine
dek
10 months
Hellspawning is working well, im very happy with it. people are now forming 20+ man groups and it remains interesting (taunt rotations, etc). I occasionally run by these locations invisible to check what players are doing, and it is the most motivating thing ever!
3
4
57
A final iteration on faivel daycycle light and colors, this is for the more mystical area. "moonpine". the daylight stage has a strong bright blue horizon and probably looks closest to the alpha world from way back.
4
4
56
Bone Desert - Colors, Foliage & Lighting preview
5
3
55
everything is fine (infinite respawn bug)
5
3
51
@shatterspine
dek
11 months
Initially it was for ease of development. Having a textured world with blocky, abstract characters is not a design I specifically chase after, its purely pragmatic. Once the time comes, characters will be upgraded to fit the aesthetics while keeping the good parts (silhouette).
@AzFlin
AzFlin
11 months
@shatterspine did you make all characters blocky on purpose? or is this some limitation of game engine
0
0
3
7
3
53
@shatterspine
dek
2 months
At last, a full free day to just hack away at a toy gamedev project. Bless
Tweet media one
3
0
54
@shatterspine
dek
29 days
Tweet media one
2
1
52
Faivel Moonlake Biome
4
3
51
@shatterspine
dek
8 months
Now that Update 0.5 has been out for ~2 months theres good data on the new leveling logs. Heres a visualization which i largely use to identify potential hotspots, problematic areas bad experiences (red dot = retention drops / achieving max level) made with js / svelte
5
3
52
@shatterspine
dek
4 months
Experimenting with WebGPU a little bit. First impression is.. neat, ability to use more "freeform" data buffers in shaders is really convenient.
3
0
50
@shatterspine
dek
26 days
Blizzards patent application for machine learning based texture generation from 2023
Tweet media one
Tweet media two
@tszzl
roon
27 days
people in animation and game assets and stuff are definitely using ai tools quietly and not saying anything bc twitter would crucify them
184
113
2K
6
0
53
Visualizing player leveling graph from PTR test last weekend. #svelte
3
4
49
@shatterspine
dek
3 months
@BenjaminMcCann can anyone provide a convincing reason for there to be a project in existence that is A) actively in development and B) is receiving updates such as transitioning to modern svelte and C) has to run node 0.4
3
0
51
@shatterspine
dek
11 months
PTR is UP! can still sign up, i am unlocking people every few minutes!
5
2
46
@shatterspine
dek
8 months
Added a new way to level up to my browser game - Auto Grouping. If you ever had problems finding a party in Hordes, give this a go. Players are automatically matched in groups and invited / summoned by AI. Allows for chill leveling without a lot of pressure. (Starts at level 3)
3
2
46
chilling with the moose. another day cycle with different colors. #screenshotsaturday #gamedev
6
1
46
@shatterspine
dek
11 months
Hordes (Browser MMORPG) PTR Test with new changes tomorrow! Link is in my profile - can still get unlocked :)
Tweet media one
4
5
44
@shatterspine
dek
4 months
Bark Texture Generator (Handpainted style, but its fully procedural)
2
0
46
@shatterspine
dek
11 months
In my daily struggle to find ever more satisfying background noises to listen to while working, i believe i have found the holy grail of obscure game ambience videos
Tweet media one
4
0
45
beach 🏝️
Tweet media one
2
1
45
@shatterspine
dek
2 months
Clean, no bells and whistles 2D phys library (TS) with serialization in mind for networking, love to see it. by @cokeandcode - No classes, no function coupled to data - No global state, no useless patterns - Good types and docs Nothing else. Wish more projects looked like
Tweet media one
2
5
45
@shatterspine
dek
6 months
my first zig loop. gonna evaluate how good zig might be for large scale multiplayer with websockets. my first loop: serialize a struct, send it over websocket, deserialize in the browser.
Tweet media one
6
1
43
@shatterspine
dek
11 months
Creating even simple multiplayer games is awesome when you get player feedback of lovely moments - no matter how simple the characters, even pure text would do it
Tweet media one
Tweet media two
4
0
44
@shatterspine
dek
3 months
wild tradeoff if you ask me, but its deemed acceptable, since you can use typedarrays if you ever need a lot of vectors. generally i see where they're coming from but.. you need arcane threejs knowledge to be aware of this in the first place. Beginners coming from non-js land
Tweet media one
3
0
45
@shatterspine
dek
6 months
ID168 aegis aura
6
4
44
@shatterspine
dek
9 months
End of christmas break + sent out 30k mails yesterday ~900k to go. More tomorrow. Opening rate of 14% - no idea if thats good or bad, but it has a measurable impact on the concurrents.. highest peak in years. also experimenting with some tiktok stuff. exciteeeed🙏
Tweet media one
4
1
43
@shatterspine
dek
5 months
no work tweets for a couple of days. out here touchin grass in korea (it's biutipul)
2
0
43
more detailed insights on the 48h test 🧙‍♂️ posting some data. this is based on 1.020 players and 12.700 player level log entries containing level + played time + party size. (bonus video of a group appropriating another groups spawn)
3
4
42
@shatterspine
dek
10 months
Open world party farm (searching for a rare pet) yesterday. One of the goals of the "Hellspawn" system was to make high end group farming challenging. While there are some problems for soloing as a consequence, in general I think its creating a lot of good olschool MMO dynamics
3
3
41
baby sea turtle did not like this beach
5
5
42
@shatterspine
dek
1 month
carmack webgame enthusiasm. tis is a good day. he's right on the bloat though
@ID_AA_Carmack
John Carmack
1 month
I wonder if, instead of being a Steam Game, there could be more potential in web games of this type (and others!), where people are playing the game before they even realize it. Running all of Unreal inside a browser is impressive, but lightweight bespoke web game solutions
90
54
1K
3
1
42
@shatterspine
dek
11 months
PTR has been super fun, some more footage of people just fooling around. Always a good time when a wave of people groups up together. At peak it was around 12x10 full parties. Will be up until around 6pm CET.
2
0
40
Also part of v0.5: New obelisks, like this one right behind VG base, on the side of a cliff. + respawning during obelisks will still bring you to the War Conjurer + obelisk participation resets recall CD
2
2
40
@shatterspine
dek
8 months
@subhendupsingh @levelsio In Germany, you can make an appointment 12-48 weeks in the future and get the result, on paper, with another appointment. (Slightly hyperbolic but not really)
7
1
40
@shatterspine
dek
6 months
had some more time for zig and networking with websockets.. added some collisions. its pointless but fun! server is now running at 10ms ticks but client can draw smooth interpolations.
3
1
38
current collision detection in hordes caused issues with buildings. its not robust enough and subject to tunneling. wont work for caves, needs to be bulletproof. gonna try to do capsule vs triangle test & resolve (swept sphere) Step 1: visualize
3
1
39
@OpTic how do you hit a table so hard that your shoes come off
1
0
36
Weekly Devlog Time - Browser MMO Polishing for 0.50 continues. Arena required a bit of attention with new respawn mechanics, finally added diving, and just wrapping up general stuff + bugs + QOL. 4th Nov PTR seems realistic. Have a nice weekend!
Tweet media one
Tweet media two
7
1
38
adding more dry bois... hl is getting 4 biomes, texture work is progressing well and once you throw unique foliage into everything, it really gets its own character. hl desert, steppes, oasis and marrow
1
2
38
@shatterspine
dek
4 months
@balajis A bit weird to cram in all mobile phones in the vertical axis. The sum of devices measured in that graph probably grew rapidly
1
0
38
can also make more scattered type regular grass with it
1
0
36
@shatterspine
dek
11 months
Micro Devlog Time After last PTR test I implemented player feedback while keeping some tasks for next week. Several minimap features were requested and those will take quite some time, so no test this weekend. I've also got some secret additions planned! Have a nice weekend!🫡
Tweet media one
Tweet media two
2
0
35
@shatterspine
dek
11 months
In Update 0.50 A small one I squeezed in yesterday, buffs able to communicate item ids, therefore mounts and pets can now accurately reflect on buff icons #screenshotsaturday
1
1
36
@shatterspine
dek
2 months
@passivestar_ ok but how insane is the rendering on this. that metal material looks so good
1
0
36
@shatterspine
dek
11 months
Micro Devlog Time PTR Test will run on Nov 4th, sign up if you wanna join :) Mainly spent time on the spell engine, most of these bugs related to obscure rules for parsing order of spell interactions (e.g. buff queued entity while alive, dies in same frame, buffs added after
Tweet media one
Tweet media two
8
4
36