In order to save time, you must first invent the universe

Paul Brzeski
2 min readMay 23, 2017

--

One of the hardest parts of developing a 3D game is coming up with assets such as models, textures and even concept art itself. This is especially hard if you suck at 3D modelling and frankly don’t have time for it.

I wanted to use a technique called Constructive Solid Geometry to solve my problem with sourcing models — I could just make stuff out of basic shapes and script their construction as part of building a scene. There was also an added benefit of having a tiny data footprint compared to pre-made formats like DAE or even the dedicated Three.JS format.

There will definitely need to be two variants of my new format — binary (compressed et al) and raw (ASCII). The latter will be the common language that I will need to be aware of and it will be what various applications this is intended for will use when they convert it from the binary format.

When it comes to world building, scenes are both micro and macroscopic. There’s texture details, bump maps, scene graphs, lighting systems, etc. Developing with Three.JS for the past 5 years, I definitely feel like there still isn’t a good editor for someone like me — a lone developer trying to have it all in a grandiose project (it’s not sad.. WE ARE LEGION! #standalonecomplex).

If afternote is a support tool intended to store ideas as they develop over time… and come with drawing tools that can scale outward, I need another tool that can:

  • Be built as a webGL canvas first, text on top will need to be part of a Three.JS scene in order for the application to natively support 3D and 2D stuff inside it
  • Be modular, maybe as a separate repo that acts as a git module for Langenium and Rover

I started writing this post with the goal of fleshing out the drawing capabilities I wanted to include in afternote. I’ve decided to instead sidestep my newfound goals into a new project… yay.

--

--

Paul Brzeski

Sharing my opinion and passions about the many things in life.