• Ele/Dele,He/Him

karyogenesys
@karyogenesys

Some of you may be curious about what the tech stack behind karyogenesys is composed of, so I'm here to shed some light on it!

Our game is proudly made with the FTEQW engine, a long matured offshoot of the 1996 Quake engine. It supports a huge range of model, sound and texture formats and has robust game authoring tools and features. It supports a wide range of target platforms, and for karyogenesys we will be targeting Windows, Linux, and Haiku.

FTEQW was chosen due to its extensibility, our existing familiarity with the engine, and the Quake engine lineage. It's well optimized, portable, and powerful.

The levels in karyogenesys are authored with TrenchBroom, and compiled with the ericw-tools compiler set. The output format is the extended "IBSP" format from the 2023 Quake II remaster. We use such enhancements as "Decoupled Lightmaps" (which allow for more consistent lightmap quality across the board) and high quality emissive light surfaces (as opposed to the traditional Quake engine method of placing a point-light every N units).

Game code is written in QuakeC, utilizing the FTEQCC compiler and the wealth of engine extensions that FTEQW provides. We use the standard FTEQW three module split setup (server, client, menu). Since QuakeC is compiled to a platform-agnostic bytecode file, there is no need to compile the game code for different operating systems or architechtures.

Models are exported into the Inter-Quake Model (IQM) format which allows for skeletal animation and other advanced features. This format is much more capable than the original Quake MDL format, while still allowing for simple vertex animated meshes if desired.

If you have any further questions about the tech powering karyogenesys, feel free to ask in the comments! I will respond with any clarifications or additional information.

This devlog was also published on itch.io

~ erysdren


You must log in to comment.

in reply to @karyogenesys's post:

Does "Decoupled Lightmaps" refer to loading lightmaps from external image files instead of from the BSP file? I remember using a switch in q3map2 to get high resolution lightmaps that way.

Good post, it's making me nostalgic for working on my shooter again. If I can just finish Dominatrix and porting NOLF2 and Far Cry...

In the original Quake engine, lightmap resolution was directly tied to the scale and resolution of the source texture on a surface. This is a pretty big limitation, especially if you're using larger or smaller textures that need a different UV scale to look right. The lightmaps on that face would be a different resolution than the rest! In our case, "decoupled lightmaps" refers to lightmaps that are not tied to the source texture resolution, and have a consistent luxel density across the whole level. It required special support from FTEQW to load them, but luckily that was already taken care of.