Giter Site home page Giter Site logo

bdgameengine's Introduction

bdGameEngine

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.

Below is a list of key-concepts this practice will focus on:

-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

Below is a list of planned features:

-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.

bdgameengine's People

Contributors

buddyboi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.