Issue 019
Read online to see icons!
🔥 Headlines
🥳 We are reaching the 1-year anniversary of Web Game Dev! The website, newsletter, and Discord server, which now counts nearly 1500 members, all started about a year ago, and it's been a fantastic journey! Web game developers now have a place to share their work, learn from each other, and get inspired. Thank you all for being part of this great community and making it what it is today!
⭐️ Sponsor
Poki is on a mission to create the ultimate online playground – where players and developers come together to play and create! Together with a growing 300+ game developer community and 50 million players each month, we’re creating a new standard for web games. Interested in working together? Share your game with us!
💼 We’re hiring! We’re on the lookout for someone with a keen eye for hit content and talented game developers. Do you have a great feeling for games with outstanding people skills and enjoy the thrill of generating new business in a growing and competitive niche? Then check out the full Business Development Manager listing!
🏎 Engines & Libraries
- Three.js r158 – Includes BatchedMesh addon by takahiro (changelog, migration guide).
- Drei Vanilla v1.13 – Text, SpriteAnimator, Billboard, Outlines by vis_prime and alexzhang1030
- Drei v9.88 – Fisheye, RenderCubeTexture, Cloud
- Threlte – CSM, useSuspense, useTexture, useGamepad, @threlte/xr, @threlte/flex. Threlte Plugins tutorial.
- TresJS cientos v3.5.0 – HTML component, FBO, Line2, CatmullRomCurve, GlobalAudio, Directives. See the previous 3.4.0 announcement of LensFlare, Sky, SVG, and Stats-gl, and the upcoming CustomShaderMaterial
- PlayCanvas Engine v1.66.0 – WebGPU enhancements, Null renderer for NodeJS, WebXR Anchor support.
- PlayCanvas Editor v1.33.11 – Support for AVIF and WebP
- Phaser 3.61 Beta 4 – See the announcement post of Beta 4 and Beta 3
- Phaser Editor 2D v3.63.0 and a Game Objects in Phaser Editor 2D tutorial by Harshal Gami.
- PixiJS v8 Beta – Adds WebGPU Support and improved performance with a new architecture.
- Babylon.js v6.28.1 – Ground Projection
- Needle – 3.22 Gaussian Splatting and meshing for Quest 3
- Wonderland Engine v1.1.0, 1.1.1, and 1.1.2
- Ambient Engine platform announcement (video).
- Hology Engine is a new engine built on Three.js (see the sculpting demo).
🛠 Tools
- gsplat.js, JavaScript Gaussian Splatting library by Dylan Ebert
- Triplex 0.60.0 – Element actions, duplicate elements, backend stability improvements by DOUGES
- react-three-babel by Umar Ahmed and Cody Bennett
- glTF Viewer 4.0 by PlayCanvas
- Super Splat – 3D Gaussian Splat Editor by Donovan Hutchence
- Timeline.js for PlayCanvas (video) by Cem Demir
- PICO officially supports PWAs by PICO XR
- Introducing the new heyVR Gameplay SDK by heyVR.io, a portal for WebXR games
- PolyDraw.app (video) by verekia – Draw polygons, organize them by groups and colors, export coordinates
- About Shaderfrog 2.0 by Andrew Ray
TypeScript support info has been added to every library listed on WebGameDev.com. There is also a new Spatial Partitioning page with Quadtree and Octree libraries.
🎬 Videos
- What can you do with WebGPU? talk at Devoxx by Corentin Wallez and François Beaufort
- How do Major Video Games Render Grass? by SimonDev
- Your Colors Suck (it's not your fault) by Acerola
- How Are Games Rendering Fur? by Acerola
- Interactive particles loop with Three.js by akella
- 3D in React With Triplex, a Visual Editor for R3F on Learn With Jason with DOUGES
- Build a 3D Multiplayer Mobile Shooter Game with Playroom by Wawa Sensei
- 10 Days to Create a 3D Multiplayer Game with React by Wawa Sensei
- How to Build a 3D Chatbot with ChatGPT & ElevenLabs by Wawa Sensei
- TresJS Lights & Shadows by Alvaro Sabu
- Babylon Chronicles: The Future with WebGPU by Babylon.js
- Using PlayCanvas - the open-source Unity alternative for the first time by Huw Prosser
- Steam Visibility: How Games Get Surfaced to Players by Erik Peterson
- Switching from Unity to Wonderland Engine by Wonderland Engine
- Phaser Tutorial | Make Your First 2D JavaScript Game by lowpolyprincess
- Building Mixed Reality Experiences with WebXR with Rik Cabanier and Felix Z
- How We Ported a Native Quest Game to WebXR by Timmy Kokke and Jonathan Hale
- Video series on various topics such as GLSL, AI with Yuka, Three.js, Babylon.js, and Physics by Wael Yasmina
✍️ Articles
- From WebGL to WebGPU by François Beaufort
- What's New in WebGPU: Chrome 118 and Chrome 119 by François Beaufort
- A Journey Into Shaders by Antoine Mayerowitz
- Path to Glory — Post Mortem (JS13K 2023) by Rémi Vansteelandt
- Playing with the Gamepad API by Alvaro Montoro
- Ray Marching in the Babylon.js Node Material Editor by Popov
- How We Profile WebXR/WebGL Apps by Wonderland Engine
- Wonderland and Robot Invader convert VR game to web and PC by Wonderland Engine
- Scaling Hathora to 1 million CCU with Frost Giant by George Price
- An Interactive Intro to CRDTs by Jake Lazaroff
- MMO Architecture: Connections, Sockets, Threads and Source of Truth, Dataflows by PRDeving
- CrazyGames launches CrazyGames Originals – See the list of Originals
🎮 Games
- reDEAD by TheoTheDev – Defend your base and survive against waves of zombies! 🧟
- Finn's Ascent by Luke Carl Thompson – Find your way through the ocean and the sky! 🐠
- Battle Typer by Kornelijus Šaulys – Typing game with battleships! ⛴️
- Zoo Drop by Stephen Haney – Merging puzzle game 🐼
- Simply Up by Solar Games – Climb your way to the top in this parkour game! 🏃♂️
- Path to Glory by Rémi Vansteelandt – Beat 'em up that won js13kGames 2023 🗡
- Konkr by Embair – Turn-based conquest strategy game where you expand your kingdom 🏰
- WizardWars.online by Luke Wood – Fight other wizards in arenas! 🧙♂️
- Mini Golf Club by Obumo Games – Real-time multiplayer mini golf ⛳️
✨ Demos
- Voxel Global Illumination by N8
- Zelda Wind Waker clone (tweet) by Robin Payot
- Waterfall by Steve Krichten
- Mixing context menus & models (live) by 0xca0a
- Warpspeed (repo) by Ed Sunman – Winner of Threlte Warp Hackathon
- Halloween Zoetrope (repo) by idlesseby
- Zombie shooting game demo by Igor Suntsev
Join the fun in the Web Game Dev Discord server!
If you liked this issue, please 🐦 retweet it. It helps a lot!