Along with the recent work on Radial Menu Prototyping, I started work on a long awaited feature: Canceling Actions. I know it sounds like a pretty basic, standard issue feature. And you’re right, it is. There’s just a lot more to it than you would think, hence the reason why it’s been on the back burner for so long. Fun fact, in every current build, if you moved a unit to a tile and attempted to attack another unit and were out of range, there was no way to cancel that action, and you had to restart the game. Finally, those days are over 🙂
After a long month or so of development, I have put a nice bow on the latest changes, cut a release, and am now thinking about what’s next.
This release is quite the milestone, as it establishes the framework for external data loading at run time, which opens up the possibility of modding on a very basic level.
The additions are as follows:
- integration of JSON.net
- runtime data loading for the following:
- tile maps
- can now design maps via Tiled and import them using a new Tiled -> Eternal Engine class
- created playable builds of the game for the following platforms:
This morning’s update almost never came to be.
For newcomers to this blog, I commute about 5 hours (round trip) door to door from my home town of Poughkeepsie, NY to downtown Manhattan, NYC, where my company’s office is. I’ve been doing this song and dance since 2004, it’s quite old, I hate it, I hate trains, I hate people, etc.
The one thing that keeps me going is the fact that I do get to get a fair amount of game development. That is, if I’m able to stay awake…
This might as well be called the month of “Inventory UI”. It’s been the only thing I’ve worked on thus far, and just when I think I’m done, I’m like, “Oh shit, I should probably support this minor feature as well”. Minor features are, well, minor, but a dozen of them = month of “Inventory UI” 🙂
My work with the Inventory System continues. On the one hand, just because of how I like to develop (i.e. bouncing from system to system), I’m a little drained with my work on this. On the other hand, however, an Inventory System is one of the key components to any RPG, and it has to be done right. Also, I have been able to knock out a lot of the core work of it. The way I have reconciled this in my mind is: The more I get done now, the less I’ll have to address later.
I admit I got distracted more than I wanted to this week, however, when I was able to focus, I was able to get some solid progress done on the inventory UI.
A few days ago, I finished prototyping some inventory drag & drop functionality, which I discussed in February’s State of the Union. The next logical step was to begin working on unit equipment slots, and making sure the drag & drop stuff worked there as well.
Of course, I actually had to do some upfront UI work in order to display a unit’s equipment slots.
After I finished work getting the Inventory UI finished, as well as the tool tips, I immediately was thinking that it was just too damned large. As I started making changes, I realized how annoying it was to do it. I had to change the width/height of the main panel, the inventory slots panel, each slot, and each image within the slot. Also, another thought arose. What if I wanted to make this a little more generic, and use it in different places in the game? It was clear to me that I need to be a little more smart about how these settings were used, and come up with a solution to make the creation of them a little more dynamic.
After finishing working on my Attribute system last week, I dove head first into work on an Item system (consumables, weapons, armor, etc.). Much of the work on Attributes ended up helping me with my work on Items in ways that just… made sense…
The core guts of an RPG. These values help drive the game, and many of the core systems. For this game, they will help shape, as you would expect, the combat system. That’s the easy part. The hardest part will be the implementation. And if I break it down any further, it’s not really the actual implementation, it’s how I implement it.