Jump to content
  • Advertisement
  • entries
  • comments
  • views

Experimenting with Engine Design

Sign in to follow this  


[font=arial][color=rgb(0,0,0)]Graphics-wise, I don't plan on changing my current 3D engine much. I've mostly been working on gameplay and AI related stuff. As I make more progress on the AI code, I'll share it here and on my main page. Currently the 3D engine, Squared'D, has too many parts to use it as a simple testing platform so I stripped out it's core 2D elements (these were mainly used for the GUI) and built it into a smaller game engine that doesn't require much set up. I'm using the 2D engine for experimentation with new concepts.[/color]

[color=rgb(0,0,0)]I've been trying to leverage more C++ features to make development easier. One big design decision was to limit the use of pointers and to use handles and C++ references as much as possible. I want to avoid using shared pointers and limit my code to only a few unique pointers when absolutely necessary. So far so good. I've gotten a component-based entity system working already. Entities only store handles to there components, and all components are stored in an std::vector inside their respective system classes. As I've been playing around with the system though, I think in the future, entities will not even need handles to their components. Entities will eventually just morph into position orientation with the components knowing which entity they belong to, but not the other way around. If it goes well, I'll incorporate these ideas into the next version of the 3D engine. Hopefully I'll be able to simplify things enough so that the next 3D engine will be good for testing and able to run on the PC and Android, but all this will happen after 6 months or so.[/color]

[color=rgb(0,0,0)]If you'd like some more details about the 3D engine's modular design, you can check out the video below. Let me know if you have any questions. Even critiques are welcome.[/color][/font]

Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!