feat: added empty c++ project

This commit is contained in:
2025-07-12 18:19:44 +02:00
parent f82d0145dd
commit ab5752d59f
20 changed files with 214 additions and 414 deletions

View File

@ -3,44 +3,20 @@
</div>
# Shadowcrest
My own Gameengine used in games i make forward
My own Gameengine made in c++ which is used in games i make forward
## why do i want my own engine?
simply said because i want to know how games run in their backend
another strong reason would be i want to have full controll over what works how and when its added
Simply put i want to learn c++ and how the more lower level Systems on a computer work as i only have worked in languages that help out with things like memory management e.g. Javascript, PHP, C#, Go. In Addition to that i want to improve my skills on how to optimize code and how to properly work with memory.
and since that isn't enough i want to know how the System that are required to make games work eventually improving my engine on my way while working on projects.
## big things are to happen
right now this repo only is a placeholder not planed to be worked on for a long while as i need to figure out what i want and how i want it
depending on what of the below i chose (i already think i will decide between 2 or 3 but am interessted in 3 due to more tech) i will start designing an engine architecture and also decide if i keep this project opensource or not
depending on what of the below i chose (i already think i will decide between 2 or 3 but am interested in 3 due to more tech) i will start designing an engine architecture and also decide if i keep this project oversource or not
### what does it aim todo
bulding my games to keep it simple
building my games to keep it simple
- supporting 2D games
- supporting 3D games
- supporting networking networking solutions i develop in placeholder
- a user interface for me to organize my project with
## multiple options emerge
### option 1 using pygame
as i am working on a project in pygame and have constructed a small engine arround pygame for the sake of getting the project to where i want it
a option would be clearing the present gamelogic out from it and constructing a more easy to use api and a user interface
#### downsides:
- python is compared to its dotnet competitors not very good in memory management
- python is simple but due to the lack of typesafety can be painfull to debug
### option 2 using dotnet gameframeworks
dotnet is used very widely in game development and is used in the biggest known game engines currently available:
- godot (C#)
- unity (C#)
- cryengine (C#, LUA)
- unreal (c++)
i could use a game framework like [monogame](https://monogame.net/)
### option 3 the hard way implementing public tech on my own
besides the option to use a framework that does the hard game technology part for me i can go all the way on my own and implement things like Vulcan or DirectX, a opensource physics engine like [project chrono](https://projectchrono.org/) or [react physics 3d](https://www.reactphysics3d.com/) or even a more widely used physics engine like nvidia physx or havok engine and fmod as audio engine
this would be the by far hardest option out of all available but also the by a lot most custom experience
this approach would also teach me a very much more then all the other options above
### downsides
a very very very very painfull development process