- Create VoxGame VoxWindow and VoxApplication classes.
- Refactor windows functionality into discrete files and using the VoxWindow class.
- Add camera controls and movement to mouse and keyboard controls.
- Window and renderer resize functionality.
- Add proper license.
- Add Shader support to renderer.
- Add frame buffer support to renderer.
- Add selection of shaders to toggle different render modes for testing.
- Add ability to camera class to rotate around point (rotate position around view).
- Deferred lighting support.
- Lighting effects.
- Particle effects.
- Add weapon trails.
- Remove any GL calls from VoxGame - Add InitZeroTexture() functionality to renderer.
- Use Cmake for build management.
- Add fullscreen support and toggle.
- Enable x64 build configurations.
- Phong lighting shader.
- Add basic lighting to scene - OpenGL lighting.
- Add pre-built release exe to root of git, so people can run exe without compiling - VoxGame.exe
- Better SSAO shader.
- Make deferred lighting and SSAO optional toggles separate.
- Allow for phong shading and deferred lighting together.
- Shadow shader.
- Decouple shadow rendering from SSAO shader.
- Decouple dynamic lighting from SSAO shader.
- Better readme file.
- Split up VoxGame file into VoxRender, VoxUpdate, VoxSetup(?), etc.
- App player class and put voxel character functionality in player class.
- Add ability to switch voxel character model.
- Rebuild vs2013 libs using non-dll version of linking
- Fix up cmake for the different visual studio versions and also for the different lib linking.
- Weapon trails controlled by the animation file.
- Create vs2012 libs and VS2012 project files
- Add blur shader.
- Implement MSAA (or other AA) in glsl shader.
- Convert shadow rendering calls to use renderer - remove GL from gamecode.
- Add LUA bindings.
- Make weapons trails time based, rather than "numpoints" based, better weapon trail alpha rendering.
- Switch over to using glm maths lib.
- Solution to allow for running the exe from Visual studio, because atm the working directory needs to be ../
- Textures on GUI.
- Frontend manager for textures and common GUI objects.
- Allow camera rotations around world coordinates, so 'upside down' doesnt happen.
- Add full GUI skin textures and control to change 'theme' on GUI.
- Add limits to rotation so we dont go over and under the max/min up-axis.
- Add different camera modes, option toggle on GUI.
- Add player camera controls.
- Enable cross platform compiling and support, linux, mac
- Convert all data, media, folders to lowercase to fix Linux issues.
- When in auto-camera mode, slowly orient to behind the player, after a time.
- Add gamepad support.
- Fix up auto-camera mode for gamepad and remove hacks for storing the up, right, forward target camera vectors.
- Store a camera-to-player vector in the player class and use this for camera offsets in auto-mode.
- Only use the x, z components when working out the offset camera position, plus the players up from the facing.
- Proper first person mode camera.
- Implement mouse rotation camera mode for when in game mode.
- Turn cursor on/off and fix cursor in position when doing mouse rotations in game mode.
- Make camera auto-mode rotate to behind the player after a short delay.
- Settings file loading at startup, change options and rendering based on settings.
- Player alpha when camera zooms in.
- Add proper ini reader functionality - add other startup params to ini, resolution, fullscreen etc.
- Camera clipping mode.
- Add ability to create and render the Voxel objects/characters without merging, 2 vertex arrays, or rebuild?
- Terrain generation via chunks.
- Chunk loading and unloading based on player position
- Create Vox EXE launcher. (C# app)
- Debug settings option to toggle the Debug GUI from the settings ini file.
- Settings in ini to run straight into game, with player and camera controls - or run into front-end etc.
- Ordering of the chunk loading based on the camera/player position, so that loading filters outwards from player.
- Add back in skyboxes and support tweeningblending from one skybox to the other.
- Wait before spawning player in world, until world is generated.
- Better physics response and detection when jumping and from above
- Add version string to config ini file and display on GUI.
- Add DEBUG/RELEASE switch depending on what build was made, display on GUI.
- Player movement on voxel world and terrain.
- Walking up single block steps automatically.
- Smooth out camera when doing single 1-size block step up animation. (Was because of different interpolator values)
- Add exit/quit popup when the game is closed or quit using various exit methods.
- Add pause menu when ESC is pressed, and add popup in center of screen.
- Add back in frustum culling for chunk rendering.
- Player collision with items.
- Player interaction with items.
- Cinematic letterbox mode.
- Add console and logger to the in-game gui for output and logging information.
- Log when loading/saving model files.
- Log to output file and log files as well as console GUI.
- Remove old log messages, only allow a certain nunber of log messages to be shown.
- Add debug log information for model loading and rendering - num verts, tris, faces, etc.
- Log on errors.
- Allow input commands.
- Clear log text functionality
- Rendering of many log messages is slow, output to file?
- Create basic front-end.
- Fix camera glitching when going in and out of pause menu (also quit menu).
- Animated text effects in the HUD, for pickups, combat, etc..
- Add biome manager
- Add colour variation management to biome manager.
- Add item manager.
- Add inventory GUI.
- Add character GUI.
- Add options menu window to pause menu.
- Add mods menu window to pause menu.
- Select mods that are already loaded and 'tick' their buttons. SelectLoadedMods() function called on each tab.
- Tidy up inventory and item managers!
- Add back in TODO code (TODO : Add me back in).
- Test ALL functionality with player equipping items and weapons.
- Add hooks to GUI.
- Player stats.
- Loot GUI chest interactions.
- Crafting GUI functionality.
- Character GUI paperdoll render.
- CharacterGUI player poses and animation stances.
- CharacterGUI particle effects.
- CharacterGUI dynamic lighting.
- Investigate continuous automatic builds on github when files are submitted to depot, using cmake and make.
- NPCs.
- Enemies.
- Enemy spawners.
- Add scenery manager.
- Flower generation.
- Poisson-disc separation and generation for random placement of scenery.
- Convert scenery manager to use instance rendering and the instance shader.
- Add Quest GUI.
- Create front end scene and character line up.
- Character creation and customization.
- Add character creator and customization from front-end.
- Player particle trail on walking.
- Use proper animation pose for target camera mode, with different weapons.
- Add common front-end slider graphics and accessors in front-end manager.
- Custom cursors.
- Particle effects and lights in character GUI.
- Have particles with characterGUI viewport flag, also another world matrix that isnt offset by position.
- Add flag to block particles so that only weapon/item particles are rendered in the viewport (non world offset).
- Bug with HUD text when resizing (HP, experience, etc)
- Make sure to fully clear the quest journal, manager and QuestGUI when round tripping to the front-end.
- Debug GUI should be on top of HUD and action bar.
- Add a left/right pose to the character GUI animation pose so that hands can be animated seperately.
- Enemy and NPC particle effect and light update code should be simplfied, (like player) no duplication for left/right.
- Fix for getting hit / knockback when crafting or interating with items / chest / npc
- Physics & collision goes wrong with lag spikes when MoveAbsolute() is called, during a lag spike.
- Add common front-end label / button colours, hover, pressed, etc.
- Add spell hands attacks.
- Add dagger / knife attacks.
- Respawn button properly skinned and textured.
- Dont create dying lights for the weapons in the front-end create character screen, since this bleeds into the customization section.
- Add magic back into player logic.
- Random direction on mimic spawning.
- Mimics turning around when going back to non-aggro.
- Different default inventory when we load a different class type from the create character screen.
- Use mouse and gamepad sensativity in the looking and camera rotation functions.
- Fog rendering.
- Add easier crafting functionality, just a single function call.
- Water, creating and manipulation, rendering, updating.
- Create random loot manager and random loot dropping.
- NPC loading falls through the world when we road trip to the front-end and start the game, Because physics happens during loading.
- Better front-end scenery and character screens.
- Add audio and music playback.
- Add debug render metrics for all counters (i.e num chunks, particles, items, triangles, verts, etc).
- Remove debug options and debug controls in RELEASE mode.
- Add more presets for other body parts in character creator screen.
- Add VLD support to debug version, allow for memory leak detection.
- Saving and loading chunks.
- Group together chunks for saving, loading. Not individual
- Add voxel editor.
- Add texture support for voxel blocks.
- Add mode to play in reduced and low FPS.
- Low FPS causes bad physics and also bad step-up block functionality, investigate and fix.
- Dont allow jumping multiple times by holding down the space (or joy button).
- Allow for font changing on the fly, allow different font styles to go with the themes.
- Add shadow receiving on instanced rendered objects. (Add texture matrix to shader??)
- Beter player walking - animation speeds, lean(?), speed up, slow down, etc
- Test out Baked AO models using MagikaVoxel.
- Companion pets.
- Particle effects proper position when in first person mode!
- Side stepping animation when in target camera mode.
- Bug with custom cursors when going outside of windows bounds.
- Don't allow 'other' buttons in select character screen when we have delet popup - i.e select, create, etc.