Time to Go the Distance
Bottom-Line-Up-Front: Going the Distance with Babylon.js is the name of the book I've been working on, available for pre-order now. The book is aimed at beginner to higher-level intermediate developers, is being reviewed by members of the BJS team, and will demonstrate how to build a simulation-game hosted within a web application that can be installed and published to app stores.
Pop Quiz: Do you consider any of the following to apply to yourself?
- You are a designer of some variety or another interested in learning how to create your own 3D applications
- Web Development and JavaScript have been your jam but you want to take your skills up to the next level and dabble with 3D
- Being familiar with game engines like Unity, Unreal, Godot, etc., you are interested in taking your content to the web using JavaScript
- 3D stuff looks super cool - what's going on and how do I get in on that?
- I'm a bit intimidated by how complex 3D programming seems to be but I'm willing to learn if I can get a helping hand
Congratulations, there's something for everyone!
Babylon.js is an Free-and-Open-Source JavaScript library which provides an elegant, cross-browser (and cross-platform!) wrapper around the WebGL and newer WebGPU API's. In addition, BJS exposes cutting-edge browser capabilities such as WebXR, a standard used for writing web-based VR and AR applications. Just because it's cutting edge tech doesn't mean you have to bleed for it. The Babylon.js team is fanatically committed to maintaining backwards compatibility, meaning that code written for BJS 5.0 will still run (with perhaps minor tweaks) on BJS 7.0, whenever that may happen!
All of these are cool bits of info to know, but where this applies to me (and presumably yourself, since you're reading this) is that after using BJS for fun and games for a bit I started thinking about how I might be able to participate and contribute back to a community that is so incredibly supportive, passionate, and talented. While I am passionate about technology and things like BJS, I sure don't have the talent! Maybe there was something I could to in the way of helping to support others who actually do have the talent for these kinds of things...
A series of events related to this noodle about contributing to Babylon.js happened in the Summer of 2020 that have ultimately led to this post and everything contained herein. For the past year and a half or so, I've been working on this, and I've really been excited to share with the community. There's just so much work that needs/is still needed to be done, and it's never going to live up to my impossible standards, and that's just one reason why it's a good time to get this out into the open! Some folks [Ed: really, anyone following me on Twitter] are already aware of at least some of the machinations and rumblings going down with this project, and others may merely have suspected. Today however it's finally time to bring everything out into the open with a good old fashioned Book Announcement!
Pre-Order Now
Through 14 chapters in three separate sections, the book will take readers on an end-to-end journey of building an entire application - a video game - from start to finish. Starting with a BJS refresher and ramp-up and continuing on from how to set up WebPack to handling input, managing state, writing shaders, and packaging into a Progressive Web App (among other topics). Although the Amazon listing currently lists a publication date in October, I can assure folks that it will most certainly be done before that time - I'm expecting a July or August at the latest date for its' availability.
Space-Truckers: The Video Game! is currently in a sort of final preview stage in preparation for this weeks' hush hush thing hush hush. The game itself is Open-Sourced with the repository being available here with the intention of serving as a BabylonJS reference/full stack testing architecture - in addition to hopefully giving a smidge of enjoyable experiences.
That's where you all come in! There are a whole swathe of GitHub issues in the Space-Truckers repository that are both awaiting creation and/or awaiting someone to come along and fix/build them. If you've been wanting to contribute to the BJS v5.0 launch event here's your opportunity!