We’ve Got An Itch

Hey everyone, Justin here!

Just a quick announcement that we’ve decided to move all of our games from various file-hosting sites to a centralized portfolio at itch.io. Many have described this site as the bandcamp of indie games, and it should make it much easier to manage and download our games in the future.

Our profile can be found here:

http://magnesiumninja.itch.io/

Every game we’ve worked on as a team is up there, right now, for the low, low price of absolutely free! If you have some time to spare, we’d greatly appreciate you checking them out.

Cheers,

Justin

The Great C++ Exodus – Getting Started (Part 1)

Hey everyone!

I said I would spend some time talking about our C++ port as it progressed, and so here we are. Part 1. ‘Oorah.

Why C++?

Perhaps the first question that comes up with this port is why? Why are we taking the time to start from scratch like this, after having spent so long developing the game in GameMaker.

The primary reason for me is that C++ gives me the ability to do actual, competent technical design. GameMaker is technically Object-Oriented, but not in a way that I find valuable or clear. I feel that GameMaker is a fantastic way to approach the concept of game development and programming, but not a place to truly excel.

Moving to C++ gives us the advantages of true Object-Oriented design. What that will eventually mean is that I can develop the game faster, more efficiently, and more intelligently. It also means that ports are more likely to happen, and that integration with popular web services is in the cards.

0700ad301c814e355588b218aeec19c2

What are we using?

For development, we’re using a number of tools:

Justin and I are both using Visual Studio 2013 for our compilation and programming. We’ve chosen Visual Studio mostly because we’re familiar with it and how it works.

We’ve decided to use SFML to develop this project. It allows us to focus on game development, instead of nitty-gritty of operating systems.

We’ve chosen SourceTree and BitBucket to handle our version control needs. Version control is an interesting and very broad topic, and we’re very slowly digging our way into its secrets.

e598f8abf5c0538d4b8efd9491cb4fde

First Steps

The first issue that popped up for us was perhaps the most basic issue: How do we start this project?

Developing a game in GameMaker is fairly simple to start with. GameMaker handles most of the complicated stuff for you. It creates the window, handles your game loop, and renders things for you. The biggest challenge for us so far has been internalizing how exactly these things work in a more basic environment.

I’ll talk more about game loops and rendering in the future. We’re still working through it. Our biggest goal right now is to learn how to design and develop this basic aspect of the game in an optimized and efficient way. It wouldn’t do to build an entire game upon a faulty core.

c033d163864d5aa91662dfba3f092420

I expect us to make mistakes as we go through this process. This is our first time approaching game development from this angle, and it’s something that is relatively complex. I’m okay with the mistakes though; they’re the best way to learn.

What we’re doing now

Our time at the moment is being invested into rendering. The main game loop exists and is functional. Our priority is to design the rendering process properly, so that it stops being something that we need to think about in the future.

I’ll be back fairly soon with Part 2, discussing the game loop and rendering more in-depth. Hopefully these posts continue to interest you! If you have any insight or thoughts on what we’re doing, feel free to let us know.

See you all soon!

Chris

Some much needed Vitamin C

Hey everyone!

We’ve been absent for the better part of the past few months, and that kind of sucks. School and work absorbed basically all of our time, which also sucks. In the time that we’ve been gone, we’ve made some decisions, as well as progress. Allow me to enlighten you:

We’ve decided to make some design changes. We’ve been having issues with our initial design and have been struggling to realize it in a fun way for a while. These changes will be explained more in depth in the future, but for now, let me explain with the following.

Our goal for the future of Tomorrow’s Horizon is to transform it into more of a strategic game in which you make specific choices about the path you take through the world, and then fight to obtain rewards that will help you achieve victory.

Vague! Wait for more details. They’re coming, I swear.

The second big change we’ve decided to make is the conversion of the game from GameMaker to C++. It’s a change we’ve been wanting to make for a very long time, and we’re going to go through with it. It will result in a large development set back, but we’re already refactoring a lot of the game due to design changes, so I feel like this is a beneficial move.

What does this mean for the game? It means better optimization, faster development time (once we’re up and running), better potential for DLC and cross-platform release, and easier third party integration.

What I’d like to do for the time being is start up a semi-frequent development diary on the process of converting this game into C++. This is our first time developing a game in C++, and I’m sure we’ll make plenty of mistakes and discoveries. We’d love to have you along for the ride.

The first of these posts will come along soon. Hopefully you enjoy them, and maybe you’ll learn something with us as we fight our way through this new frontier.

See you all soon,

Chris