diff --git a/README.md b/README.md index 12da6f0..9360559 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,43 @@ -# shadowcrest +# Shadowcrest -My own Gameengine used in games i make forward \ No newline at end of file +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 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