State Of The Union

It would be a massive understatement to say that I’ve been getting busy over the past 2+ weeks. Though, by looking at the above GIF, or hell, just this new website as a whole, it should be damn clear to everyone. I’m focused, man!

New Website

Let’s start with the obvious… You are now looking at the 3rd generation website for Rose Of Eternity. I’ve been thinking about doing this for some time, and thought, hey, it’s a new year, I’ve got new assets/animations for the game, so I might as well have a new website too!

For reference, here are the older sites, just to show how things have changed over the years:

Shout out to Oli Ferrando for the change in 2006 that has carried me these past 10+ years. Because the 2005 version was just terrible, even for 2005 standards. I mean, at the end of the day, I did it with Microsoft FrontPage, and just dumped a bunch of information on there. I didn’t know what I was doing. I’m a game developer. Incidentally enough, I don’t know what I’m doing now.

Which is why, after months of research, I decided on using the WordPress.org platform for this site. I already had an idea of what theme I wanted to use for the page, but the thing that has blown me away are the numerous (free) plugins! I’m currently using a photo collage, video collage, and social media plugins, and the process of download/installing/using is very intuitive. I’m really loving it.

Though to be clear, the main reason I switched came down to 1 thing: Blogging. In particular, not wanting to manage it myself. You see, on the old site, it was extremely manual. I didn’t have templates, didn’t use CSS, none of that. I simply added a picture, a title, and some words. And that in itself isn’t that bad. It’s when I wanted to make global changes that the pain came in. Every month of every year of the blog was its own web page, so if I wanted to change the archive section at the top, I had to edit all those files. It was easy enough when I only had a few months to do it in 2006-2007. Fast forward to 2017, and it’s just too much.

And again, I need to be clear. I know there were a multitude of ways around this, but when I’m knee deep in development, the last thing I want to think about is website design. Hell, I didn’t even want to make this change, but I knew it would benefit me in the long run, so here we are.

So I hope you enjoy it. I added all the recent blogs since I came out of hibernation, and back dated them, for posterity. It still remains to be seen what happens to the older blog entries from 2014 and back. If I can export that data, then somehow import that into WordPress, that would be great. But for right now, I’m happy with the amount of content on the site.

Now, back to what you’re really here about…

­­Year In Review

Man, what a year it’s been. 2 years after the release of Family & Country, here I am (somehow forgetting the pain of that 5 year long development cycle) working on another game. Hopefully, the scale of the game will be something that I am up to, and something that won’t drive me nuts (too much!).

It’s been no secret that most of the development time has been spent prototyping various features of the game. There was no way I was going to simply jump into this engine and start knocking out a game. I needed some time to see if said engine was up to the task. Some of the most important things I worked on was:

Tile Map System

The first thing I worked on was the Tile Map system. While I’m not a fan of doing too much upfront scaling (especially in the prototype phase), I knew early on that I wanted something that could give me high performance. After a bunch of research (a sentence you’re going to keep reading over and over again), I decided on a mesh based implementation, instead of the common game object implementation. The latter uses game objects as the tiles, which could prove costly in the long run.

Early on, I used assets from a quill18 tutorial, and created a system that could load a data file that comprised the map. It ended up looking like this:

Using these assets, I began to prototype everything else. UI, gameplay control, general flow, AI, combat, etc. For the units in particular, I ended up using game objects that had a cylinder as a model. At that time, it didn’t matter. I just needed “something”. These assets would serve me fine for a few months, but in the latter half of December, 2016, enough was enough. It was time to get some “real” assets in.

New Assets/Animations

Of course, these assets themselves are the very definition of prototypes, but it’s more than I had before. Now, one thing I’m proud of was how easy it was to get the new tiles in. It literally consisted of swapping in a new sprite sheet to the Unity inspector, and then changing the tile resolution field from 16 to 64. The underlying system I wrote handled the rest. In the below GIF, you can see how easy it was to swap in/out tiles.

So yeah, tile swapping was pretty smooth. But now I had a whole set of different sprites with all sorts of animations and whatnot, so I had to spend a lot of time learning about how animations worked in Unity, how to set them up, and how to call them during combat. I’d say that was about one day’s worth of research and tests, but once I had one unit done, moving on to the other 4 was pretty easy. Very, very time consuming, but still easy.

All in all, I’m very happy with my results. Plus, it was nice to get away from the “circular” units and to something that somewhat resembles a game 🙂

Finally, shout out to FreeThePlayerOnGame for his RPG Basic Pixel Art asset pack. I had been eyeing this for many months before I even started development, and knew that when the time came, I would make use of it. I mean, for $2, it was just perfect.

Artificial Intelligence

I didn’t get as far with this as I wanted, but that is because I didn’t get beyond standard attacks in the combat system. So I didn’t have to spend any time setting up spell/consumable usage or the like.

But I was able to get the core of it working, which was nice. Currently, there are 2 types implemented: Kamikaze and Zone. The former will just charge blindly at the player and attack the nearest unit. The latter will make the enemy unit wait within their zone until you enter it, and then, they’ll go after you.

So like I said, pretty basic, but enough to get combat prototypes up and running, which was the ultimate goal.

UI

Ah yes, UI… I haven’t even attempted to make anything look good. It’s just not my thing, and I’ve been doing this long enough to know when I need to defer to someone else. Who that someone else is, who knows… But for now, I’ll continue to build usable UI, and worry about the polish at another time.

What’s Next?

So for roughly 3 months of work (bearing in mind I have a full time job, a new house, and a family), I think I’ve done quite well. In fact, for every month, I’ve far exceeded all goals I’ve set at the beginning. Or perhaps I’m just setting the bar low 🙂 Either way, I’m on a decent run, and I’ll continue to capitalize on this momentum until it eventually fades away (such is the life of the lone indie developer). Because I’ve done this long enough to know that there’s going to be a dip at some point. Something is going to happen to slow up development. So I have to strike while the iron’s hot. Here’s what’s on my immediate short list:

  • Add some SFX to accompany the new animations
  • Implement attribute system (Strength, Speed, Dexterity, etc.)
  • Implement weapons/armor/items system
  • Create “attack” portion of combat system that takes into account the last 2 bullet points
  • Implement ability system (including both talents and magic)
  • Implement XP system
  • End to end combat scenario, which is comprised of:
    • Title screen
    • Beginning of combat scenario, including win conditions
    • End of combat scenario, with end stats
    • Brought back to title screen

I believe it’s way too early to put dates on these at the moment, but this is where I need to go next. This is also a high level view of everything. There will be tons of smaller items to address in each bullet item, which is another reason why I wouldn’t even trick myself into believing I could properly estimate this.

However, the key to all of it is that I’m having fun. It is legitimately extremely gratifying to see my game grow as I continue to implement system after system. I cannot wait to see what I’m able to get done by my next State of the Union.

Till tomorrow…