Wednesday, July 30, 2008

New Plan

Okay, so I was thinking about it, and 2 things occurred to me. The first is that the game will probably be shorter than I thought at first. Honestly, I was thinking that 4-5 hours would be a nice short game. Then, after dong some running in my own levels, I found that when I do it, I can clear a screen in about 12 seconds. So, 12 seconds per (on average) X 5 levels X 30 screens per level and I get 30 minutes. Add some exploration, a little designed backtracking and the talky bits, and I could see finishing the game in about an hour or so. Other people may work slower, since they didn't design the levels, so the game make take on average 1-2 hours to finish. Some extra meat will come from the Grade given at the end, and the total speed (to encourage replays). Then, after IGF, I'll get ThiefEd to a point where other people can use it, so that will increase the playability too.

Second thought. Backgrounds are hard, or they were going to be. So, new plan (like the title says). My thinking is that the screen images will have 2 parts. The Background, drawn by the artist that I find, will be just that, a background. It will have no gameplay built in, and will instead feature the landmarks and general level stuff to make the game look nice. The Foreground will have all of that stuff though. The thought hit that, since the ThiefEd rounds all of the rectangles to the nearest 10 pixels, I can create textures and build the foreground myself. Once I have the level mapped out and have the background art, then I will layer the foreground on, and save the combined image as the main asset. This has 2 good things going for it, and both Producer Eric and Designer Eric are happy with them. The first, is that this allows the artist more flexibility for the backgrounds and the ability to work with a little less input once the levels are planned and the concept art is agreed upon. Both of these should give the art creation a little more speed. The second bonus, is that the stuff that can be interacted with, will be consistent from screen to screen. So, the player will be able to easily see what they can, and cannot, play with.

Oh right, art. I was thinking about the art. Here's what I came up with:
-I want the whole thing to look like a story book.
-I want the backgrounds to be stylized and not realistic. With strong silhouettes and easily identifiable landmarks
- I would like a subdued color palette. I don't want the Next Gen brown and gray, I do want color. What I don't want is neon green and fuchsia.

-New picture up. The Thief - as drawn by the Animator.

Today, the plan is to update the save file with all of the new stuff I added. Then go ahead and build a few screens worth. The reason for that is, 1) Now that the ThiefEd is complete, I want to play with it. And 2) Then when I update the engine to recognize the Files, it won't load blank levels and drop me into the void.

-Done. Funny thing happened. After I added an enemy, it would lose it when I loaded and saved. So, some minutes later, I learned something - always make sure you tell the computer the right place to look for variables.

-6 preliminary screens finished. Without playtesting or anything like that. I decided to start at the beginning, with the Prison level and work from there with that mindset. I found something. When I was designing levels on paper, I was trying to make them as difficult as possible. After all, the gameplay comes from the level, not the combat. Getting past the level is the goal. However, I can't throw one of the messed up Impossible Machine levels that I created at the player in the first level, let alone the first few minutes of play. That would be totally messed up (with a Capital F). Instead I have to find good gameplay, but by introducing the player to new things they can do. In effect, I'm taking the Miyamoto design philosophy and applying it here. One of the precepts is this : Introduce gameplay elements in a vacuum. Train the player to use them in a vacuum. Then combine the elements in interesting ways. For example, in Zelda, each temple/castle/Pee Wee's Playhouse has a single weapon/ item inside. That weapon/item is instrumental in finishing the area, and it is used exclusively. So you get to play with it and find out what it does. After you finish, then the game throws more stuff at you : "Alright hotshot, got your bow? Think you're hot shit on a plate? Alright then, let's see you shoot it while riding a horse." ...and that's why Miyamoto is on T-shirts.

Tuesday, July 29, 2008

Team Building

Okay, so the Independent Games Festival submission are due on 11-15. Sos it occurred to me that I have an Engine, I have a Level Editor, I have some character designs and a working script (which I am quite proud of - since I wrote comic books and short stories in a previous life). What I don't have, is content. I mean, backgrounds, stages and the meat of the game itself. So, here's the story that I thought about :
I'm reminded about a movie I saw and love. For those at home who haven't seen Seven Samurai (The Kurosawa flick, not the crap assed western or that first sign of Ragnarok - the Anime {They made Kikuchiyo a gods damned robot! Who the hell does that? Assholes.}). Anyhow, it starts off and the villagers are going to be attacked by bandits, so they ask their chief what to do. He tells them to find Samurai to protect them. Problem is, they don't have any money to pay Samurai, and all they can do if feed them. So, the Chief thinks for a moment, before declaring, "Hire Hungry Samurai."
So, like I said, my current situation caused my delectable brain meats to recall this. Right now, I'm looking for a Team. I need a Background artist/ level designer (other than myself), a Music & SE producer (let's say the first one is, um, indisposed) and another Programmer (for C#), and all I can't even offer them a bowl of rice. Instead, I have to find hard working and talented people who will work for the sake of working and the chance to be part of a team and make a game.
Now, I'm no longer just the programmer with an idea and a gameplay system. Now I get to be the role that I really want to do. Now I get to act as Lead Design, with say on the style, the content and the game itself, and as Executive Producer, with the responsibility to find talented people that know what the Team is trying to accomplish, meet the deadlines and make sure that the finished game is everything it can be.
Honestly, I'm totally conflicted on this point. On the one hand, passing off control of some aspect of the project, seems almost like I'm letting the thing leave the nest. Soon, it won't just be mine anymore, but it will be the Team's. On the other hand, seeing pieces of art come in, that I had no input on, that are new and unique to me, but made for the Game, it makes the whole thing seem bigger somehow. Like, I'm no longer just doing this for me. That people are depending on me, and my work for this to happen. So I feel burdened with responsibility, but freed by the fact that I'm not doing this alone.
-Right, so I posted a note for Background Artists on the List of Craigs. So far, I've gotten a variety of responses from a variety of very talented people. So, choosing one (or 2, maybe 3) will be difficult to say the least. Either way, i won't have a lot of time to think about it. The game needs to be playable by 11-15.
-The real trick is working out the Work Flow (man, that looks lame on the page, it seems like nothing office speak, like "synergy" or "productivity"). The Flow of course being the Level Designer to the Artist and back. So here's what I think should happen with this. I will lay out a level, and take a screen capture of it (PrtSc is awesome). Send it to the artist(s) who will block out the basic look of the thing and send it back to me. I approve (or don't, as the case may be) and send it back to them for finishing. Then they send it back to me when its done, I put it into the Level, and make the changes needed on my end for collision and so on. Or, they can send an idea to me, I'll block it out in the Editor and then start the process anew. Hopefully, this can all happen pretty quickly. I think that when I have some concept art available for the artists to work from, then it should go quick and easy.

Monday, July 28, 2008

Yobs man, yobs.

So, found a job on Craigslist. Tester position. It's one of those "Here's what we want, and we don't tell you anything in the description about who, where, what we are," kind of ads. I did give them the address for this, the Diary That Nobody Reads, so they can see I'm actually doing something and not pretending to be a game developer.
-Oh, yeah. New pictures up.

Damn all.

So on tap today is ThiefEd, and it is almost to the point where it is feature complete and does what I want it to. In the future will add the in Editor play, but for now, it only needs to work so I can start to create content.
- Just created the image database. So now there are pictures in the background of the level editor. Specifically, they are unique (from a file standpoint, they're all the same image now). So, when there are complete art assets, they can quickly be plugged in.
-...oh, and made a hotkey for it. Button incoming.
-Now, I'm working on the Enemy Limits. The Enemies work a little differently than the moving rectangles, since I need them to have a distinct spot on the screen. So they actually move (instead of just display movement, like the Moving Rectangles). This means I need to have a left and a right limit for them. Modifying the code for that seems to be harder than expected though. The damn second line just will not display, and I don't know why. I'm going to set up a test to see if it is even tracking the spot. So, BRB.
-Sorry for the internet speak. I had a stroke on inspiration and forgot about not being a D-bag. Anyway, found the issue. When I ran the test, it turned out that the variable wasn't being updated. So after some tweaks that did less than nothing, I found that the variable that I wanted and is used in 3 or 4 of the function I built, wasn't declared as a Global Variable. For those who read this (who am I kidding) a Global Variable is a name for a piece of data that you want all of your code to use. So, if you don't name it as Global (meaning that everything in the program can use it) it will just assume that you really want each time you mention it to be a brand new thing. So, when you change one, the other pieces won't know about it. Since, they have their own to worry about. Aarrgh.
- Okay then. Since that's finished, there is really only 1 thing left to do, which is to make the level a Checkpoint or not. The Check Point system that I built tracks your position when you enter a Check Point level. The level itself can be anything, but the system knows that it is one and takes a quick snapshot of the position of the PC and the Level. Then if you die, it resets the Level back to the Checkout Point you last reached, and sets your position to the spot you were when you first entered. So, conceivably if you jumped in and then died, you would restart in a jump. But I'm okay with that. The real trick is remembering to not include anything dangerous in a Check Point room. The last thing I want is for somebody to die, restart and die again. That just crappy, crappy design. It should be a quick addition, then I can move on to the Sound Bit that I worked out this morning.
-All done. The checkpoint thing was actually pretty easy. Now, on to the sound thing. I worked out the equations this morning, so it should work in theory. The trick now, is getting the SE to work in the first place. Hmmm.
-Nice. Really nice. The SE works fine. Also found out how to make the music a little less loud. Oddly, I thought that the panning effect would be better than it is. Even tried to double the variables that it is supposed to eat, but to no avail. Sound always comes out of both speakers. Odd...

Release Deadline

I have a deadline now. This will be finished by 11-15 of the Independent Games Festival. So help me. I will cut content to make it happen (then put it back in for general release). But it will be in a playable, feature complete form by then.
- This is my serious face:

:l

Sunday, July 27, 2008

Pictures

One more thing. Found a way to post images. So, game screens incoming.

ThiefEd Additions

On tap for today, I'm going to go ahead and finish the portal rectangle bits and make the enemy button keep track of the enemy Level - with graphics and everything!
-Done. Well, the Portal Rect is done. I'm considering adding a thing to ask, really nicely, if you want to save what you've done. Right now, it helps when you may not want in to help. But no matter, the fact that it helps, let alone works, is good for me. What I finished by the way, was having it draw the character on screen when you place them. Then you can get it right where you want, for super specific placement. Otherwise, if you were a little low or a little high, it may hop out of a box or fall into one when the engine takes over. Now, none of that.
-Okay, cool. Ive gone ahead and made the Enemy Button work really well. Now there are little arrows you can click to increase the enemy skill level up to 9 (the theoretical skill level of the final boss) or decrease it to zero - which removes the enemy from the level. It also has a counter on it that let you know the what the current setting is. Tommorow, I'll add the final bit where you place the enemy on the screen and set up the limits. Or, I'll make a good attempt to. Then make the save info finalized and everything on the ThiefEd should be cool. The only things left to do then are the in-editor testing, which will require some decent coding work, and a way to have it show images.
-For the images, I had an idea. Since it worked so well for the levels, I though that I could create a file system for the pictures too. The issue is that the system would go all crashy crash when I tell it to find something that isn't there. So, a workaround would be to create blank images and put them there. The cute part of the idea is that if I have a picture to start from, then all I have to do is save it in the appropriate place and open the level. It should appear all cool like. Then if I have nothing, it will still show the basic template picture. Heck, I may even put some useful info on it. If I can think of some that is.
-Just browsed the blitz site, and I think I found a way to get some really good sound in the game. There already is a sound effect function, but it kind of sucks since it is so basic. I think I will use it and build a function that takes into account the position on screen of the character making the sound and then play the sound I want. Then, we'll get really nice panning sound effects, just like a real game!
- On random thoughts, something recently occurred to me. I am a member of the Middle Children of Gaming. Let me explain. The Firstborn were those that could remember of a time without games. These were the folks that fell in love with Pong and PacMan and generally made sure games weren't just a fad. These people may or may not have given games up after the crash, but they were weaned on the games that had a basic, if any story, and were more tests of skill. Nowadays, these are the gamers that 1) Make Games or 2) play the more simple Flash things you can find online, as they are the kind of games they know and enjoy playing.
The other gaming generation is what I call the Third Generation. I have a story for this. I was over at a friend's house, (Steve - my animator's house incidentally) and we were talking about old games, and the topic of The Adventure of Link came up. If you've never played TAOL, then go do it now, and you'll see how wicked hard it is. So, anyway, one of his little brothers comes up and says "Yeah, Zelda. I love that game. It's not that hard though, only the Pyramid part." It took me a second to realize that he was talking about A Link to the Past, a game I had seen him playing on an emulator on his computer. I let him know that we were talking about a previous game in the series, to which he replied, "There were Zelda games before that one?!" Which made me feel very, very old. The Third Generation of game players demand story and plot progression. They have little issue with playing 60- hours to finish and many of them are too young to have jobs, yet manage to spend Millions on games like Dynasty Warriors.
So I, am a Middle Child. The Second Generation. The games I like, are those Olde Skool style games, where the focus is on genre. But, I grew up on TAOL and those old, really hard games. Now I know that Halo on Legendary is hard. I finished it that way (with friends). But these were games that tested you and gave you a sense of accomplishment when you finished them - like Mega Man.
I find myself in a weird place. On the one hand, if I see one more match three game, I will shit a perfectly formed and fired brick. No, I don't want casual crap, it's just not my bag baby. I like to learn something new that then challenges me.
On the other hand, I do not have the time or energy to pour 60 hours of my life into something that I do not care that much about. GTA4 is a good example. I started playing it, and now I'm on the 4th island, have a good many things unlocked, and I'm at 30%. I keep playing, getting false endings and so on, until I just get to a point where I think to myself, "When is this going to be over? I want to finish - since I'm not a quitter, but I really want to move on and play Mass Effect." Oh, I've heard, ME is supposed to be, like, 12 hours long in the main quest. That sounds awesome in every way.
So, I beg and ask, give me a good game that I can finish in 12-20 hours. That's fine. Anybody that complains the game is too short is complimenting you game designers. It means that they enjoyed your game so much that they wanted more of it. Recently I played Gears of War with a friend. That game is 7 hours long. I played it 3 times on 3 different difficulty settings, and not once did I think, "Man, I want to play me some Mass Effect. When is this over?"
-Oh, in case you're curious, for The Thief's Tale, I'm shooting for like 5 hours, tops, if you find Everything.