# Shadowcrest My own Gameengine 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 ## 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 ### what does it aim todo bulding 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