Friday, February 28, 2014

Latest

I'm hoping to get back into Android programming in a week or so. These days I've been putting a lot of time into the small experimental 2D engine that I've been working on. I've been focusing on PC development, but long term, I want it to also work on Android. I've been putting a lot of time into it because eventually it'll be the test bed for some of the other systems that I want to develop.

Currently the 3D engine, Squared'D, has too many parts to use it as a simple testing platform. 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 as well. 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.

Thursday, February 27, 2014

New Game Engine Article Posted

I've just posted a new article that gives a high-level overview of my 3D game engine. You can check it out here: Squared Game Engine High-level Overview.

Monday, February 24, 2014

Latest - Game Engine Development

I'm hoping to get back into Android programming next week. These days I've been putting a lot of time into asmall experimental 2D engine. I've been focusing on PC development, but long term, I want it to also work on Android. I've been putting a lot of time into it because eventually it'll be the test bed for some of the other systems that I want to develop.

Currently the 3D engine, Squared'D, has too many parts to use it as a simple testing platform. 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 experimenting with different programming concepts and paradigms as well. I've been trying to leverage more C++ features to make development easier.

One big design decision I made in the 2D engine was to limit the use of pointers and to use handles and C++ references as much as possible. I want to avoid using smart 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 simple enough for testing and able to run on the PC and Android. Major changes to the 3D engine will be long in the future. If you're curious about why I've chosen not to limit pointer use in newer versions of my engines, you can leave a comment.

I'm currently working on an article and video that will give details on how both the 2D engine and the 3D engine work.

Thursday, February 13, 2014

New Journal Entry - "Indies--Stop Treating Your Ideas Like Classified Secrets"

One of the most important lessons that I've learned is indies shouldn't be concerned with keeping their game ideas secret and that it's much better when indies let others know about their ideas.

....

For the complete entry: http://journal.squaredprogramming.com/2014/02/secrets.html

Wednesday, February 12, 2014

Latest Updates

I've been doing a lot of page restructuring this past week. I've decided to divide my page into three sections. The base squaredprogramming.com domain will be my main site. Here I'll give information on my current projects and other news. I've also started a articles.squaredprogramming.com sub-domain and a journal.squaredprogramming.com sub-domain. Inside of articles, I'll post all of my game development and general programming articles. the journal sub-domain will be more free. I'll use it to post my thoughts on certain topics.