Posts
Here is some technical details about various subjects. These posts are amied to guide game developers to implement the described features.
( only in
)
Here is some technical details about various subjects. These posts are amied to guide game developers to implement the described features.
I choose to not use an existing game engine, such as Unity or Unreal. Indeed, I like to program, within all aspects. Therefore, I created TRE (Tiny-Render Engine), which is a toolkit built on the top of SDL2 and OpenGL. This is the basement of my games. However, TRE is not a game-engine. It helps with mesh operations, UI, shaders (tiny material library), contact algorithms and sound thread.
TRE is open-source and hosted on GitHub: TinyRenderEngine
TRE is using the STL, that uses exceptions for error handling. Exceptions have no impact on performances, while they are not triggered. Indeed, c++ has a nice paradigm that says: "don't pay for what you don't use". As far as exceptions are considered as nonrecoverable fatal errors, then the STL can still be used (in a solo-developer point of view).
Even though OpenGL is a pretty old rendering API, it is still used in legacy applications and small projects. Vulkan offers a great opportunity to tune the code that submits commands to the GPU. For example, Vulkan allows commands to be generated from multiple threads, while OpenGL does not. While my games won't be limited by the rendering CPU thread, OpenGL will stay the default rendering API.
The oriented-object paradigm is often adopted by software engineers. For generic game engines, this paradigm implies to have an "entity" oriented architecture. It is demonstrated for example in the following talk: Data Driven Entity Component System in C++17. But, at a coarse level, a game is basically a software that transforms data into rendering of frames (video and sound). The data can be split by the usage:
I'm an engineer in computer science, with a strong interest on applied mathematics. I'm currently working on the video-game industry, and I'm keeping developping on my free time too (alongside my other hobby ... the jazz music). ...