First ever screenshot of the new renderer running in . Nothing is quite right here yet...

There is still a long journey ahead. The new library has map geometry loaded, with some textures, and is drawing frames. However:

- coordinate system is messed up (map is tiny!)
- skybox uses a placeholder texture
- no entities in the map
- no light sources (needs entities)
- no dynamic updates of entity/plane positions
- some menu/HUD gfx still depend on old renderer

Show thread

Usually it's quite vexing when your graphics code produces nothing but a black screen, but not this time! I've successfully gutted so it can run without the old renderer, using nothing but the server's map data.

Recent developments:

- Preparing the 2.2.1 patch release.

- Continuing render hack support for 2.3. It's pretty precarious; changing anything can break previously working hacks, but overall it's improving. The major categories are missing textures and self-referencing lines.

- Deep cleaning/refactoring for 3.0. The central map data structures have some awkward ifdefs, need to split clientside/visuals from the serverside code.

Kicking off 2.3 work with better DOOM render hack support. The following in unstable build 3268:

- TNT map02/31: deep water
- TNT map02: masked openable window
- TNT map09: transparent openable window
- Icarus Alien Vanguard map01: force fields with masked texture

Some of these used to work before, but have been broken in recent versions.

Overall, it's pretty impressive what the DOOM software renderer can be twisted to do.

The two things I find most fascinating working on are 1) the renderer, and 2) built-in scripting.

Doomsday Script is a somewhat Python-like custom language that integrates deeply with the rest of the engine. It is rather underutilized at the moment, but it has huge potential — eventually I intend to have it run the console, game menus, custom game logic, world events, finale/in-game overlays, ...

Today's new feature is:

skyjake's choices:

skyjake's personal Mastodon instance