Oh my lord, I finally have my life back! Yes folks, all that extra work I was doing for... well... work (i.e. real job) has finally come to a close. After a long and arduous week of late nights, early mornings, and just about everything that could go wrong, going wrong, I can say that my work is done. *Breathes sigh of releif*
In the middle of moving through heaven and earth to finish the aforementioned work, I was still able to sneak in some VO integration on the train rides to/from work. I hadn't sent any lines to John for quite some time, so long that he thought the game was finished :) At any rate, once I sent him new lines earlier in the week, it only took a few days to start receiving the VO in small bits.
Now, since I did a lot of normilization work with audio last week, I decided to change things up. Because I had never really done it before, I had this huge backlog. From now on, I'm just going to do it as I'm integrating the VO, and just get it over with. It obviously takes slightly longer to do, but I think it will be well worth it in the end.
Tomorrow, I will be integrating the last bits of VO he sent me, and then moving on to fix some minor issues I noted during my last play through.
Today's music from Secret of Mana was the music that always played when you were confronted with the antagnonists of the game. Not that I remember the story too well! Enjoy!
3/28/12 -Wednesday: ADMIN RELATED THINGS...
Today, I mostly spent my time doing administrative things. In others words, lots of emails. As I stated in my last post, I've been busy as hell lately (still am!). The only time I really had to even attempt to get back to the haldf dozen or more people was on the train. One good thing about the train is there is no internet connection, so I can't be forced to log into my desktop at the office.
Anyway, most, if not all the email was VO related. It wasn't just writing/sending out the emails that took up my time. A lot of it was compiling the lines for the various actors. As I was conducting my play through of the game, I was obviously taking a lot of notes, and the main ones were lines that still needed to be voiced. Once I had those notes, I just went down the list of actors, and put together the lines needed for the cast members they voice.
At the end, I felt a great sense of accomplishment, because for many of the actors, the lines I was sending were the last bits for the game in general. Makes me feel that I'm just that much closer to being finished with this game.
Today's music from Secret of Mana is one of those pieces that when you hear it, you feel like everything is going to be okay. Enjoy!
3/25/12 -Sunday: THE PERFECT STORM...
Oh man, these past few days have been the perfect storm...The perfect storm of hell, that is...When my wife is asking me why I'm so stressed, I'm constantly having to remind her that I have 3 jobs:
the job that pays the bills
Rose of Eternity
another project I'm a part of that I can't talk about at the moment
Obviously, when I only have to deal with one at a time, things workout pretty good. Okay, when 2 sneak into my life, I can get by. All 3? What's the result? One huge clusterfuck! And that's exactly what has been happening since about last Wednesday.
I'm working on various projects are my real job, projects that are bleeding over into my time at home. It doesn't happen too often (last time was September of 2011), but every once in a while, there are multiple projects that need that have a hard deadline, projects where I just have to bite the bullet and do what I have to in order to get it done. But, this is the life of the software engineer. For 3 months, most of your time can be spent doing research on the latest nerf guns to help in your nerf war against the web team on the 2nd floor. No, I'm serious. There has been a war between my floor (4th) and my team (backend API team) versus the 2nd floor's web team. Shit is serious, and I need some new gear to stay competitive. Again, I'm being completely serious.
Then, there comes times where you have 3 separate projects that need to be finished on 3/31. And no, I'm not joking about this either. 3 separate projects with hard deadlines, where the end result will be major customer facing changes. Any change I have to make that the users of our app will see means extra precaution has to be taken. Hence, all the extra work I've been doing. But look, I get paid to do this. It is what it is.
The second point of this trifecta, this perfect storm, this cluster fuck, if you will, was a TON of VO related things. I already told you about stuff I received from Alexander, but then I started receiving more and more VO from others each day since then. I feel bad, because I'm receiving all of this VO, trying to get it integrated and taped so the actors can see their work, and I'm busy with real work stuff at home. So, to anyone of our actors out there reading this, I'm not ignoring you! I'm just damned busy :(
Finally, there is this work I've been doing on the side for another project. Things had been slow for the past few months, but has hetaed up recently. Not much else I can say about it, but yeah, there's that too.
I also try to maintain some sort of personal life too, so I don't go insane (I've learned my lessons from Cry The Beloved quite well), so I did spend some time watching tennis over the weekend (man, tennis seems to always be on), as well as going to see The Hunger Games with my wife and another couple.
Long story short, I've been busy. One positive to take from this is the fact that when I was only really working on Cry The Beloved years ago, before I had real huge responsibilities, I was even more stressed. So, I'm getting a lot better at managing things.
Tomorrow, the plan is to devote all my free time to integrating all the VO I've received, as well as sending out more lines to more actors. Gotta keep this train moving along!
On Wednesday night, I finally finished my playthrough of the game. One of the highlights is the fact that I only logged like half as many issues as last time, and half of those were VO related things (raise the volume on this line, VO didn't match the captioned text, etc.). The other big thing was the last battle fought, and more importantly, the culmination of all the various custom abilities in the game. One of the best parts of game design for me is ability/skill design. Only thing better than that is when it just works in the game as you expected.
On the negative side, while there weren't as many minor bugs, there were some questionable biggies. I think I broke a pretty important ability, there is a huge bug in one of the systems I designed way back in November, and as I mentioned in my last update: I wasn't earning a skill point per level as I expected. Oh, and one party member refused to level up, even though they had a "plus" sign on their portrait. Yeah, fun stuff.
The other main reason I did this playthrough was so I could backup the game and cut another alpha. I don't have access to my svn repo at the moment, but I'm pretty sure I'm up to either alpha 1.3 or 1.4. I'm not really actively pursuing testers at the moment, but I wouldn't turn anyone anyway. So, if you'd like to be a part of the alpha test, shoot me an email at email@example.com.
The last bit of news I have is that Alexander just dropped off one hell of an amount of VO for me. One thing I find interesting is that every VO artist has their own way of doing things, as I'm not some crazy developer who enforces Nazi'ish constraints on them. I want to make it as comfortable as possible for them. Just give me the goods, I'll get it in the game is my thinking. Anyway, his thing is to send multiple files per line, so I have more to work with. He's really big with improvising the lines I supply, and usually ends up making them better. As always, writing is one thing. Speaking said words out loud just doesn't sound right sometimes, so I'm glad he puts his spin on things.
Tomorrow, I'm going to continue integrating his work, and then spend as much time as possible sending the next batch of lines out to the actors. As always, I noticed un-voiced lines while doing my playthrough, so I need to get those reconciled as soon as possible.
For today's music, I'm taking it back to my 16 bit roots, during the era I have dubbed the true Golden Age of RPG's. What game? Secret of Mana. Today's I'll start with the intro theme. Enjoy!
3/20/12 -Tuesday: ANOTHER PLAYTHROUGH WELL UNDER WAY...
After all that exhausting level design work I did over the weekend, I decided that it was time for another playthrough. As always, the goal of these are to:
discover and document bugs
make sure the game isn't broken
make another milestone build and back it up, in case my computer is remotely detonated
As usual, things got off to a good start, but as always, I ran into a game breaking bug. No, not a real bug, per se. Just the usual shit... Sometimes when parachute testing, I altering the on enter scripts of certain levels to fire off certain events. I ALWAYS forget to fix all of these. Luckily, it happened early on. Once it was fixed, it's been pretty smooth sailing.
The main thing I've been keeping an eye out is how the new custom skills I created are effecting the game. For instance, the player has the ability to increase the Bonus XP percentage they received for dealing the last blow on an enemy from 10% to 20%. How is that going to effect leveling in the long term? Will the player get too powerful? Same thing goes with the Bonds of Battle Skills. You can increase the range of how close you need to be to your party member to acquire them, and hell, you can even increase the rate at which you receive them. So the same question needs to be asked again... Will the party get too strong, too quick, if they are able to receive their BOB abilities too early?
Well, I already have the answer. Just for some context, one party member starts at level 1, the other, level 2. At the time I decided to stop playtesting for the night, the party member that started at level 1 had passed the one that started at level 2. Now, said party member did unlock the skill to earn more Bonus XP. That definitely contributed to this massive leap frogging. So, maybe I need to lower than Bonus XP percentages?
As a game designer, these are the types of problems I love to solve, and I'm actually really looking forward to it.
But, if I could back up a bit... I mentioned that one of the party members starts at level 2. From a story point of view, this person has seen a lot more combat than the party member that starts at level 1. From many game standpoints, it makes sense for it to be this way, but I've been down this road before...
...In my first game, The Coming, Aramusstarts at level 1, and when you eventually get Challseusin your party, he is level 3. Now, you're told that this is a very important, well known, and most importantly, powerful mage. I honestly didn't give it much thought, but many reviewers of the game were happy to point out this inconsistency for me. Hell, just because I had to come up with a reason why he was level 3, I ended up adding a lot to his backstory :) I can't expect to be able to get so lucky this time.
Because of all of this, I've been doing a lot of thinking with regards to where this character's level should be. The problem with starting so much higher is that by definition, they should have many cool custom abilities. The problem with that is I'm trying to roll out said abilities a certain way, so as not to oerwhelm the player. In other words, I need to find the middle ground. I need to make them high enough that it makes sense from a story perspective, but low enough that they're not uber powerful, messing up the balance of things. Again, another interesting game design issue I'll need to figure out quite soon.
Finally, regarding bugs in the playthrough so far, the only one that has popped up that is a little annoying is that when the party members leveled up, they were allowed to allocate skill points, meaning they haven't been able to advance those new custom skills past the first ones set in the beginning in the game. Sucks...
Today's music from Street Fighter 2 is from Cammy's stage. Along with Vega and Zangief, this is in my top 3. Enjoy!
3/18/12 -Sunday: VO NORMILIZATION AND NEW ART...
One thing I've been doing on the train for the past week is voice over normilization. Most of the raw audio files I receive from the actors are actually good to go, but some need a pass or 3. First pass is noise reduction, which works pretty well. The next is raising the voume, which is done using the Amplify tool in Audacity. Finally, I like to remove any silence from the beginning of each file.
By looking at today's screenshots, you can see how I go from the raw file to a finished one. Notice the little bumps along the straight part of the line? That's the noise. Notice how the waves are larger in the 2nd screenshot? That's because I've amplified the sound. Finally, you can see where I've cut off the parts I don't need.
This in itself is not hard work at all. Doing this for thousands of lines over the course of the past 6-8 months? Yeah, VO is no joke. But, it is what it is...
In other good news, I received some concept art for all those new custom skills I created a few weeks ago. I knew Archon would not disaapoint, and I was not let down. Since he initially reached out to me, he has done 16 custom icons for the various custom abilities/skills in the game, and countless more pieces of concept art, where we nail down what we want.
The system is actually very easy and natural. I always have some idea of what I want when I make a request, and then he does his thing (I don't know what is involved with his thing, but his thing is damned good!), and some time later, I have some concept art. Hell, sometimes I have 3 different pieces of art for one icon alone. Then we decide what we think the final piece should be, and sometime later, I received icon in DDS format so I can integrate into the game.
Anyway, I can't wait until we get the finished product into the game, because unless I'm missing something, that should be it. As far as I can recollect, no other icons are needed besides the last set I sent out to him. It would be a small victory in this large war that has been going on for far too long :)
Today's music from Street Fighter 2 is from Vega's stage. Now, I'll never forget the first time I heard this music. I was in a pizzeria when I was 11, and I was literally seeing this game for the first time. Some guy was fighting Vega, and had to leave, and told me I could take over. Remember folks, I'm 11, I don't have any more money, and this guy passes the joystick to me to play this marvelous game I've never played before. And agains Vega, of all people! Of course I got my ass handed to me, but one thing that stuck out to me was the music. I mean, this was it. My obsession with the series started here, and would last for the next 6-7 years (Street Fighter Alpha 2 perhaps?).
Anyway, now that I have hyped this music up to levels that will surely make everyone disappointed after listening to it, I present to you, Vega's theme. Enjoy!
3/17/12 -Saturday: JUST GIVE ME 6 HOURS...
Ah, pathfinding, my new arch nemesis!
Last week's post (yes, I know this is a daily journal), I talked about pathfinding issues I was having, and ways to solve them. I thought I was on the right path, but alas, those solutions did not work out. So, I was back to the drawing board.
The thing that really started to piss me off with the pathfinding was when I removed the tunnels while working on a new method. Even when there was clearly enough space for the party to run through (indicated by green dots in the editor), they would just dance around. I ended up scrapping my original plan for the level as a whole, and went in a direction. But maybe I should explain my original plan...
...So, this level is essentially a combat filled area. The decapitation in today's screenshot should make that clear. For gameplay reasons, I felt like I needed to control the flow of battle from one scripted sequence to another. How did I do this? Gates that were locked, which could only be unlocked once you defeated all the enemies in a particular section of the level. Now, I didn't arbitrarily make this decision. It actually made sense from a real world logistical perspective as well. This was all well and fine until the aforementioned pathfinding issues with the particular models I wanted to make use of.
Anyway, the solution ended up with me making some of these gates a little more open (read: not barred by gates), and if the player happens to extend themselves too far, they may be forced to take on more enemies than they can handle. One of the things I learned from designing games, as I try to straddle the line between my Eastern RPG roots and the dominating Western RPG's, is that sometimes I need to let go. I need to just let the player do their thing.
Finally, with regards to the title, "Just give me 6 hours...". Well, such is level design :( I was literally forced to make a change, export the level to test, see if it was messed up, rinse and repeat until things were perfect. It's just hard to do this during the week, and ended up being perfect to do today as I watched tennis.
Speaking of tennis... Federer defeats Nadal! Life is good!
Till tomorrow (no, I actually expect to write tomorrow, lol)...
Today's music from Street Fighter is from Zangief's stage. This is in my top 3. Enjoy!
3/10/12 -Saturday: STUPID PATHFINDING!!!
Man, what an irritating day...
So, I've had this level that I created many, many months ago. I created it pretty fast, and was able to test out a lot of combat in it, but there was one main issue: pathfinding.
For instance, take a look at screenshot #1. See that little small tunnel? When viewing the level in the level editor, you can see the little dots that represent the player is able to walk through it. Hell, the player can forcefully walk his character through it. Party member's AI? Not so much. They just bunch up at the end of the tunnel, and stand there, looking stupid and confused.
Now take a look at screenshot #2. Ah, much better, no? Definitely more than enough room to run through, right? Well, yes, and no. There is definitely room to run through, and hell, it even works, except for one little bit of weirdness... There is no path finding under the tunnel. It's actually on top of it, as it was most likely created with the idea of the player running over it, whereas there would most likely be a stream or something under it.
So at the moment, it sort of works, but more work is needed. First, they were attempting to run around the entire structure. Once I plugged those holes, they would actually follow me under the tunnel. Unfortunately, I made some small change somewhere, and now, they sort of flicker to the other side, if that makes sense. As always, I'm sure it will all work out in the end. I'm just glad to be close to putting this behind me.
Today's music from Street Fighter 2 is from Ken's stage. Enjoy!
3/5/12 -Monday: HACKING THE DRAGON AGE ENGINE TO GET WHAT YOU WANT...
STATE OF THE UNION
Another day, another post, another month... It just keeps rolling on...
If I had to pick one thing to highlight from the previous month, it would have to be all the little things I did to make this game feel more like Rose of Eternity, and less like Dragon Age. In other words, all the custom things I added to the game. Custom skills, custom tactics, custom GUI's, etc.
I'm actually very lucky in that most of the things I wanted to do where completely possible with the engine. Sure, I may have had to implement some in-elegant workaround (i.e. hack) here and there, but for the most part, everything just worked.
Speaking of hacks...
...I had to go to extreme lengths in order to complete my latest little custom project. Right, so, in a normal Dragon Age game, when you see a line of abilities, you see all the abilities, even if some are not accessible at the time. I totally understand the merits of such a system, and it worked well for Dragon Age,
Things are a little different in Rose of Eternity. Many of the custom abilities you gain are earned after completing particular tasks, or even related to what's going on in the game at that particular moment. Above all, the player is not supposed to know about these abilities. That's part of the charm of earning a new ability. That joyful feeling you get when you know you're about to received "something", but you don't know what that "something" is. Sort of like Christmas as a child.
Anyway, there was no elegant solution I could find that allowed me to have one ability unlocked, and have the 2nd one unlocked, but not visible in the line of abilities. Usually, you would set the 2nd abilities pre-requisite ability to the ID of the first. However, if you do this, even if you don't have the ability, it will show up grayed out. Even worse, when spending talent points, you could even select it!
So what did I do? The worst hack I've done with this engine thus far... I essentially created 2 rows in my ability 2DA for the first ability in the line. Even though they both have different ability ID's, internally, they both point to the same code base for running the functionality of it. Now, for the 2nd ability I make sure the pre-req ability is the 2nd duplicate of the first ability. Finally, when the first ability is earned, I use the first duplicate ability ID. When the 2nd ability is earned, I remove the old ability with the first duplicate ID, add in the same ability (with thr 2nd duplicate ID), then add the 2nd ability. I'm confused just typing it out, but it works, because the end result is today's screenshot.
Now, if I find out another way to do this, I will gladly give up this hack. But as things stand, this is what I'm willing to do. Now, the only other thing I may look at is putting up some "Question Mark(?)" icons over the unearned abilities. This should at least let the player know they'll be getting something.
So last time, I played music from Guile's Stage. Turns out, I'm not the only person who likes that music. There's a bunch of videos on You Tube, titled, "Guile's theme goes with everything". Check some of these out ;) I'll be damned if this music does work with everything, lol.
Website contents copyright (c) 2006 by Leonard Bedner