Friday, October 30, 2009

Shadow Boxer

I've been chatting recently with The Ron about doing some computer stuff with the art. Mostly I had the idea to do some kinds of simple transparency. Nothing too fancy, or making use of alpha channels or anything like that, just some basic color modification.
What this led to was the idea of using a Shadow Map - another image that would display the differences in light, where beams of light are and where light sources are. This could then be compared with the normal screen render and a new lit up version of the screen would be spawned.
Thinking about it further, I concluded that this Shadow Map could be animated. By drawing things onto that screen and averaging the tints, I could get the lights to move and animate. I just need to run the color average function again for each time I add an item.
This seemed like a good idea at the time.

So when I got home, armed with proof of concept art and pseudocode, I got cracking and about 10 minutes later I'd gotten a basic color averaging schema scheming. A bright red box plus a bright blue box gives me a purple box with the same absolute brightness value (which would appear the same gray color if in gray scale). So, that was pretty cool.

With that out of the way, I got to the next part. I built another screenbuffer and drew a great big rectangle on it. I think I made it green. Then I built a loop that checked the color of each pixel on each and added the color averaging function. Then I told it to draw it out and...nothing. That's not quite right, there was something, but it was, and I'll add emphasis, soooo...fuggin....ssloooooowwwww. Like old people dropping a deuce only with slightly less blood.
So I spent the next hour trying to figure out the why of it. I tried alternate functions, alternate methods all to zero avail. The stupid thing is, according to the design of the shadow map software that needs to run about 5-6 times per frame. Instead it runs 1 frame per 15 seconds which is unplayable by every stretch of the imagination.
Granted, there are ways to make the basic pieces quicker. I don't need to run the whole screen every time I add something, just the parts the image is touching. So I think that it may go faster with images drawn to the shadow map. But no matter what, the whole screen does have to be drawn eventually. I'll give it a little more effort and see what happens. Hopefully speed.

Tuesday, October 27, 2009

Time Extended

No posts because last week contained the date of my birth. I think it can be discovered over in my little bio, and maybe not. Plan was to work through most of my week of festivities, but instead I decided to do other things, and I feel almost bad about it. Now I'm over it and have gotten back to working.
On a basic level I've been continuing to build and debug the front menu. The previous idea of nesting the engine inside the nice, warm interior of a menu loop, like the way a mommy bird would protect her code, worked out great. Not the exits quit back to the front and a proper game closing can happen. Still parts to polish, still parts to build - like the Fencing Tutorial, but I'm getting happier with the system the more time I spend with it.
I got the page flippy working on all levels now. So it works on all the page flips in the menu (which looks pretty cool - I'd post a movie if I could figure out how) and I can toggle it on or off for the engine itself. So I can have page flips happen in the game if I feel like it. Mostly at the end of chapters or when I want to summon up a scene. Currently, the Basic Tutorial uses it to great effect, since that Tutorial exists in a kind of other world outside the contexts of the game proper. It's the kind of idea that I could do something with, but now the whole system of the thing is far too past the point where whim can make an impact on the shape.
I find that I can't figure out the layout of the Fencing Tutorial, and how it would fit all together. Everything comes back to a fighting game character select screen and nothing quite seems to match the aesthetic that I've carefully constructed on the front. Add to that the incomplete animation sets and even if the coding were done and set up with placeholders, then it still wouldn't really function. I consequently find myself not wanting to start something I won't be able to finish for a while. There are other things over there => that are still black I'll work on instead. Like GamePad Support, finishing off the difficulty setting modes, a function for showing story mode pieces and those Walls aren't going to build themselves. Still much to do.

- I was thinking about our little project, and a simple thought came to me. None of us have done any of this before. We've got a programmer that's never coded, an artist that's never drawn game backgrounds, an animator that's never done sprites and a musician that's never written game music. We are a motley crew indeed.
But that's not a bad thing by any stretch of the imagination. It frees us to do anything and make our own mistakes and learn our own lessons. I've found that, once you've done something before, you have a frame of reference, a place to start for all subsequent similar situations. This invariably leads to having your choices shaped by those experiences. Given an option, a person will try to go with what has worked for them in the past.
We don't have that, those past experiences. It's all new, all fresh and all slightly more difficult than it would be otherwise. But everything, every aspect, every system every methodology will be distinctly ours. Without experience that says something can't be done, we can try and maybe find a way with a new perspective and using raw talent. I like that. I think it can only ever lead to great things.

Monday, October 19, 2009

Stay Frosty

So work continues, as I find that it does. Somehow, I was expecting the Team to, well, dissolve honestly. Some hidden thing kept thinking, "We missed our deadline, we're boned. We've lost all credibility..." and so on in some kind of self perpetuating doubt spiral.
Instead the replies that I got back regarding the news were universally, "Hmm, that's okay. That means we can do this and this and this like we would if we had more time." That's not just cool, that's downright frosty. So, I busted ass and got to work. There's still programming to be done and levels to be carved from the raw binary. I needs me a place to put all the incoming awesomeness.

- I'm onto a bug I think. It's core is in the engine itself and how I call it up and some of the latent buggies are showing their hideous little heads via the front end menu. The Tutorial bug is one of them, and I discovered that this bug is far larger than that. It's one of those systemic bugs that I have condensed Campbell's Hate for.
So, the Tutorial was having a bug where after you did it, and did it again (unlikely but not impossible) the game would load and drop you into a hole and continue to do so until the game got tired of abusing you. So, I hunted down the screen it was loading back into, and I set up a portal rectangle to reset the player if the player was outside where death could happen.
This did in fact correct the bug. No problem there. But, the game ran slower the second time and the third and the fourth was unplayable. I think, that a new game loop just got started each time. That or concurrent versions of the same functions.
It's like I'm running the FrontMenu() Function, which opened the Game(), which opened Scripting, which opened the FrontMenu(). It's not cyclical, it's a rabbit hole and it'll go as far as it wants to. Oh, and they share variables, so leftovers from the last whatever are still floating around and causing bugs that aren't actually in the software.
I think I can fix it though. I just need to actually put the whole Game Loop into a function of its own and give it the option to tag out. In other words, have a single loop that runs the software as a whole, and a different nested loop that runs the game engine proper. Then if I want out of the engine, I change a variable and it should just go back to the Front Menu. And it should keep single instances of each. Or it'll crash the thing.

- On other stuff, I got my PageFlip to work and it's sweet. I build several images on the fly using Image Buffers, and one of them is dynamic for size. As it travels across the screen it's width increases proportionally to its position and it looks like a page is turning and the art for the next page and current page are all showed in real time. It's some pretty fancy graphical work if I do say so myself.

- Finally, I'm keeping the Last Stage cut. I did like the idea, and wrote about it extensively, but words are cheap (I mean, look at all these words, and for only $1.89 worth of Google revenue - what a bargain!). Instead, I'm make a couple script changes and just reference the area as being wicked hard, then skip it entirely via plot resolution and permutation. The trick is going to be making it look like it's on purpose (which is is now), and not just a cut (which it was).

Thursday, October 15, 2009

Delay of Game

Dammit. I can't write a decent first line here. Maybe I'll sneak into the post like that. Maybe I can actually write the words this time.
The Thief's Tale, is not going to make it for IGF this year. There's a story that goes with that.

So yesterday I called up The Animator to see how things were going. As his blog => would tell you, college for him is a very stressful thing and the work requirements are pretty brutal. I had thought nothing of it, my mistake. Anyway, so I am told that given the priority of schoolwork, there will not be time to get the animations all done. Further, the animator that he had recruited wouldn't be prolific or skilled enough to do all the animations themselves.
Add to that I have an animator here who seems to have fallen off the world and cannot be relied upon. The short of it is that I have no animators, and no complete animation sets for an animated character driven game.

When I hung up the phone I swore. That's not quite right. In truth a primal scream of fury was birthed into the world that just happened to sound like "Fuck." If a butterfly flapping its wings can cause a hurricane, that scream destroyed Galactus. Then I bashed the steering wheel and did some more regular swearing.
Then, with that all out of my system, I called The Ron to let him know that he can slow down if he would like. I'm sure there are some producers that wouldn't have, that would have been content to work the team like animals for a deadline that he knows they can't hit. I hope those producers burn in hell.
Then, despondency. But that too quickly passed, leaving a slightly depressed feeling deep in my bowels, yet it was cut with an odd sense of relief. The giant weight pressing down was lifted. With no deadline blazing towards me like a meteor I'm not so stressed, and began to look at the situation from a far more pragmatic point of view. So let's look at what we learned here:

1) When somebody stresses about stuff, that is a sign to do something about it, right then. If somebody is stressing out to the person in charge of of project, as opposed to anybody else, it means that they are very stressed. Like, if something hurts a person may tell somebody, but if it hurts bad enough they tell their Doctor. It's like that. When I was told that the work may not be doable in the time frame given a circumstance, I should have started looking for help then and there. I didn't, and that's my fault.

2) When building a Team, decide early on what the most important parts of the project are. Then, make sure that there is no single point of failure. Airplanes have co-pilots for a reason. This is especially true if the whole team is volunteers, because regardless of the best intentions other work can, and will, be a priority. I can't fault anybody for doing just that. Again, a painful producer lesson that I got to learn the hard way.

There was a part of me that wanted to write Noble Failure as the title, but we haven't failed. We've simply missed a contest. I decided that we were no longer shooting for that particular deadline, and oddly, the decision didn't bring down the sky. The world went on. I went on, and the Team, continues to go on.
So what are we doing then? We're pushing past, as if the IGF was cancelled. The next thing we are doing is getting the game finished and pushed up into XBLI. I think that we can do that. I think we can have the art finished to a state that we are happy with by the end of December (that not preliminary, but done to the level The Background Artist would like). I think that we can have the rest of the assets done too. I'm shooting for a February release on XBLI and that gives me 9 months to have it and love it before next year's IGF, which should be the least stressful submissions I'll ever do.

So, given the extra time, I'm putting it all back. The levels, the musics, the cut pieces and now I have time to do more stuff. The HD conversion is on the table again. Time for R&D means I can try other tricks like transparency and lightmapping. We're getting this done. We being my Team. That's not right, my compatriots. The hardest working and most talented people that I've ever had the privilege of working with. A few extra months will be the difference between a good game, and a bloody brilliant one.

- A ha! A dashy thingy! Stuff goes after these! Game stuff! Sometimes. Anyhow, I built new art yesterday for the Tutorial levels that I put together. I cribbed the platforming and wall sections from screenshots provided by The Ron and put my photoshop skills to the test.
In my thinking ahead to this blog as I do sometimes, the title as of 2PM was going to be "Demon." In that, I am not an artist. I can draw well enough to show a real artist what I want and I can photoshop things. I can corrupt them and twist them to suit my purposes. Yet I find no satisfaction from doing so, there is no artist inside of me that see art I've done and feels much of anything other than the relief that it's done.
Well, that's not altogether true. When I design or program something that I feel is wonderful I do get all smiley, both outside and in.
In my case, I got the pages finished for the Tutorial. Words on the left and the art on the right. I was able to go in and make some clever use of masks to bleed out the lines while preserving the edges. So it looks like the Tutorial stages were drawn a long time ago, and age and water have aged, faded and run the india ink used. I think it looks nice, but more importantly, is plays nice too.
Then I ran into a bug. If I run the game, and select Tutorial, then it works. If, at the end of that, I do the Tutorial again, it drops me off into the void and I die, in the Tutorial. Then it loads me up again and, guess what? Death.
The stupidest thing is that the system seems to be outright ignoring me and my wishes. I explicitly told it to reset the player at a specific place in the line right before I call for the Tutorial and it disregards it. I scripted something that says, "if you're outside the little box, reset inside the little box," and then it just leaves me outside and floating, forever.
At least I fixed the other issue, which was incorrect loading. If I selected Chapter Select and backed out, then selected Tutorial, it had been loading the chapter I had looked at previously. That's better now. At least this a problem I can solve.

...and I'll be back, when the day is new. And I'll have more ideas for you...

Wednesday, October 14, 2009

Fortnight

The game is starting to look like something. I've gotten the front end menus all done. They work, they have art and they are navigable. They're all debugged now too and make a decent attempt to not do anything stupid. So that's more or less all off the list and I can move along.
I got the Basic Tutorial all hashed out too. I went ahead and added it to the Front End menus, so it all looks the same. So on the pages for the menu it looks like a book with page creases and stuff and then the Basic Tutorial looks like a book, with play on the right page and tutoring on the facing leaf. It sounds odd, but I find that it works really rather well visually and from a gameplay perspective.
For the art, what I'm going to do is crib the parts from the backgrounds The Ron did and adjust the colors. Since the tutorial is an abstract concept with no grounding in story, I'm going to abstract the art for it. So the pages will have more or less inky black lines to show the geometries. It should match the rest of the art in the game and my front end menu, provided I can do it right.
Turns out I was correct, my photoshop skills were called upon.
Further, I found doing the final levels (for the IGF build of the game) to be interesting. Since the Tutorial features single moves for the player, having to design a puzzle that more or less only has the one thing is kind of tricky. Doing it with only half a screen the additional twist. Thankfully it both teaches well and plays. Now I just need to make it look like something.

Once that's done I'll get cracking on the Fight Tutorial. Basically I want the player to select a type of enemy, load a screen with that enemy in it, keep the player at 100% health and reset the level when the enemy gets taken out. Add a sub screen on pause that shows directions and how things work and that should be done. No, it's not the best way to teach a player anything, but it's better than nothing and it's what I have time for. Given another option I would script together a mode like in the last IGF version, but I have 14 days or so left. Time is not, and probably never was, on my side.

With that it's just some minor cleanup to get the Speed Run mode working correct, the Perfect mode dancing and the Easy Mode eased. Then...nothing. After that I've got nothing left to do until I get the assets for it. I wait, I twiddle thumbs and I send emails where I pretend that I wasn't staring at my ceiling thinking of what to do next until 2 AM. They tend to go like this, and everybody on the Team gets them, although the specifics change.

Hey (insert name here),
I just thought I send an email to see how things are going and if you need anything.
I hope everything's cool.
Later,
-Eric

- For the title, what I wanted to call it was either "Two Weeks Notice" or "Hurry Up and Wait." But it turns out I've used those already.

Monday, October 12, 2009

Getting Around

Over the weekend I got most of the under-code to work for the Chapter Select and the difficulty settings. So now the player can select which Chapter they want to play and at what difficulty and the game boots them right there. It works pretty well, and I like it. It still doesn't look like anything because I haven't made the art for it yet, but I'll should be able to get that in sooner rather than later. I'm not too stressed about the whole thing, especially considering all the other stuff I need to be stressed about.
Either way, I was able to add a big chunk of orange to the list. I'm trying to free up as much time as possible for animation installation. Most will go in easy. It's a relatively simple matter of calling them the right things and dumping them in the right places. For attacks I need to do data entry on their information and for others, like anything for The Thief, I need to add code.
Through some odd twist of fates, we seem to have 2 new people that want to join. Animator types. Coordination at this point in the game will be, um, tricky. But I think we can do this. I'm sure we can.

- I had coded up a timer for the Speed Running mode. A cute little thing that added cycles up to seconds up to minutes and, since I was feeling cheeky, up to hours. Then I played and I discovered something, I'm really fast. I blazed through the Tower in just over 1:30 and I can clear the first two stages in about 3:00 flat. I guess when you designed the puzzles and your line through the game is as smooth as a river pebble it's what happens. Although I have watch people play, and they tend to be a lot slower than that, but at least I know the kinds of times I should be expecting on speed run.
Oh, and then my window had an error and I closed the wrong one through the CAD menu. So that code's all gone now. I'll do it again soon.

- Finally, for the game, I found that I keep coming back to the same thing, over and over : The Game you make is the Game you have time to make. Once again I'm finding that I want to add things, to do more to make more and I find that the resource I'm in shortest supply of - time, is the one thing that prevents it. Yet, it's the one resource I simply cannot have more of. Given an option, I would push the game back. Producer me would say, "Nah, another month, we'll be good at Christmas." Yet, IGF waits for nobody, least of all our intrepid little band.
Even still, I'm trying to keep on a happy face and keep on going. We can get this done. I find that I have to believe that. We're too close not to. We're too close to fail now.

Oh, and I find myself listening to Radiohead again. For me, the official soundtrack to crunch. That old familiar feeling indeed.

Where do we go from here? The words are coming out all weird. Where are you now, when I need you?

Friday, October 9, 2009

The Avengers

This is more of a direct update from yesterday than anything. The conclusion that we, as a team, arrived at is that the animations probably will not be done by 1 person. So, we're looking for more. I've posted an advert on the list that belongs to Craig and have both the artists scouting their perspective schools for talent. Specifically that wild talent that sees things like deadlines as things to conquer.
Hopefully, we'll get several. Which brings me to the Plan and the title in a way. What I would like, is to have several animators added quickly, and then give them characters to work on. So an individual animator is responsible for individual characters. Basically, since the 6 characters that still need animating are a lot of work for one person, spreading it around would make it more, well, possible for a normal person with normal person things to do. That could work I think.

Now, armed with a plan and waiting patiently for email or phone calls or bat-signals, I can almost, almost breathe again.

The mistake I've made, the biggest mistake I think I could have, is assuming that just because I'm on the tail end of my work it does not mean that everybody else is too. I'm reaching the end of over 2 years and 230 posts worth of effort, and I forgot that my Team is desparatley trying to get their 2 years worth done in months. That list over there => is really quite large. Borderline biblical in its proportions. For a game of this type, the kind of game that would've once been played on Super Nintendo used to take 2 years and 15 guys. We're doing it faster with fewer.

The Lesson is this, in games, even indie games, you succeed or fail as a team. We're not there yet. But when we do succeed, it'll be a very, very good thing.

I remain confident.

- In other stuff, I've made a cut. No matter what the song says, the first cut is not the deepest. The Last Level, has been chopped for IGF. After thinking about it, I've decided that it goes with the Wall level, in that it doesn't make a legitimate addition for either plot purposes or from a gameplay perspective. I really do like the idea of it, so it's not cut forever. The later HD version will have it too. But we don't need it right the hells now.
This should also give The Ron some much needed wiggle room for the rest of the art. This cut also puts him at the halfway mark art wise. It also gives me some extra days since I no longer have the build the level I designed. All I have to do is make a small adjustment to a scene for it to work.

Thursday, October 8, 2009

Pressure Test

I'm stressed beyond measure. It seems as if the fate of the project is balanced on the thinnest of edges, and worse, it seems as if there is nothing I can do about it.
The issue, is that The ADA has decided he needs help, now. So with just over 2 weeks to go, I need to find another member, convince them that all of this is a good idea and actually have them do some work. I don't know how much yet, since I don't know what The ADA will be able to accomplish, given his circumstances.
To put it in perspective, since nothing exists in the project by itself, if the animations cannot be finished in time, if the art cannot be done, if the levels are not built, if the programming isn't right, the project has failed.
I may be overreacting, making a reactionary response to what I should be able to take in stride. I am the Producer after all. These are the kinds of things I deal with, the flurry of punches that I should be able to block.
The biggest issue, the thing that scares me, is that as of right now it is a given that the animation will not be done. If I can add another animator, I simply do not know if they will work out, or drop out like the others that have floated through our local universe. But adding another that does nothing would be a strike to this mission that I do not think it could bear. Like I said, I have stress.

- In other stuff that doesn't make my blood vessels burst like I have the bends, I've mapped out the Last Level. It's actually pretty easy as far as levels go, and clocking in at 21 screens total, it's on the small side too. It does have a pretty good number of stairs in it, so that may take a little scripting, but I should be able to repurpose the scripting that I've done before. The real difficulty in the level comes from the enemies, since in 21 screens there are 7 of them, all of them I assume are Fencers. And...
...that's great. Odd, I can't seem to focus right now. I can't put the sarcastic little spin on the words that I usually do here. The descriptions of my small victories and progress seem like less now, since they may be for naught.


Dammit.


I almost erased all of that, flicked it out of existence with a keystroke. Like sausages, the messy process of making catharsis is messy and nobody really wants to see it happen. Yet there it is, the whole bloody process laid bare for internet. I almost erased it, but this is important. Not these words mind you, I'm not so egotistical to imply that my words have intrinsic value because I wrote them, but the process of.
For those of you that don't know, making games is fucking difficult. The sheer amount of stuff that goes on, day to day and hour to hour sometimes, is astounding. And yes, all of it is important. This is what game development can look like. Having been lucky for the last 200 listings since for the most part, this project has flowed smoothly through a development land of milks and honey, now we are at a point where it's gotten dark. A place where I do not yet know the way.

Yet is the operative word there. The other reason that all of this is still here, is so when this is done. When we've passed that mythical line that separates all the shipped games from the never weres, then I have a record of the part at the start of the third act. The part that frightens the children. The part that we would have made it through.

From about a year ago:
- "Stress" noun English Root. Def : 1) To feel overwhelmed and under prepared. 2) Extreme anxiety. 3) Knowing that the next 7 hours will decide if the last year was even worth it. See also "Out, Freaking"

Tuesday, October 6, 2009

Another Rose

So I'm into the Last Level now. Thematically, it's like that scene from Robin Hood (either version) where Robin breaks into the dinner area and all hell breaks loose. I'm going for something like that, with an emphasis on less specific platforming and more platforming as a way to avoid enemies or create spaces to make the duels even more tricky. So, a different conceit altogether from the last, well, every stage.
I'm specifically going to try (and I do mean try) to keep the level on the smaller side. Too big, and I fear that the fighting may become tedious, regardless of how much polish it has on it in the end. Make it too small though, and it'll seem like an afterthought. Just right I think, like the big finish at the end of a rock show. Besides, I have to consider both people that'll play on Perfect mode. 5 Stages worth of fighting and bosses will probably leave them in not the best condition to endure a 70 screen gauntlet, no?
Oh, and we have like 3 weeks left, so I know the team doesn't have the time to do art for a huge level. More reasons to try to keep it on the modest side.

- For example, I'm designing the Tutorial now. I kind of have to throw out the old system, where The Thief would talk to you and give directions, since he doesn't do that anymore. All of his speech is now self contained in the little drawings in between the stages, or at key points. As far as the characters are concerned, that fourth wall may as well be made of adamantium.
The alternative that I had as to add smaller tutorial parts throughout the levels themselves. The paper design gives me the freedom to make little notes and things, but that hardly seems like the correct thing to do.
So, I think I'm going to create a tutorial outside the context of the game. This makes it so the player can skip it if they would like, while also allowing me to put stuff into it that directly addresses the player, something that the narrative doesn't support.
Since it's taking place outside the story, the idea gives me free reign to do whatever I would like and make it look however I would like. So I'm going to incorporate it into the front end design, which looks like a book.
I'll post a picture at some point (or I'll forget like I usually do, I owe you, dear reader {*scoff*} like 4 different things) but it uses the parchment texture the levels have and has a shading effect in the center to imply the crease of a book. The page turn effect will be coming back in this system since it works a lot better. So, the Chapter Select for example, will actually be flipping through the pages, with the Chapter Name on the left and a picture on the right. Until a selection is made. But I get ahead of myself.
For the Tutorial, the player will play on the right side (to put the initial focus on the left - with the instructions) and go through a series of small levels to illustrate basic things like running, jumping, hanging and stuff like that. I can build those levels pretty quickly, and depending on the art requirements, I can probably do that while I build the front end to make it match.
Harder though, is the combat tutorial. I can go two ways with it really. The first, is to rebuild an interactive tutorial like I had in the last IGF build. I felt it worked out pretty well, but it does require quite a bit of time to do correctly. The other option is to offer a free fight mode against the enemies encountered so far (in the IGF version - all of them since it'll all be unlocked from the start). Then I can put instructions in the pause menu or something like that. It would be faster to implement, but I wonder if it would teach as well. I suppose it wouldn't eat too many hours to program it and find out.

- Speaking of features, I get all giddy thinking about really stupid things that are stupid easy to program. Like, the different statistics given at the end of the game. I really want to do these:
Time
Damage Taken
Lives Lost
Enemies Defeated
Dolls Found

I would then like to have a small grade pop up next to them, giving an idea of the prowess.
Time - 3:10:52 - Marathon Man
Damage Taken - 250 - Meatshield
Lives Lost - 3 - Olde Skool Gamer
Enemies Defeated - 75 - Duelist
Dolls Found - 9 - Master Collector

The one I can't quite figure out is the enemies defeated stat. Basically, I don't know if I want that to add every time an enemy is beaten, since a player could then run back and forth and fight the same respawning enemy all the way to the top rank. Although I do suppose that would eat their time.
In any event, the real reason I want the Defeated stat, is to encourage players to try something - finishing the game without defeating any enemies. Since the end of boss fights trigger when the boss isn't technically at 0 HP, they don't add to it. So a player could finish having defeated 0 enemies, and earn the rank - Pacifist. Normally, I wouldn't even consider these, but it should take more than a couple of minutes to program.

Friday, October 2, 2009

That Old Familiar Feeling

Ah, 2 AM, how I've missed you. The quiet dark, a time when it seems like the whole world exists just for me, because everybody else is doing the smart thing and sleeping. The small little joy of feeling like I'm getting away with something, that by being up so late I'm somehow being dangerous. The thoughts that I should be sleeping, but I should do just one more thing first. 2 AM, why do you always hit me the next morning as if you are insomnia manifested as a truck?
At least The Tower is done now. That's right, I said it, "The Tower is done." I said it twice even. I've got one final level to go, and it's not even a real level in the traditional sense, just a series of fights and quick platforming.
Nothing too taxing, nothing too hard, nothing like the damn slog the Tower turned out to be in the end. Playtesting it, is hard. The puzzles, are hard. Not just from a thinking about it standpoint, but from an execution standpoint. Yes, it's not too difficult to figure out that you need to wall hop, wall jump, straight double jump and climb to get up someplace. Doing it right when I threaten a 7 screen screaming drop the entire time is something else entirely. Jumping isn't hard, triple jumping onto a platform that's only 50 pixels wide is a different matter. What I'm saying is I can't half pay attention to the Tower. It demands focus like a jilted ex.
Have I mentioned that I love it? Cause, you know, I do. The only consistency is that it's difficult without being cheap. When I die (and I do) it's my fault as a player for being too slow, or making a poor choice. Well, now anyway. When I was building the level, it was likely that the death was my fault as a designer of impossible puzzles.
All that's left is to place the traps and enemies, which I can't do yet because I don't have the animated yet. It's a prospect that worries me slightly, but I know we'll manage in the end.

- Oh, and in regards to the last post. I decided to drop the player off of things and let them drop. If you fail at the end, you drop until you hit something. It could be a long time. Otherwise, it's inconsistent. I did however take one shortcut, if you leap from the edges of the level, there is nothing to catch you. The screen does not follow you and then the end of the screen death trigger goes off. I'm going to mark that on the maps I give to the Artist so he can make the paper look torn up there or something. A visual indicator that those edges are different. A fourth wall breaking way of saying, "that part of the level is not in the story."

- Which brings me to the title (and you thought I was talking about being up at 2 AM). In spite of what all the damn orange over there would lead you to believe, I still have a dump truck sized shitload of stuff to do. I need to install all the enemies, install all the animations, install all the background art, install all the background animations, install the SFX, build the front end, create a Chapter Select function and create a way to show the story and install all the pictures for it. Now, so close to the end, I have a clear vision of what the game is going to look like, and there is still a lot to do to make that happen.
I was reading, and a Producer at Epic said that crunch happens there, and he's okay with it. He said that great things happen when you ask talented people to do the impossible. The story was lambasted (that's a great word, it's a pity I never get to use it in a sentence) by the general audience, and then I took some heat for defending him. The point is this - looking at what is left to do and what we've done already, we're doing something great. I can feel it.
That familiar feeling? It's knowing that you've worked your ass off and wanting to make your work look as good as possible with the time you have left. Polishing while you can hear the clock ticking and not looking up.