Mercurial > games > semicongine
diff README.md @ 502:e52bfb0b98ce
fix: organize notes a bit
author | Sam <sam@basx.dev> |
---|---|
date | Wed, 18 Jan 2023 14:15:08 +0700 |
parents | ed49f1cdd8b7 |
children | 2378ada1a14e |
line wrap: on
line diff
--- a/README.md Wed Jan 18 13:52:48 2023 +0700 +++ b/README.md Wed Jan 18 14:15:08 2023 +0700 @@ -1,3 +1,52 @@ +Semicongine +=========== + Hi there -This is currently only for my test codes, maybe, one far day, it will become a small rendering engine. +This is a very simplistic little game engine, mainly trying to wrap around vulkan and the operating system's windowing, input and audio system. +This is using the last programming language you will ever need, [Nim](https://nim-lang.org/) + +Roadmap +------- + +Still tons to do, but it feels like the worst things (except audio maybe?) are over the hill. + +Rendering: + +- [x] Vertex attributes, vertex data +- [x] Shaders (allow for predefined and custom shaders) +- [x] Uniforms +- [x] Per-instance vertex attributes (required to be able to draw scene graph) +- [ ] Textures +- [ ] Depth buffering +- [ ] Mipmaps +- [ ] Multisampling +- [~] Instanced drawing (using it currently but number of instances is hardcoded to 1 + +Build-system: +- [x] move all of Makefile to config.nims + +Asset handling: +- [ ] Mesh files (Wavefront OBJ, MTL) (use something from sketchfab for testing, https://sketchfab.com/) +- [ ] Image files (BMP RGB + BMP Graysscale for transparency) +- [ ] Audio files (WAV) + +Quality improvments: + +- [ ] Better scenegraph API +- [ ] Better rendering pipeline API + +Other: +- [x] Mouse/Keyboard input handling + - [x] X11 + - [x] Win32 +- [ ] Config files ala \*.ini files (use std/parsecfg) +- [ ] Input-mapping configuration +- [ ] Audio (Alsa, Windows Waveform API?) +- [ ] Game controller input handling + +Advanced features: +- [ ] Text rendering +- [ ] Animation system +- [ ] Sprite system +- [ ] Particle system