CoalStar
Igniting a Star
Welcome to the development web log for the CoalStar game engine. It is an engine which is purposed built towards open world gameplay. It is developed in C++ using the Simple-Direct Media Layer, GL Math, ZLIB, and GL Extension Wrangler libraries. CoalStar currently targets OpenGL 3.3 on Windows 10 and will (hopefully) become platform independant. The operational goal is to allow for larger than standard world sizes while maintaining a high level of precision. Additionally, the engine will allow for faster than normal travel through streamlining data’ loading and processing. Technically, it will handle instance batching of static meshes, batching and psuedo-atlasing of textures, multithreading support for loadspreading, LUA-based script management, and more. As I consider myself an amateur at C++ and at programming in general, the code will not initially made public to save myself shame and embarrassment. In the future, the engine may become opensource to allow for community input and possibly use by other individuals/organizations for their own projects.
Outline
The engine is being developed with at least one game project in mind, using the design choices for the game as a general guideline for what the engine needs to accomplish. This is a two-way street, in that engine advancements and limitations can alter the game project’s design outline. The game portion is intended to be a more old-school PCRPG experience. Aiming towards many different avenues of progression and gameplay beyond whack with sword. Existing modern and older games hold many “truths” to the gameplay experience that should neither be rejected nor ignored.
To put in the simplest terms possible, the goals of the engine and its associated project is this:
- Create and interesting world that people would want to go to
- Have intuitive ways to move through and interact with it
- Fill the world with unique and inspiring places
- Fill those places with fun and engaging characters
- Have those characters be part of stories, both large and small
- Let the player enjoy the world how they want: cooks gonna cook, thieves gonna thief, traders gonna trade, fighters gonna fight
- Respect the player’s time and wishes
- Maximize playability by targeting a nominal level of performance on even low-end hardware
- Minimize installation size to avoid the chopping block of uninstallation to free up disk space
About This Devlog
This development blog will follow the production of the engine, highlighting problems, solutions, and advancements. I may also occasionally rant about design, choices, and decisions for the game project as a whole. Eventually, the game project’s components will be implemented into the engine to test, with the experience discussed here. Early production was little more than simple prototyping of concepts in existing engines, such as Unity, CryEngine2, etc. I have worked in some capacity on this project for the better part of six years. This also includes teaching myself C#, C++, and various toolsets necessary for production. I have produced two demos thus far, as well as a couple of small game projects. I do not know how long this process will take, though I anticipate several years to a completed state.
Current Demonstrations
The lowest grade of hardware verified for these demos is an AMD R5 APU dual core with 4GB of shared RAM.
The first version, CoalStar Engine Demo 0.0.1 , was the first demo, and was meant to portray the terrain projection system, as well as basic mesh and LOD swapping with billboards. (DL Size: 63.0MB - Install Size: 8.02GB)
The second version, CoalStar Engine Demo 0.0.2, was a complete rewrite. It displays the same as before, but with a more believable terrain form, basic sun and directional lighting, automatic texture management, metadata-based object loading system, and zlib compression techniques to reduce size. It also uses a software-driven output window. (DL Size: 1.34GB - Install Size: 1.62GB)