This is a learning project, with the end-result being a simple 2D RPG-Dungeon game. At first the engine will entirely revolve around the planned game and making things as simple as possible. The architecture is purely Windows-based.
The primary learning focus is understanding game/game-engine design-patterns, and practicing overall efficiency and algorithms. To summarize, I wish to improve upon my fundamentals as a programmer with a somewhat-practical approach.
The only current requirement is the June 2010 DirectX SDK. This is a bad old-habit, and will soon be ported to the newer version within the WindowsSDK. This project does not plan on utilizing SDL, SFML, or similar libraries.
-General game and game-engine design patterns and programming practices
-Improved memory and thread management
-Thread-safe caching + improving general concurrency practices
-Memory profiling
-Interface classes / Virtual functions / Improving polymorphism techniques
-DirectX9 rendering (Eventually DX12 and Vulkan as well)
-Abstraction practices (Focused on WinAPI input management and Dx9 rendering)
-Winsock programming, game networking design
-2D renderer for sprites (DirectX support)
-3D renderer for models (DirectX + Vulkan support)
-Level/Map editor (2D sidescroller, 2D top-down, 3D isometric)
-Save system
-Settings system
-User interface manager
-GameObject manager
-Entity manager (Players, NPCs, Items, Containern)
-Memory manager + memory profiler
-Networking builder (Supports P2P and Client-Server)
-Basic combat system
Most of my experience is in lower-level Windows programming, though I would like to improve upon my fundamentals and gain an understanding of game design-patterns.
All suggestions are welcome.