It's that time of the year again. Having worked on Cute Things Dying Violently for longer than Michelangelo worked on the Sistine Chapel*, I have written a post-mortem to document every up, down, left, right, in, and out of that process. Maybe some back and forth, too. I dunno, whatever. You can read the whole thing here.
I should warn you, though, that it's long as hell. 14 or 15 pages long, in fact. Why? Because I'm a good writer, and I like writing, and because I am like Samson at the gate when it comes to fighting the ADHD-riddled masses out there, wielding my wit and shining knowledge like the jawbone of an ass. Is that even still Samson? I can't remember, but everyone can enjoy a good chuckle about the fact that I referred to my wit as coming from the mouth of an ass. Get it? GET IT?
For anyone who wants to skip to the summary, I've posted it below the fold:
Sorry for the dearth of updates, but I've been working my ass off trying to get the mysterious and volatile Cute Things Dying Violently done in time for an Xbox Live Indie Games promotion (more on that in a bit).
That said, a part of working my ass off involved making PR materials as opposed to just slaving over my codebase, so here's something I shat out that I'm actually quite taken with: the game's first trailer!
More updates soon once I have time to catch my breath.
It turns out that I've been busy lately. No more "Project Squish" moniker! This is the real deal!
I've been scrambling to finish things up for the Indie Games Summer Uprising that kind of came out of nowhere, so the hell with what was going to be a concerted PR campaign. I'll take "piggyback off of lots of official journalists' attention" over my own efforts any day.
More promo materials to come soon as I continue this mad scramble towards the Uprising.
What do you say when there's not much worth saying?
My last official Development Diary for Project Squish, #7, was posted at the end of December, almost 6 months ago. Since then, I've made up for it with plenty of Development Interludes, but no proper Diaries, and certainly no in-game videos.
Because the flashy part of Project Squish's development has been over for a long, long time. The last video that I posted features the Boss Bot, pretty much the last stand-out feature I added to the game. Since then, I've been steadily going through the code, adding minor features here, fixing bugs there, and generally making my way through a list of items that are incredbily tedious and incredibly uninteresting.
Also... about those videos. They're not really serving much of a real purpose. Since the in-game art has yet to be finalized, I uploaded those videos primarily to show off new features and gameplay, not to look pretty. And since the game still isn't pretty, I don't need new videos. Furthermore, according to YouTube, their reach was kind of nebulous. Absent more exposure (like the kind you get by, I dunno, actually releasing the damn game) most of the videos' viewers were either close friends of mine who saw them on Facebook and got curious, or fellow developers in the Penny Arcade forums. The latter group was especially important when I still needed their advice and feedback on implementing features, but that need has fallen by the wayside as the game nears completion.
So: no new videos until the game looks pretty.
To emphasize just how tedious and boring this phase of development is, I've attached my To Do List below the fold. It's a constantly-expanding list, and there's seldom a time spent debugging Project Squish that doesn't add yet another bug or item that needs to be taken care of.
I've barely posted in the past few weeks because I've been consistently sick. I cast about for the correct adverb, but yes, "consistently" is the one that makes the most sense. Two weeks (three weekends ago), I started getting a fever and lightheadedness in the evenings. That persisted well into the following week. And just when I called the doctor's office to make an appointment, the fever subsided. Ha, wasn't that funny?
And then I notice that my throat hurt. Like, abruptly. So I stood in front of a mirror with a flashlight, said "Ah!", and noticed that one of my tonsils was swollen and disgusting-looking. Oh, hey, tonsillitis. Just what I wanted. I went to the doctor's office and they gave me some antibiotics. The next couple of days sucked while my sore throat got worse, but in the end the drugs seemed to kick in and my tonsillitis seemed to go away.
And that brings us to last night, when my face and chest abruptly broke out in an angry red rash. I went to the doctor's again today, and it turns out I had a bad reaction to the drugs they put me on for the tonsillitis. So they gave me new drugs, which may or may not work. And I'm pissed like you wouldn't believe, because I just bought an expensive new suit and I'm supposed to go up on a podium in two days and receive an award from the Secretary of Labor!
Clearly, God is testing me. And he is a douchebag.
Since we're going the TMI route, let's get out a bit more information that isn't of the personal variety.
Project Squish is slowly but surely nearing the "last 10%" phase of development, the part where there's a myriad of minor tasks to do and they seem as endless as they are small. I'll officially be onto that section once I'm done with the local Multiplayer component, which has surprised me by coming along quite nicely. The Multiplayer lobby is done, as is the actual in-game play, which now includes various power ups that can be acquired and used against your opponent. A few more customized menus and some player-friendly features, and that will be done!
After that, I have to do the Options and Credits Menus. Once those are complete, Project Squish will be feature-locked, and the rest of the development time will be spent on finishing existing features, tidying up loose ends, and general polish. I can't tell you how excited I am to reach that phase, as Project Squish is now in its 10th month of development.
However, there's one more very important thing to do: finalize the art. I (correctly) put off doing that until I was further along in development, but that time is fast approaching. It'll mean days of just sitting there and dropping new art assets into the project file, which will amount to little more than boredom and tedium. But hey, it has to be done, or else the game won't look sexy.
So that's where I stand. Here's hoping future news will bring more tales of success with Project Squish, and hopefully a story about how my horrible, face-besmirching rash cleared up in time for me to not have wasted a shitload of money on a new suit/look like a weirdo in front of the Secretary of Labor during a fucking photo op.
I am not a creative prodigy. I don't automatically create pure gold when I sit down in front of a computer or open up Photoshop, so I try to make up for that with careful planning and intellectual rigor. And not just my own! I recently borrowed those traits from Ryan at Vintage Video Games TV so that I could get some useful feedback on how Project Squish was shaping up.
Ryan spent a couple of days with a pre-alpha build that I gave him and then called me on Skype to discuss it. That required me actually downloading and installing Skype, something which I'd managed to avoid doing lo these many years. Partying like it was 2006, I got Skype up and running and had a nice chat with Ryan over the course of an hour. Here's what we discussed:
Those who don't learn history are doomed to not repeat it. Ryan suggested that I check out old school gems like Lemmings and Techno Kitten Adventure to see how other games handle similar mechanics involving cute things navigating their way around dangerous levels.
Critter design. In what would turn out to be a theme, Ryan was up front in criticizing my art design, including that of the Critters themselves. I reminded him that most of the ingame artwork was of the placeholder variety, but I'm glad he brought these issues up, so that I didn't just make high-resolution versions of my current designs. The Critters in particular, he thought, needed some more weight and shadowing to give them more presence. Perhaps color variations.
Level Design. Ryan wasn't impressed with the block-based level design, and suggested that I should really spruce it up. The placeholder caveat was still in place (those blocks will change based on the overall level style), but Ryan also suggested that when I finalize my background and foreground art, that they should be poppier than I was anticipating and maybe even be animated, to give a more cartoony feel.
Blood. "People like blood," Ryan said earnestly. I agreed, and vow to give him - and everyone else - much much more.
Gameplay. Ryan thought the base gameplay concept was really good, but he was wondering if it would sustain a player's interest for 60 levels. I responded by sketching out my plans for local multiplayer (which I haven't publicized yet), and that actually started a conversation about us theorizing on fun "bonus" types of gameplay. He suggested a bonus level where you have to trick-shoot Critters into difficult to reach buzzsaws and kill them on purpose. I expanded on that idea, thinking that players could race to see how many gallons of Critter blood they could spill in 10 or 30 seconds. Basically, the conversation (productively!) dissolved into an animated discussion that would make Caligula and Vlad the Impaler proud. Expect to see many of these ideas in the final version of the game.
Music. Although I'm resistant on Ryan's suggestion of heavily emphasizing a 16-bit style with Project Squish's final graphics overhaul, I'm far more eager on utilizing chiptune music if I can get my hands on it. Chiptunes (8-bit style music), while not being musically consistent with a more up-to-date graphics style, capture a great deal of the childlike glee that I'm striving to present in the game. Ryan, being of a musical background himself, linked me to his own portfolio as well as other musicians that are quite active in the Xbox Live Indie Games community. This bears further study!
Porting. We also had time to chat a bit about poor returns on investment in the XBLIG market, and how some of the best designers out there were only barely scraping by. Ryan and I agreed that XBLIG itself wasn't enough to sustain most developers, but Ryan actually pointed something else out: thanks to engines like Unity, porting XBLIG code to the iPad and iPhone is easier than ever. I made a frowny face, arguing that my game will take up 100% of the screen, inhibiting iOS touch controls. No problem, said Ryan: target the iPod Touch and iPad and advertise that people should play the game with a stylus. I didn't even know people used those!
The conversation ended thereabouts, as Ryan had to go and make himself pretty for a date with what I hope was a passably-attractive human female, or at least a classy, upscale tranny. However, we covered a lot of ground in an hour, and I was greatful for the advice he gave. I really hope that Project Squish is a hit with the community, and I appreciated all of the insight he gave into how that could be possible.
Still working on Project Squish, which better be the Goddamned Citizen Kane of Xbox Live Indie Games for the amount of time and energy it's taking me. (Not sure what the hell I was initially thinking, but Squish is now 6 months overdue beyond my 3-month development timeframe. Heh.)
Still polishing a lot of things off, and I met some very nice people on the way to PAX East that recommended an artist to me that could help produce some contract art and alleviate my workload, so we'll see how that goes. In the meanwhile, to amuse myself (and you, I guess), here are some comments I left for myself in my code that I've rediscovered:
"Move yer ass", where I tell the Boss Robot to speed up
"EXPLODE OTHER THINGS. AND CONGLAGRATE. DON'T FORGET CONFLAGRATION." I got a little too excited when I was writing the code for my Fire effects.
"Send out the notice that this sucker may very well die", where any collision with any object causes the Critter to check and see if there's been a fatal impact.
"What the fuck is going on with corner intersections?", wherein I try and figure out what the fuck is going on with corner intersections. (Strange behavior when objects collide near the corners of their bounding boxes.)
"Springs make everything springy!" Was writing that really necessary?
"SOMEONE FUCKING TELL SHAWN HARGREAVES TO STOP SOLVING PROBLEMS THAT DON'T NEED FIXING." I might have gotten a little upset with the XNA team over what I thought to be arbitrary changes from upgrading XNA 3.1 to XNA 4.0.
"Russkies don't take a dump, son, without having a plan." What? They don't.
"If I had super powers, it would be firing lasers from my nipples." Self-explanatory.
"Un-lift off! Lift on, I guess!", where elevators come back down to pick up more Critters during multiplayer matches.
I guess that's it. Color me disappointed, I remember telling myself tons of jokes in the Around The World code and thought that I'd done the same this time around. I hope I saved all of my humor for the game itself, since that's what everyone else will see.
Much has been going on! And all of it has subtracted from my ability to write or even really work on Project Squish. Which is a shame, of course, because Project Squish is the Most Important Thing Ever, and will certainly prove to be the most important thing in your lives to come. So, actually, these delays are me doing you a favor, since everything will be all downhill for you after you play the game. Marriage, kids, colon cancer... downhill.
Anywho, I bought a Wacom Bamboo Pen (not the Pen & Touch variety), which is an entry-level digital tablet that (a) completely rocks, and (b) makes a mockery of all the money I spent on custom pencils, pens, brushes, watercolors, canvas, and a scanner. Whooooooooops.
But anyway, I now have a more efficient way of drawing on the PC, so I'm working on making art like this for Project Squish:
Obviously, I'm still getting the hang of things. Fortunately, the Wacom makes doing so quite fun.
It's one thing to avoid Feature Creep and decide to stick within the bounds of your rigorously-designed game framework. It's another thing to realize that having done so and coloring inside the lines has left your game with a severe case of redundancy and, figuratively, your dick in your hand. (For all you know, that could also be literally the case, but I can attest that I did type this with two hands.)
Fully two thirds - 66% - of the levels in my singleplayer campaign rely on Buttons. Specifically, bounding Critters or objects off of Buttons to either (a) toggle solid walls to be passable and vice versa, (b) turn death-dealing objects on or off, and (c) open Elevator doors so you can get your Critters to safety. The outcomes are different, but they're all handled the same way: bouncing some hapless object off of a Button.
If I'm lucky, the aforementioned different outcomes might be the real kicker here, and not the common triggering mechanism. And yet, I can't shake the feeling that, every time I crack open my level editor, my creative options are limited. Like, they all consist of, "How hard should this Button be to reach? What should it trigger?" That's like being a cook and constantly having to ask, "How much cheese do I have to put in this thing?" I mean, cheese goes great on everything, right? But you don't want to overdo it.
Indeed, I'd prefer if my players don't get sick of Buttons and/or cheese. So I'm gonna sit here for a little bit and try to figure out if I can permit myself a bit of Feature Creep and add a new gameplay feature that can shake things up a bit. The tricky part is that, as a physics-based game limited by my flick mechanic, it almost always comes down to what physical object can reach where. Hence the automatic importance of Buttons.
So, what can fit in that niche without being derivative of something I've already relied too much on?
Merry belated Christmas, everyone! And Happy premature New Year! This time tomorrow, I'll be in Aruba with (most of) my family, as well as my better half. Needless to say, that's fucking awesome for me, and not so great for you. Sad, right? So sorry, here's a video to cheer you up:
'Cuz you know what Project Squish needed? Boss Battles! Absurd ones with bucket-headed, cardboard box torso robots! The initial robot design had a pair of soiled underpants stretched across the bottom of the bucket, but I deemed that a bit too much. It hid the robot's evil frown. Also? Kinda made the robot look like a terrorist.
Project Squish is - if I may! - shaping up to be a nice mix of solving physics puzzles (eww, not that again, right?) and timing and coordination tests. My fear all along is that this would turn into some obvious hybrid lovechild/ripoff of World of Goo meets Super Meat Boy meets Angry Birds. Fortunately, it seems like there's some method to the madness, and that I'm not a plagiarizing jackasshole.
That leads me to these boss battles, which offer very trivial puzzles (two of which I helpfully solve for you, the pathetic reader, in this very video) combined with mad amounts of precision. Like: don't let a bomb detonate on your Critter! Or, don't let your Critter get caught in a tremendous goddamn drill.
Important life lessons, all.
A caveat: you're witnessing major chunks of gameplay and art being created on the fly, which is kind of a no-no at this point in the game's design. Well, it would be a no-no if I was still wedded to my three month development timeline. But seeing as how September is back that way, and I happen to think boss battles are a lovely idea for Project Squish despite the threat of feature creep, but hey. My game or the highway. Or something like that.
So, hey. You're a fan of mine, or perhaps someone committed to seeing me fail and reveling in my misery. Either way, you'd like to try out one of my games (like Project Squish), but you don't have an Xbox 360. Or your Xbox 360 isn't connected to Xbox Live. Or you just can't be bothered.
In that case, you might like the idea of playing Project Squish on your computer.
SilverSprite is a little Silverlight concoction that packages an XNA game and all of its art and sound assets up all nice and pretty so that it can be played off of a mere webpage. Yes... I've been going on and on about Unity 3D's web player capabilities, and it seems like I can pull off some facsimile with XNA! Neato.
You can read about it here. Or, better yet, don't... just be on the lookout for an online demo of Project Squish sometime in the near future.
I'll expand upon this when I have internet access (I just moved again), but this new video shows off the game's sense of humor in the Pause menu, a Restart Level option, new fire effects (including settings critters on fire), and a bit more. Have fun!
See that image above? I'm still not telling you the real title of my game until I'm good and ready. Buuuuuuuut... see that video below? I did some work, yay!
That took a few weeks longer than I expected, as I waddled away from my rigid design timeline to experiment with my art skills, or lack thereof. Y'see, I made this pretty (ish) mountain that I wanted to show off, but I needed a neat lighting system to really show it off, so, I, uh... just gave you an example of how feature creep works.
But hey. My dev diaries of late haven't been too process-oriented, so let's take a time machine back to late 2009 when I'd ramble incessantly about normal maps and whatnot so I can... ramble about normal maps and whatnot. Come venture with me!
DrMistry, the creator of Space Pirates From Tomorrow, has an excellent post up on his blog which touches briefly on the previously-discussed Mommy's Best Games/Top Downloads issue. More importantly, it really hammers home just how reliant Xbox Live Indie Game developers are on Microsoft's XBLIG/Xbox Live infrastructure, and just how crippled the release of a game can become when portions of the system go down.
(DrMistry even points out that the New Releases section can go down, which I didn't know! Around The World got 85% of its sales from the New Release tab. If it had gone down during ATW's release... I shudder at the thought.)
A really interesting point that DrMistry makes is that good PR and coverage on the indie gaming blogs doesn't net as many sales as sheer visibility on the Xbox Marketplace dashboard. I didn't know that. That means that XBLIG bugs and outages have an even more horrifying impact on game sales than I previously guessed at.
Prior to releasing Project Squish, I plan on spending a good month or so with a gameplay-and-art-complete game, just so I can unload tons of finished content on the indie gaming blogs and simply advertise my heart out. However, it turns out that if the Xbox Marketplace chooses that time and date to screw up, no matter how energetic my PR campaign is, I'm in for a world of hurt when it comes to sales.
I would super-duper like Project Squish to be a pretty game. Every time I load up the alpha and play around, I find myself sighing at my placeholder artwork. Soon, the day will come where I can throw out all this old work and replace it with something thoughtful and good-looking. You know... something that will clash violently with critters exploding into clouds of blood and viscera!
I'm a pretty decent sketch artist, albeit one that has only worked on refining his own style and has not ventured into the "learn new things" territory. Very similar face and profile doodles adorn the corners of my work notebooks. Fortunately, this style - with all of its wide eyes and goofy expressions - can be easily adapted for drawing the game's critters, as my recent video and art show. But they're the punchline of the joke. The setup needs to be in the careful beauty of the game's levels, which means I need to get off my ass and learn how to draw and paint digitally.
I'm experimenting with a variety of styles right now. At first, I thought I'd sketch out my level objects and landscapes (especially the landscapes) by hand, scan the line art, and then paint them digitally in Photoshop. Unfortunately, I find myself sans scanner at the moment, and I won't buy one unless I can commit to that exact work process. Since I'm not prepared to commit right now, I'm experimenting with other things. Specifically, I'm going batshit crazy in Photoshop with just a mouse, exploring the limits of what I can do without a sketching hand or a tablet pad.
Although I have a high opinion of my own drawing style, I know I really, really need to improve on my habits, especially painting and coloration. As such, I'm currently drawing and redrawing the same stupid trees so that I can take the time-honored brute force approach to getting better: "If at first you don't succeed..."
I'm starting from extreme mediocrity and hoping to work my way upward. Here are the first and second trees I'm drawn and painted:
Good news, everyone! I've learned how to Burn/Sponge/Dodge in Photoshop. I've also picked up another key lesson: I can't Filter my way to success, especially if my heretofore approach to Photoshop Filters has been "keep clicking buttons and see what looks good."
My work continues, and I'll keep on churning out silly trees. We'll see how it goes. In the meanwhile, does anyone have any good tips, tricks, or tutorials? Or other things that begin with T?
It's been nearly a month, so here's another Project Squish development video:
This video shows off my little critters being animated in-game as well as some new level features, such as working buttons, toggleable blocks color-coordinated to respond to colored buttons, and the elevator. Implementing the elevator involved a little sturm und drang, as I was trying not to rip off World of Goo. However, the process of getting the first critter to the elevator and then choosing thereafter when to end the level allows for a lot of flexibility, including the possible usage of surplus critters saved to unlock game features or something. I haven't decided yet.
I recently concluded Month 2 of development, and things are moving swimmingly. I'd initially planned on a 3 month development cycle, as I was working strictly with 2D and with XNA programming principles that I'd long since learned while working on Around The World. However, I find myself repeatedly adding new and unplanned features for in-game play, which is dragging out the process. I'm always wary of "feature creep" - when a developer keeps adding unplanned features and pushing back their development timeline - but I also want Project Squish to be content rich and have a wide variety of possible puzzles and level interactions. I don't think it would be remiss to add another month to the development schedule to make a (hopefully) good game even better.
I've made some placeholder art for some cute little things that will waddle around the levels of Project Squish. It's not finished by any means, but I mocked it up to test out the animation system and was rather enamored with what I created. Anyone think they're cute?
I'm going to try and pace these videos a little better in the future. I recognize now that during the 17 some odd Development Diaries for Around The World, I was releasing videos left and right for even the most banal updates. I'll try and be a little more... discerning... in the future.
As I mentioned earlier, I've stopped work on the Prometheus Engine. It had a very cool name, but had all the hallmarks of a time sink. Successfully finishing this engine and then embarking on the creation of a horror game would've taken me forever, and although I have forever, it's not a wise use of my time. There are plenty of free XNA engines that I should learn, and there are plenty of smaller, more straightforward games I should work on to (A) further hone my XNA skills, and (B) increase my personal visibility. Prometheus achieves A but flat out murders B.
As such, I've turned to another game I've had on the back burner, Project Squish: