Yesterday, I was presented with a new song from our team musician Anthony Trujillo, or, as he prefers to be credited as, Atman Seijo (his pseudonym).
It was the first piece of boss battle music for the game, for the fight against Tikk Tocc, the final boss of Magnet’s route. The song is very tense and befitting of the fight itself, but he did something with it that he hadn’t done prior to then, but I had been expecting for a while. That is, giving the song a lead-in. Prior to that one, all of his songs for the game were short, self-enclosed loops.
After making two sandwiches (one of which met a premature end as the plate fell off my desk), I immediately went to mess around in the game’s code to make the lead-in seamless. It took around two hours. Why so long? Well, simple.
If you’ve worked with code before, you’d know that there are limitations to when code can run, and they’re not necessarily consistent spaces of time. To simplify things, you can basically run code every regular frame or every physics frame. Physics frames are done within a consistent time-frame, but only function properly with working with physics. Regular frames depend on your framerate, and can fluctuate depending on your computer’s performance and what the game is doing at the time.
As a result, no matter what I tried, there would always be a small gap in the song when I run the code that checks if lead-in is done and starts the loop, and minimizing this gap would have been the best I could do if I had not had a eureka moment.
My solution? Simple. Unless someone has a really horrible framerate (in which case, they have worse problems than if a song is looping properly), the gap is a fraction of a second, so I asked Atman to add a small part of the loop to the end of the lead-in, and to get the exact time mark for the end of the lead-in itself. The code would then check to see if the lead-in track is past the point at which the lead in should end, then check how far into the part of the loop he added it is, instantly substituting the full loop at that exact point in the song, making the transition seamless.
For some reason, I felt as if I’d accomplished something big when I solved a rather minor issue. I honestly could have just let that be, but polish is something that games need desperately, so I refused to. Minor things like that could make the entire game look amateurish, and the gap could have completely ruined the song, which I would not let stand for a song of this quality.
On another note, I received a brand new, sealed copy of Sonic Heroes that I won on eBay in the mail today. As I slid the disc in and started playing it for the first time in years (my baby brother broke the disc for it and many other great GameCube games like Super Smash Bros. Melee when I was in middle school), I noticed that I still had my old save file, so I just picked up where I left off.
I’ve brought it up before, but Sonic Heroes shares a major similarity to The Turtle Who Had Wings in the form of controlling multiple characters. There are some major differences though, and I don’t mean that Sonic Heroes give you three characters. Sonic Heroes makes it so the characters you aren’t using are simply standing in formation or otherwise not doing anything except occasionally grab rings and power-ups, but The Turtle Who Had Wings has the other character move around and attack things so long as they don’t get too far away from you. Sonic Heroes also didn’t have the Sync mechanic that’s present in The Turtle Who Had Wings, choosing to instead make the characters fall into one of three templates, and mandating the use of the character of a specific template to go through certain routes through the level.
I, however, am still unsure as to what I intend to do for the level design. At present, I’m actually thinking that the game I need to be looking at when trying to figuring things out, however, is not Sonic Heroes, which is the closest to touching on a core mechanic, but Kid Icarus: Uprising, which is close to the overall feel of the controls in the land segments.
The land parts of Kid Icarus: Uprising have very simple level design based around very minimal navigation, mostly just getting from room to room and killing things in sometimes very frantic combat, sometimes using gimmicks like random vehicles or giant mechs to spice things up a bit, and having most character progression come from equipped powers or the traits of your weapon. This gives the game a very simple overall feel while keeping it difficult, which is very similar to how The Turtle Who Had Wings is currently turning out.
It also speaks volumes that I can honestly say that the Intensity mechanic from the game would be a completely natural fit in The Turtle Who Had Wings, and I think it would be a great way to approach the game’s difficulty settings, but I’m actually pretty scared to use it. There’s a fine line between similarities and outright copying, and I feel that taking too much from the game’s mechanics while also looking towards it as a guide for level design is the fast track to being accused of cloning, which would not be a fun time at all.
So, while I have a new place to look to examine level design (which, incidentally, will be no easy feat with how frantic the gameplay is and how small the 3DS screen is unless I set the Intensity to 0), I also have to be careful with the game’s more unique features, like Intensity. I could add Intensity, but should I? It might be a better idea to avoid people calling me a cloner by using set, spaced out difficulty levels instead of letting people set the difficulty to exactly what they feel it should be. Ugh, the problems one gets from trying to just design a game.
Feel free to chime in with what you think in the comments or on Twitter.