Time for another behind the scenes look at the technical aspect of Vacant Sky Awakening. This one is a little more high-level and touches on game design, so the non-technically-savvy readers don’t have to worry about their eyes glazing over.
Lately, I’ve been putting the finishing touches on the skill editor. One of the challenges of making a skill editor before all the content is set in stone is that it can be hard to predict exactly what tools to lend the user.
Let me give an example. In more typical RPGs, a skill could have the following attributes:
There tends to be a linear progression in skill power in these games, in which the skills you learn are just more powerful versions of ones you’ve learned previously, dealing higher damage and costing more MP. Though certainly easier to design and program, that’s also kind of boring.
In Vacant Sky Awakening, a much greater emphasis is placed on support skills, most of which produce unique effects that can’t simply be qualified as status effects (such as granting an extra turn). On top of that, skills can have lots of conditions, such as burning an amount of TP, or requiring you to have at least a certain amount of HP.
Although I could certainly put a checkbox for every single possible quality a skill could have, I decided to disassemble skills into constituent pieces called components. Skill components are the building blocks of skills – any skill can be expressed as a set of components.
Examples of components include:
* Inflict damage
* Can’t miss
* Apply status effect
* Costs TP
* Requires TP
* One use per battle
When I want to create a new attribute for a skill, all I need to do is create a new component for it. To ease this workflow, I’ve created a C# attribute I can stick on a class declaration that causes the editor to read it and create a button for it. Similarly, each field in that class is marked with an attribute that specifies its name and what kind of input widget to create for it.
This approach is very flexible and resilient to change, an absolute must when working on an episodic title where new mechanics can be added in the future that I have no way of predicting right now. It’s also very generalizable; I could apply the same concept to items (in fact, I probably will) just as well.
Thanks for reading this through to the end. I hope it was interesting!
One of the downsides to being a programmer is that I don’t often have anything visual to show off like my comrades of the artistic persuasion. There’s not really anything groundbreaking happening behind the scenes with the programming, either, so writing about the programming process isn’t particularly interesting. But this is one of those rare occasions when I do have something to show.
One of the major challenges of moving away from RPG Maker is that I no longer had a visual editor to define things like party members, items, and enemies. Until now, I’ve been hardcoding them directly in the game, but I’m finally reaching the point where it’s just too much of a hassle to do as a result of the increasing complexity of the codebase.
To that end, I’ve begun building Worldweaver.
It’s still pretty bare-bones and an early work in progress, but it’s an application I’m building to aid in the entity creation process. So far, I’ve finished the first three tabs (save for some minor bugs).
Worldweaver was built using Windows Forms and links directly into Metis and VSA, from where it’s able to draw entity definitions (say, the list of skill effects) and update the editor dynamically to reflect changes in the code.
I’ve spent about three days working on it so far and it has already paid for itself in terms of time spent versus time saved. There’s still a lot of work to be done, but so far it’s shaping up to be pretty helpful.
It’s been a while since you’ve seen anything concrete from us lately, but I hope to change that in the coming weeks and I’ll make up for it today with some insight into what’s going on behind the scenes.
First milestone incoming!
I’ll start off with some exciting news! Our first major milestone, Alpha 1, is slated for June 9th. Alpha 1 is going to be an internal release since many of the features still aren’t in place. Here’s a look at what we hope to have done for Alpha 1:
- All main character portraits done
- All main plot enemy battlers done
- All environment art done
- Two dungeons playable (sans battles)
To put it in perspective, EP1 contains a total of four dungeons (and a fifth optional one), so most of the dungeon gameplay should be done for Alpha 1. Once all the dungeons are in place, the town areas will be added.
Five dungeons might not sound like a lot on paper, but it’s actually more than any other Vacant Sky game has had in the past. On top of that, our philosophy with Awakening is quality over quantity; the dungeons have a lot of optional content, plenty of choices, and hooks for replayability in the form of quests that are linked to other areas.
What’s taking so long?
There have been quite a number of hang ups I’ve talked about in the past that have caused us to miss the originally estimated release date, not the least of which being the sheer size of the cast (every character, major or minor, needs a portrait). This time, I’m going to talk about a more subtle and interesting timesink, as it’s something that has occupied the majority of my time lately.
Writing the content for Awakening is time-consuming. For the most part, every space on every map needs an event to be written for it and every one of those events is unique. There’s no copying and pasting. You get something new each time you step on a space.
But it’s not even the sheer volume of content that’s time consuming, it’s also that we’re not shying away from true nonlinearity.
Most areas of the game have optional spaces, and almost every area in the game can be revisited (if not immediately then eventually). This means that it’s possible to rush straight through every area in the game and save all of the optional content for the end. This means that every optional space needs to be written with the fact held firmly in mind that it could be visited at any point in the game.
Not only could a player save all the optional EP1 content for the end of EP1, the player might return to it in EP2! Or EP5! Keeping this in mind and making sure that the chronological context for every event makes sense from any point in the game is a daunting task.
On top of that, characters enter and leave the party throughout the game. And since Awakening has no superfluous characters (stop laughing, Kate, I know what you’re thinking), every one of those characters has something insightful to say or do that could totally change the way events play out.
You might be led to assume, then, that the optimal way to play if you want to experience all of the content is to save it all for the end such that you have everyone in your party for it. As it turns out, that’s not necessarily true: having someone new in your party doesn’t necessarily add to the event you would have otherwise experienced; it could change it completely. So Awakening has a lot of replayability based on how and when you tackle the optional content.
That’s all I’ve got for this week’s update. We’re working hard to make Awakening as awesome as we can and hope to have something great to share with you all soon.
Thanks for sticking with us.
It occurred to me that I never announced the release of the first soundtrack here. Whoops!
The A-Side soundtrack contains music from episodes 1 and 2 and can be found here on Bandcamp: http://vacantsky.bandcamp.com/album/vacant-sky-awakening-ost-a-side
The B-Side soundtrack has just been released! It contains music from episodes 3, 4, and 5 and can be found here: http://vacantsky.bandcamp.com/album/vacant-sky-awakening-ost-b-side Kickstarter backers who pledged for the complete soundtrack should have received their copies already.
The Vestibule is now available as one of the OUYA’s launch titles! Pick it up for free on the OUYA store! On top of being one of the console’s launch titles, it is the first visual novel to be released on the OUYA.
This release is very exciting as the rerelease of The Vestibule is the first game to be released on our new Metis engine and it marks a significant milestone on our path forward with Vacant Sky: Awakening.
On this day, four years ago, the original version of Vacant Sky Act I was released. In those four years, we’ve come a long way, with the subsequent releases of Acts II and III as well as the recent Complete Edition releases of Acts I+ and II+. 2012 was a good year for us, with two major releases and the release of our first (small) commercial game,Encarmine. In this past year, we brought the community together with the launch and wild success of the Vacant Sky: Awakening Kickstarter.
But 2013 is going to be our best year yet. Let’s take a look at what’s in store.
To facilitate the development of Vacant Sky: Awakening, we’ve been hard at work on developing our own game engine, (tentatively) called Metis2D. As we near completion of the engine’s core features and continue our testing of it, we’re happy to announce the first game to be released with the new engine.
One of our earlier microgames, The Vestibule, has been successfully ported to Metis and runs like a charm. We expect to rerelease The Vestibule on new platforms, namely the Ouya. The Vestibule will be available for free as one of the Ouya’s launch titles.
Vacant Sky: Awakening
Unsurprisingly, the majority of our efforts right now are concentrated on VSA. Work has been coming along at a steady pace. It’s still a little early to show anything new from the game yet, but we’re still hoping to manage a release before the summer. But although there’s nothing to see, there is plenty to listen to:
The soundtrack for episodes 1 and 2 of Vacant Sky: Awakening is now available for purchase! Kickstarter backers who pledged at least $25 will shortly be receiving download codes via email.
Thanks for being patient with us as we go through the roughest part of the development cycle. Please look forward to a release of Episode 1: Journey of the Black Knight in the coming months.
Those of you who were following the Vacant Sky companion story, Ars Harmonia, have probably been wondering about the status and future of the series. For the foreseeable future, our efforts remain primarily concerned with the development of Awakening, which resulted in it being pushed to the backburner.
However, a chance encounter with some old friends has brought about a change in fortune for Ars Harmonia. Ardent Blue Productions expressed interest in doing a game adaptation of the story and I’m excited to say that we’ve entrusted it into their capable hands. Although we’re not directly involved in the game’s production, I’m confident in their ability to bring the story to life.
It’s still too early to estimate a release, but look forward to more news in the latter half of the year. You can check out the RMN profile for the game here:http://rpgmaker.net/games/4926/
Thanks for sticking with us for another year! We’re hoping to make this the best yet and we hope you’re as excited about it as we are!