# HG changeset patch # User Sam # Date 1674026108 -25200 # Node ID cc8724250d65ccd7c7d837d82c0a2088fcac0a61 # Parent 2771db8d4276ac7ed07ac02fb68cefb11789d9d0 fix: organize notes a bit diff -r 2771db8d4276 -r cc8724250d65 README.md --- 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 diff -r 2771db8d4276 -r cc8724250d65 notes --- a/notes Wed Jan 18 13:52:48 2023 +0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -Game ideas: -- mining-game with structure simulation, crashing mineshafts, etc. -- top-down 2d shooter (wild west?) with one room per scene, fixed camera -- Top-down 2d shooter with autoshoot (-> what is the challenge? position? cover? effects?) -- Clean up something -- Defend house, fortress (embassy?), against burglar, enemies, receive guests, top down shooter -- Typing game, mechanics ala "cook, serve, delicious" but different theme, maybe war, coffee serving, - -> add spin on it somehow? -- combine the above two? top-down 2d action shooter with "typing-based" mechanics for reloading, building, etc - -> top-down shooter with WASD + Mouse action - -> use number keys to access equipment (gun, backpack, body) - -> use shortkeys to manipulate things -- Coffee selling ala "cook, serve, delicious" - - operate grinder, coffee machine, etc with keys - - client queue - - Manage shop? - -Rendering: - -- [x] Uniforms -- [x] Per-instance vertex attributes (required to be able to draw scene graph) -- [ ] Textures -- [ ] Depth buffering - -Quality improvments: - -- [ ] Mipmaps -- [ ] Multisampling -- [ ] Better scenegraph API -- [ ] Instanced drawing - -Build-system: -- [x] move all of Makefile to config.nims - -Asset handling: -- [ ] Mesh files (Wavefront OBJ, MTL) (use something from sketchfab to get started, e.g. https://sketchfab.com/nigelgoh) -- [ ] Image files (BMP RGB + BMP Graysscale for transparency) -- [ ] Audio files (WAV) - -Other: -- [ ] Input handling - - [ ] X11 - - [ ] Win32 -- [ ] Config files ala *.ini files (use std/parsecfg) -- [ ] Audio (Alsa, Windows Waveform API?) - -Features: -- [ ] Text rendering -- [ ] Animation system -- [ ] Sprite system -- [ ] Particle system