**CETech engine** # What is it? !!! ERROR CETech is currently only prototype (many braindump and shity code) CETech is a Data-Driven game engine and toolset designed for develop games and other interactive applications. They are trying to be small, modular and multiplatform (yes, typical bullshit = D). * [Architecture](architecture.md.html) ## Platforms * [x] OSX ## Planned platforms * [ ] Linux * [ ] Windows * [ ] FreeBSD * [ ] RaspberryPi * [ ] PS4 * [ ] XBox One * [ ] Android * [ ] asm.js/Emscripten # Getting source ~~~ $ git clone https://github.com/cyberegoorg/cetech.git --recursive ~~~ # Build ## Linux / MacOS ### Prerequisites * Install cmake * Install python and pip >= 3.4 * Install requirements.txt ~~~ $ pip3 install -r requirements.txt ~~~ ### Build ~~~ $ python3 build.py ~~~ # Run ~~~ $ ./bin/{linux64,darwin64}/cetech_develop -compile -continue \ -src ./examples/develop/src -build ./examples/develop/build ~~~ # 3rd party ## C/C++ * [BGFX](https://github.com/bkaradzic/bgfx) - Cross-platform, graphics API agnostic rendering library. * [ImGUI](https://github.com/ocornut/imgui) - Bloat-free Immediate Mode Graphical User interface * [SDL2](https://www.libsdl.org) - Cross-platform development library. * [sqlite3](https://www.sqlite.org) - SQL database engine. * [cgltf](https://github.com/jkuhlmann/cgltf) - Single-file glTF 2.0 parser written in C99. * [libyaml](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. * [nativefiledialog](https://github.com/mlabbe/nativefiledialog) - A tiny, neat C library that portably invokes native file open and save dialogs. ## Python * [python](https://www.python.org/) - Multi-paradigm Programming language. * [pyaml](http://pyyaml.org/wiki/PyYAML) - YAML parser and emitter for Python. ## Other * [markdeep](https://casual-effects.com/markdeep/) - Markdeep is a technology for writing plain text documents that will look good in any web browser, whether local or remote. It supports diagrams, calendars, equations, and other features as extensions of Markdown syntax. # Prototypes ## 1.2019 ![1.2019](img/old_prototype012019.png) ![editor concept](https://www.youtube.com/watch?v=wpQHsr6-v70) * C Engine * Builtin editor (ImGUI is awesome =)) * Drop lua support. (next step is generic node based scripting compiled to => C source file, TCC for runtime editing) * cDB (in-memory generic storage, "prefab/nested prefab", change events) * Basic modular concept, engine, editor, components etc.. (everything is module) * Static hash with tool. * Autodoc tool (output is markdeep) * Still shit and brain dump code, no comments on public API, no test, but for one-man prototyping is not bad. * MacOS ## 11.2017 ![11.2017](img/old_prototype112017.png) * C/C++ Engine * PyQT/TypeScript playground * Linux ## 4.2016 ![4.2016](img/old_prototype42016.png) * C# Engine * PyQT/JS playground * Linux, Windows ## 11.2015 ![11.2015](img/old_prototype201511.png) * Linux * C++ Engine * PyQT/JS playground * Playground spawn many engine instance (Level editor, Compilator) * Plaground <=> Engine comunication over Nanomsg (msgpack for msg layer) * JS comunicate with engine over nanomsg/websocket * LUA scripting ************************************************************* * * * + - - - - - - - - - - - - - - - - - - - - - - - - - - + * * Playground process * * | | * * +------------------+ +------------------+ * * | | | | | | * * | QT widget |<-+ | QT widget |<-+ * * | | | | | | | | * * +------------------+ | +------------------+ | * * | ^ | ^ | | * * - - - - - - + - - - - - + - - - - - - -|- - - - - -|- * * | | | | * * Display in | Nanomsg | Display in | Nanomsg | * * widget | REQ/REP | widget | REQ/REP | * * | | | | * * | | | | * * +---------------+ | +---------------+ | * * | | | | | | * * |CETech process |---+ |CETech process |---+ * * | | | | * * +---------------+ +---------------+ * *************************************************************