Very experimental c port of the godot engine.
Go to file
2022-03-14 14:58:22 +01:00
core Work on quat. 2022-03-14 14:58:22 +01:00
godot-3.x Updated the base engine. 2022-03-14 07:52:38 +01:00
main Work on vector 2. 2022-03-13 16:39:40 +01:00
.clang-format Initial commit. 2022-03-13 13:48:59 +01:00
.clang-tidy Initial commit. 2022-03-13 13:48:59 +01:00
.editorconfig Initial commit. 2022-03-13 13:48:59 +01:00
.gitattributes Initial commit. 2022-03-13 13:48:59 +01:00
.gitignore Initial commit. 2022-03-13 13:48:59 +01:00
AUTHORS.md Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
compat.py Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
gles_builders.py Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
icon_outlined.png Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
icon_outlined.svg Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
icon.png Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
icon.svg Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
LICENSE.txt Initial commit. 2022-03-13 13:48:59 +01:00
LOGO_LICENSE.md Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
logo_outlined.png Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
logo_outlined.svg Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
logo.png Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
logo.svg Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
methods.py Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
platform_methods.py Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00
README.md Also update the readme. 2022-03-14 07:53:05 +01:00
SConstruct Generate compile db. 2022-03-13 19:29:39 +01:00
version.py Copy some of the trivial math classes from the engine and set up a simple test build. 2022-03-13 14:38:32 +01:00

Codot Engine

This is a VERY experimental project to port the godot engine to C, mostly to satisfy my curiosity.

Yes, this is probably a very bad and dumb idea. However:

  1. I want to learn C.
  2. I noticed a while ago that it would not be too difficult to convert simple / clean / orthodox c++ code to c, (except for virtuals / inheritance it's mostly simple text editing - and even that system is mostly only a one time setup -) and godot's source base is super good in this regard. Also godot is only using single inheritance, which makes things a lot easier. Also a possible solution: https://www.cs.rit.edu/%7Eats/books/ooc.pdf .
  3. There is also this gem of a paper https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf . Where they compare the energy efficiency of a bunch of languages. However what caught my attention is the run speed performace: C 1.00, C++: 1.56. Yes I know that what they tested is a bit different than a game, where you have virtuals, and constant cache misses due to the program execution going all over the place, however if even half of that can be achieved, it's probably worth the time and effort.
  4. It might make compile times faster.

Based on my fork of godot (https://github.com/Relintai/godot) Commit: c4864a0e5f73a375259503ea1485794a6aad6df7