Vladimir Chavdarov
Tools and Gameplay Programmer
Vladimir Chavdarov
Tools and Gameplay Programmer
Pepi Engine is a custom RTS engine built for PC and Steam Deck. It includes an editor with an abundance of tools like Terrain Editors, Finite State Machine and Behavior Tree Editors, Custom UI tools and a Custom DX12 Renderer. The Engine was used to make Owlet.
🔧Engine/Language: C++
👥Team Size: 7-8
⏳Duration: Nov. 2023 - Apr. 2024
📝Related Technical Breakdown: Terrain Editor
Technical Article: link to Articles
One of the core features of the engine is the Terrain Editor I developed. It generates a flat mesh of up to 2 Million tiles on runtime. This mesh can be modified by a number of useful tools:
Terraforming brushes for raising, lowering, smoothing and plateau features.
Texturing brushes which worked with texture atlases and were later changed to accommodate smooth blending between separate materials.
Pathing brushes for presetting areas with various rules for the AI system.
The development of the system is explained in a tutorial-like way on my blog post.
As the project progressed, I took my already existing brushes from the terrain editor and expanded upon them so they can be fit for placing game objects in the world like units and buildings.
For the development of Owlet, the brushes were also used during gameplay for the construction of buildings and walls.
During development of the engine, I took central role in defining the content pipeline and outlining the intended usage of our actor systems. This included:
Developing the systems and interfaces for users to create actors and load resources
Writing the back-end logic for assigning the correct resources to all entities existing in the world, both in Editor and Game. This is done in a data-oriented fashion to ensure performance.
Using "paper-to-code" approach and working with other team members on a complex system.
All wonders start from paper
Initial idea for the asset explorer pipeline
Diagram of the content pipeline