tag:blogger.com,1999:blog-74177556221961592852024-03-12T20:37:19.112-07:00AAD GamesExploring the Hopes and Fears of Indie Game DevelopmentRailboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-7417755622196159285.post-47788550293759085842016-02-17T13:23:00.004-08:002016-02-17T13:24:48.878-08:00Whoa - this blog still exists??If you want to stay up-to-date with AAD Productions this isn't the place to do it. I recommend the following:<br />
<br />
<a href="http://youtube.com/AtomicAgeDogGames" target="_blank">YouTube</a><br />
<a href="http://twitter.com/Railboy" target="_blank">Twitter</a><br />
<a href="https://www.facebook.com/AAD-Productions-190862931063437/?ref=hl" target="_blank">Facebook</a><br />
<a href="http://aadgames.com/" target="_blank">Official Site</a><br />
<br />
I'll leave this blog up since it's kind of fun to see the origins of the FRONTIERS project, but I doubt I'll post here again.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-35046025292829699712013-06-28T20:12:00.001-07:002013-06-28T20:12:38.661-07:00Minerals! And Other Great Ideas<p><i>(This is one if those rare wholly positive posts. You heard it here first, folks!)</i></p>
<p>After launching the Greenlight page I knew I could expect some great feedback and ideas from the folks who pledged at Kickstarter. (Everything from survival to crafting has been adjusted based on Greenlight input, and they haven't even played the game yet! Who knows what will happen during beta testing?)</p>
<p>What I <i>didn't</i> expect was the wild diversity of professions and perspectives. It could just be an illusion caused by the format but the Greenlight camp always felt like a pretty narrow demographic. In contrast the game's Kickstarter backers have been all over the map, literally & figuratively. </p>
<p>Since launching the campaign I've been in touch with not just dozens of artists and musicians and writers but also geologists, linguists, historians and architects, all eager to help me shape the world into something that lives up to their own unique expectations.</p>
<p>Not that I ever could - to please them *all* the game would basically have to be a fantasy-themed Matrix. But I'm finding their input to be beneficial in unexpected ways.</p>
<p>For example: a geologist had a great deal to say about the shapes of the world's land masses, and based on his advice the world's realism factor will be bumped up a tad. </p>
<p>Now I can tell I'd have to work for <i>years</i> to make the world geologically consistent (and genuinely realistic landscapes trend to produce boring gameplay anyway) so I can only take this advice so far. But then he casually rattled off what kinds of natural minerals each region would have in abundance due to the formations & climates I had chosen for them.</p>
<p>Over the past few days I've used this information to upgrade the game world's economy. It already feels richer and more legitimate. I'll be honest, apart from the obvious stuff like diamonds and salt I hadn't given minerals etc much thought. But after just an hour of plugging in numbers everything from the motivations of major characters to the histories of entire regions has been improved. By <i>minerals</i>!</p>
<p>And this is just one example - there have been dozens of similar cases.</p>
<p>I suppose I shouldn't be surprised - the backers have already invested money in this project hoping they'll enjoy it - what's a few more minutes to write out an email if it boosts the quality that much more? </p>
<p>All the same I can't help feeling like I've won some bizarre lottery every time an amazing new suggestion lands in my inbox. It takes a bit of the pressure off knowing that when I have a down day it two and can't shake an idea out of the old noodle, my backers have my back.</p>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com1tag:blogger.com,1999:blog-7417755622196159285.post-74500167805410810182013-06-10T10:45:00.001-07:002013-06-10T10:45:56.648-07:00The Story of A Guy Who Discovered that IndieGoGo Isn't Good for Gaming Campaigns and Abandoned it For Kickstarter<span style="color: #999999;"><i>Note: This story is biased but it isn't a hatchet job. IndieGoGo may have promised something they couldn't deliver, but e</i><i>veryone I dealt with was personable & pleasant to work with and </i><i>I believe they did what they could to help the campaign succeed within the constraints of the platform. IGG a good platform for a lot of projects - just not gaming projects.</i></span><br />
<br />
<h2>
<span style="font-size: x-large;">Decisions, Decisions</span></h2>
The trailer went live and I thought to myself, I believe this game has a chance. Time to crowdfund.<br />
<br />
The question is which platform? Kickstarter, or IndieGoGo? I knew Kickstarter was the 'default' choice but I'd also contributed to successful gaming campaigns on IGG, like <a href="http://www.indiegogo.com/projects/ghost-of-a-tale/" target="_blank">Ghost of a Tale</a> and <a href="http://www.indiegogo.com/projects/darkwood/" target="_blank">Darkwood</a>. And I knew FRONTIERS had some global / casual appeal, which could make IGG a good option... hmm, decisions.<br />
<br />
In one of those weird (not-so) coincidental moments, I got a phone call from IndieGoGo.<br />
<br />
They'd seen the trailer and wanted to extend a helping hand. They made a pitch that involved IGG's Flexible Funding (which I opted not to use), and assured me that they'd help me one-on-one to tweak the campaign for success. That all sounded fine, but then they dropped this bomb - they would take a hands-on approach to helping my campaign get media exposure all over the world.<br />
<br />
<h3>
Exposure, you say? All over the world, you say?</h3>
<br />
Well, that sealed the deal for me. I'm a total outsider without any press contacts and very few supporters. A crowdfunding platform that provides some of that up front would give me a <i>huge</i> leg up even if the platform itself was less popular overall. FRONTIERS gets funded, IGG gets their cut - everybody wins. Right?<br />
<br />
That's not to say I intended to sit on my rear while they did all the work for me - I've typed my fingers bloody sending out announcements and press releases. <b>SLEEP IS FOR THE WEAK.</b> But I figured that a well-placed phone call or two on their part would help convince some of these contacts to actually <i>read</i> the materials I sent. (I don't envy editors who have to sift through emails from <i>yet another</i> first time developer announcing their campaign.)<br />
<br />
IndieGoGo made good on their promise to help tweak my campaign at this stage. They were quick to respond to questions and made helpful suggestions. After agonizing over perks for a few days (too many? too few? too high? too low?) I launched! And things were going great!<br />
<br />
<h2>
<span style="font-size: x-large;">"IndieGoGo BAD! </span><span style="font-size: x-large;">Kickstarter GOOD!"</span></h2>
I immediately noticed something - people were wondering why I'd chosen IGG. They'd say things like <i>Hey if this fails try Kickstarter! </i>Not the kind of thing that inspires confidence.<br />
<br />
I call opinions expressed by anonymous posters - as opposed to folks I'm acquainted with - <i>The Rabble</i>. No offense if you're an anonymous poster, it's just a survival strategy to avoid losing my mind in a rushing current of ideas.<br />
<br />
I've belonged to the rabble myself a few times. The rabble always wants something folks can't deliver. The rabble says I need higher resolution textures, the rabble says it loves steering wheel support, the rabble says it hates game over screens. They're not wrong or right, they're just too many to please. So when the rabble said <i>IGG bad, Kickstarter good!</i> I shrugged it off and said that the platform doesn't matter, what matters is the support you can bring to it.<br />
<br />
All the same I contacted IGG with these concerns and asked if it was a common problem, and if so what their strategy was for dealing with it.<br />
<i><br /></i>
<br />
<h3>
<i>Not common at all</i>, was their response.<i> A vocal minority</i>.</h3>
<div>
<br /></div>
Fair enough. I wasn't worried; in my back pocket I had IGG's yet-to-be-revealed media influence, which I expected would kick in once I'd conquered their merit-based ranking system and made it to the top of the games category. I was <i>determined </i>to do this in the first week even if it killed me. <b>(SLEEP IS FOR THE WEAK)</b><br />
<br />
There were a few bumps along the way to the front page - IGG's comment and update system are unintuitive and resulted in a few gaffes, plus there was the (admittedly funny and ultimately harmless) instance of an IGG chat support guy deleting several of my perks in real time after I specifically told him not to. "Oh shoot," he said as we scrambled to recreate them (cue Benny Hill theme). But generally things were going well and I was having a good time. I figured that the 'vocal minority' would shrink.<br />
<br />
<h2>
<span style="font-size: x-large;">The Rabble Mutates</span></h2>
It didn't shrink. It grew, and it mutated. They weren't anonymous any more, they were supporters; I had come to trust their opinions. Hmm. Time to consider this seriously, methinks.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ZTjHZHuxU1A/UbOl2FxFp5I/AAAAAAAAAhc/lxc2NWAcsBU/s1600/Pattern.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-ZTjHZHuxU1A/UbOl2FxFp5I/AAAAAAAAAhc/lxc2NWAcsBU/s1600/Pattern.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>I'm sensing a pattern...</i></div>
<br />
<br />
Then I did some projections that chilled my blood. The campaign had flatlined. FRONTIERS has a group of core supporters that I knew I could count on in the early days - after that the campaign would live or die by the press. (Hence the allure of IGG's promise.) That core was tapped out, and press was still nowhere to be found.<br />
<br />
I wrote to IGG again. I felt bad for dumping on them, but I needed to know if I was really on my own, or what:<br />
<br />
<div style="font-family: arial, sans-serif; font-size: 13px;">
<div style="background-color: white; color: #222222;">
<i>Hey, [removed]</i></div>
<div style="background-color: white; color: #222222;">
<i><br /></i></div>
<div style="background-color: white; color: #222222;">
<i>I've got some bad news - I'm actually considering abandoning the IGG campaign and relaunching on Kickstarter. It's not just the rabble shouting 'why aren't you on KS' any more - pros are telling me point blank to abandon the campaign immediately and relaunch on KS.</i></div>
<div style="background-color: white; color: #222222;">
<i><br /></i></div>
<div style="background-color: white; color: #222222;">
<i>Also - now that I'm on the first page of IGG's games section, I got something like two contributors over the past 12 hours. If the site isn't capable of putting eyeballs on my project then I don't know what I'm doing here.</i></div>
<div style="background-color: white; color: #222222;">
<i><br /></i></div>
<div style="background-color: white; color: #222222;">
<i>Just want to make it clear I don't feel entitled to exposure or success - I'm responsible for both, not IGG - and this issue obviously isn't personal. You're just my point of contact so you're the one who gets to hear it. (Lucky you, right?)</i></div>
<div style="background-color: white; color: #222222;">
<i><br /></i></div>
<div style="background-color: white; color: #222222;">
<i>Any idea how to make this the story of "The industry outsider who ran a successful gaming campaign on IGG" and not "The guy who discovered that IGG isn't good for gaming campaigns and abandoned it for Kickstarter?" I'll do whatever needs to be done as long as you can meet me half way. I'm out of tricks and the campaign has flat-lined. I've got a referral contest planned but let's be real, it's going to take more than that.</i></div>
<div style="background-color: white; color: #222222;">
<i><br /></i></div>
<div style="background-color: white; color: #222222;">
<i>- L</i></div>
</div>
<br />
I didn't hear back from my point of contact for a few days (I later found out he was on the road/swamped with E3, which is understandable and for which he was genuinely apologetic) but someone else on the team let me know I was being featured in the <a href="http://blog.indiegogo.com/2013/06/team-indiegogos-campaign-roundup-6713.html" target="_blank">weekly roundup</a>, another merit-based promotion I'd been shooting for. Alright, maybe this would kick things off. Maybe this was the start of what they'd been promised! I decided to give it a bit and see what happened.<br />
<br />
<h2>
<span style="font-size: x-large;">I've Made a Huge Mistake</span></h2>
So there we are, a week into the campaign. After a ton of hard work and lots of contributions and word-of-mouth publicity from core supporters the FRONTIERS campaign had bit and kicked and scratched its way to the front page of IGG's gaming section, <i>and</i> was featured in the weekly roundup. And then...<br />
<br />
<h3>
<i>*crickets chirping*</i></h3>
<br />
Pretty much nothing. A half dozen contributions over the course of 24 hours, many of which I courted myself.<br />
<br />
Oh, boy, I thought. If this is what they meant by helping the campaign get exposure, I am so hosed.<br />
<br />
There have been a few articles along the way, but I strongly doubt IGG was directly involved with any of them. A <a href="http://kotaku.com/http-youtu-be-fuoimzi1jlc-frontiers-that-elder-scro-510965066" target="_blank">Kotaku article that ran during the campaign</a> was a follow up to <a href="http://kotaku.com/its-like-elder-scrolls-only-made-by-two-guys-508792214" target="_blank">one that ran before IGG ever contacted me</a>. Other articles coming out this week were due to the press contacting me, or me contacting them. <a href="http://www.polygon.com/2013/6/9/4407292/call-of-the-wild-how-one-man-is-creating-open-world-exploration-in" target="_blank">Polygon</a> reached out before the campaign as well. An <a href="http://indiestatik.com/2013/06/06/frontiers-2/" target="_blank">indiestatic article</a> released this week <i>could</i> have come about thanks to IGG, but I've got to imagine they would <i>tell </i>me if they'd actually landed something, just to shut me up if nothing else.<br />
<br />
I'm not saying IGG didn't try - I believe they did. But not trying and not succeeding both have the same outcome for the campaign.<br />
<br />
So, what now?<br />
<br />
<h2>
<span style="font-size: x-large;">SHUT. DOWN. EVERYTHING.</span></h2>
After crunching some numbers and confirming that yes, reaching the 80k goal at IndieGoGo is a virtual impossibility, I decided to shut it down and relaunch at Kickstarter as soon as possible. E3 is right around the corner, which makes the timing of this decision awkward, but I figure about a week will give me enough time to make it through their approval process. If all goes well it'll launch just as the E3 dust begins to settle. And if the people who supported the campaign the first time around are kind enough to revisit it, there's a chance we can pick up where we left off within a few days.<br />
<br />
<h3>
Will moving to Kickstarter ensure success?</h3>
<div>
<br /></div>
Not at all, but at least I won't be handicapped by the apparent lack of gaming interest over at IGG. As I said, I'm ultimately the one responsible for the exposure and success of my campaign. I'm going to try just as hard to bite and kick and scratch my way to <i>Kickstarter's</i> front page. The difference is that once I'm there I can at least expect some gamers to <i>frickin see the campaign.</i><br />
<i><br /></i>
I will also be revamping the campaign a bit before the relaunch, especially the perks. People have already made a lot of suggestions for improving them.<br />
<br />
Ultimately this whole debacle was my own fault for leaping at IGG's pitch to begin with. I was desperate for help and in that desperation eager to believe they could work a miracle. (Feel free to call me a naive in the comments.) Oh well, lesson learned. In the end, this will just be another speed bump.<br />
<br />
<h3>
TL;DR: IndieGoGo enticed me with promises of exposure for the campaign, and I believed them - but the platform doesn't have a substantive gaming audience, plain and simple.</h3>
<br />
Oh, and to everyone I shrugged off for saying <i>IGG bad, Kickstarter good</i>?<br />
<br />
<span style="font-size: x-large;"><b>
You right, me wrong. :P</b></span><br />
<br />
<div>
<i><span style="color: #b45f06;">I'll close this with a big THANK YOU to everyone who has supported the campaign so far. I will do everything in my power to make this transition as painless as possible. And if you're not up for contributing all over again no worries, I'll understand. Stay tuned for more info.</span></i></div>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com7tag:blogger.com,1999:blog-7417755622196159285.post-17351832291566196362013-06-06T18:44:00.003-07:002013-06-06T18:48:47.700-07:00Lego Big!The one question I get asked more often than<i> Can you build structures in game</i>* is <i>How can you make a game this big by yourself? </i>Or, if phrased less diplomatically, <i>Dude there's NO WAY you can make a game this big by yourself. Crash and burrrrrrn, that's all I'm sayin!</i><br />
<br />
Part of the reason I'm running the <a href="http://www.indiegogo.com/projects/frontiers/x/3357595" target="_blank">crowdfunding campaign</a> is because, frankly, they're right - I need to outsource some art and writing and possibly programming tasks to get this thing done by January. (Thank goodness the game is modular enough to permit this.)<br />
<br />
But in another sense they're wrong, not because I'm somehow doing the impossible but because the game isn't 'big' like they think it is.<br />
<br />
Oh the <i>scale</i> of the world is big - I've said so repeatedly - and there's a lot of stuff to find, and I've already talked about the structures, etc. But the game is 'big' in the sense that a basement-sized miniature medieval town made of Legos is big. The size is imposing and it's not something you see every day - you'll have a ball peering into all the little windows and down all the streets and marvel at what an obsessive freak (er, I mean hardworking artist) the creator must have been to put so much detail into the all the little buildings. And holy crap that's a lot of Legos. But there's no trick there. No special engineering knowledge or exotic materials. It's just a <i>lot</i> of Legos and a lot more free time. Any impressive qualities boil down to persistence.<br />
<br />
Compare this to Skyrim. Skyrim isn't just 'big,' it's BIG in the way a full scale medieval town painstakingly recreated at Renaissance fair is BIG. On top of knowing the historical details you've got to know carpentry and roof thatching and glass blowing, plus costume design and weapon design if you've got live actors, plus backstage coordination and animal wrangling and food preparation... it is literally impossible for one person to make something like that on their own.<br />
<br />
So when people tell me <i>there's no way</i> I immediately know I've done a bad job of explaining what it is I'm doing. You're not going to play this game and constantly wonder <i>how did he do this</i> the way one does with Skyrim. You'll know how I did it - it's Legos all the way down.<br />
<br />
<span style="font-size: x-small;">*No, you can't. <a href="http://www.youtube.com/watch?v=07N6H7LbbZA" target="_blank">But you can do other fun stuff.</a></span>Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-88603857905167258262013-05-25T14:23:00.001-07:002013-05-25T14:37:54.782-07:00The Internet is Insane!<p>A week ago very few people knew what FRONTIERS was. A few playtesters (all onsite), maybe a couple hundred folks I'd reached out to personally or on the gamedev forums, and my wife. I posted my trailer thinking hey, maybe I'll double that.</p>
<p>Now I don't even know how to estimate. A hundred thousand? YouTube alone is cooling off at around seventy thousand. That's not to say they everyone who saw it gives a shit, but the logo has touched their eyeballs. I still can't process it.</p>
<p>And it was mainly due to one article. <i>ONE</i> Rock Paper Shotgun article that I had no idea was coming and suddenly the trailer was getting <i>waaaaaay</i> more attention than I was ready for.</p>
<p>The internet is INSANE, man.</p>
<p>And the craziest thing of all? 100k is small potatoes. Spuds, really.</p>
<p>Look at the views and visitors that some Indie games are working with. It can be millions of people. How the hell do they handle it? I know at some point I'll have to at least <i>try</i> and court that level of exposure. What if I succeed? Exposure is stressful in a way I hadn't anticipated - I thought my problem was going to be haters and internet assholes. Instead I found a bunch of people asking good questions and making helpful suggestions. I want to respond to all of them but it's impossible; I have to ignore so many people. I guess it's a good kind of agonizing, but it's still agonizing.</p>
<p>Anyway, all those first world not-really-problems aside: I'm glad the internet kicked my butt into high gear because what I realized this week is that I've been dragging my feet. I was still afraid that not enough people want a game like this to justify pouring so much money and time into it. But thanks to everyone who stopped by to say 'neat!' or liked the FB page or posted an article I don't have to be afraid of that any more. Instead I can focus on being afraid that I'll disappoint everyone! :)</p>
<p>You've probably seen that I'll be launching an IndieGoGo campaign on June 1st. That's my next big step. With some cash reserves I won't be forced to shelve the game every few weeks during crunch time at my day job. I'll also be able to bring on other artists and writers, thank god.</p>
<p>Raising the dough is going to take a ton of effort (on top of the already impossibly stressful schedule they've got me on at work) but the hardest part - believing it can happen - has been taken care of.</p>
<p>Thanks, Internet!</p>
<p><i>(By the way, don't worry about my uncharacteristically optimistic mood. I'm sure something awful will happen in the next few weeks that balances the equation and restores me to my cranky self again.)</i></p>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-86765028916811269042013-05-17T11:47:00.000-07:002013-05-17T12:08:39.860-07:00Preserving the MysteryFRONTIERS is about exploration, and exploration is largely about mystery. And mystery is about guessing without knowing. It's about sensing the shape of things - it's that lump under the blanket in the garage. Is that a handlebar? It sort of looks like a bike but what's that blob near the back? Wait, did it just move? The game knows what's under the blanket but you don't. And long as that tension exists you want to keep guessing / playing. Take away the blanket and suddenly it's just a raccoon sleeping next to a rowing machine. Sure you get that momentary thrill of discovery but there's no reason to keep looking at it.<br />
<br />
A few months ago I realized that this is going to be a problem. Here's why:<br />
<br />
<h3>
Dramatic vs. Backstory Mystery</h3>
<div>
<br /></div>
Mystery comes in two forms, dramatic mystery and backstory mystery. I completely made up those terms so if there's a third form, whatever. It's not relevant to this problem.<br />
<br />
Dramatic mystery is about plot resolution. <i>Who's behind <b>[x]</b>? What happened to <b>[y]</b>? Will <b>[a]</b> stop <b>[b]</b> from <b>[c]</b>? All will be revealed in the dramatic conclusion! </i><br />
<br />
Backstory mystery is what happened before you showed up. By accident or design every game has a bit of this as you get acquainted with the world. Most games want you up to speed ASAP - <i>Hello, welcome to Mass Effect, humans made friends with aliens, we use super-luminal spaceships, yadda yadda yadda, here's a gun, GO! </i>Some games (eg Anmesia) are a hybrid, doling out backstory at dramatic moments - I lump those the dramatic column since functionally they're the same.<br />
<i><br /></i>
But the biggest difference between the two is that dramatic mystery is covered by the Spoiler Code*, while backstory mystery tends to be treated as lore and casually swapped. <i>Oh that weird symbol you see everywhere? Yeah that's from the blah-de-blah dynasty 6000 years ago, it represents zoo-be-zoo. Here, check out the wiki. </i>For most games this is a positive thing - playing a game with a mapped out backstory makes it feel more real, more lived-in. It's not spoiled, it's enhanced.<br />
<i><br /></i>
So why are my panties in a bunch?<br />
<br />
Because FRONTIERS with a mapped-out backstory is like a rowing machine without a blanket. (Okay, it's slightly more interesting than that, but you get the point.) Sure there's dramatic mystery, and the Spoiler Code covers that, but the backstory mystery is the real draw - and that will be swapped with impunity. And unlike most games, contaminated players may end up enjoying FRONTIERS less. Because exploring / learning / discovering more is pretty much the core mechanic.<br />
<br />
<h3>
Solutions</h3>
<div>
<br /></div>
That's my first world problem. How to solve it?<br />
<br />
<ul>
<li><b><span style="color: #e69138;">Nail the blanket in place. (Sorry, racoon.) If the mystery is unsolvable there's no problem, right?</span></b></li>
</ul>
<br />
Nope. That's even worse. Unless you're a master of ambiguity (see David Lynch) a mystery demands answers. Not getting them is just fucking irritating. And answers can't be too spaced out, either. It should be a steady drip.<br />
<br />
<ul>
<li><b><span style="color: #e69138;">Reveal what's going on, but make the goings on mysterious.</span></b></li>
</ul>
<br />
Oh boy, you've done it now. This is the LOST / Battlestar Galactica approach, and we know how well they worked out. In their case mysteries were created without answers in mind - FRONTIERS won't have that problem, scout's honor - but the result is the same whether intentional or not: you pull off the blanket to reveal a nightmare manifestation of illogic. Shapes undulate and squirm in your mind's eye like a cubist Lovecraftian terror by way of Escher, driving you slowly mad as you contemplate them, because <i>there is no answer</i>. LOST (and to a lesser but no less irritating degree Battlestar Galactica) will forever remain mysterious, sure, but only because there is literally no way to resolve all the dangling threads.<br />
<br />
I call plots like this a PLOST.<br />
<br />
But as bad as that is, it's still not the worst case...<br />
<br />
<ul>
<li><b><span style="color: #e69138;">Reveal what's going on, make the goings on logically consistent, and hold back most of it.</span></b></li>
</ul>
<br />
Aw shit. Worst case is when you put in the effort to keep your ducks in a row but you're too stingy with your answers and it ends up looking like a PLOST anyway. Some stories can get away with this because they're designed as a puzzle and expect you to derive enjoyment from the hard work it takes to figure them out (eg, Primer). But for most it's just the worst possible way to fail. That leaves:<br />
<br />
<ul>
<li><b><span style="color: #e69138;">Be an amazing storyteller and reveal enough to give players resolution while holding back enough to keep the world mysterious.</span></b></li>
</ul>
<br />
Well when you put it like that it sounds easy.<br />
<br />
Full disclosure: I'm a bad writer. I've written four screenplays and all of them stink. I've made several short films and the story-driven ones are hard to follow. There is a very good chance I will fuck this up. Not the backstory part, mind you - that I've got under control. It's the skillful revealing of information that's got me sweating.<br />
<br />
Typically this is where I'd tell you how I overcame that panicked lack of confidence and offer a bit of sage advice but the truth is I've got nothing... so I guess that wraps up this post.<br />
<br />
<span style="color: #999999;"><span style="font-size: x-small;">*The Spoiler Code: Thou shalt not tell people what happened if finding out what happened was part of the fun. Thou shalt shalt exercise caution and use blackout / hidden text </span><span style="font-size: x-small;">when discussing spoilers online</span><span style="font-size: x-small;">. Thou shalt use a hushed voice </span><span style="font-size: x-small;">when discussing spoilers in public</span><span style="font-size: x-small;">. Thou shalt not depend on vagaries; they do not work as well as thou thinkest. Thou shalt not assume that you 'spoil nothing' by saying a thing; this is not true as often as thou thinkest. Thou shalt consider a plot point a spoiler until it has entered the realm of public knowledge; whether a plot point is public knowledge must be decided case by case. Lastly; be vengeful </span></span><span style="color: #999999; font-size: x-small;">toward </span><span style="color: #999999;"><span style="font-size: x-small;">those who spoil maliciously, but </span></span><span style="color: #999999; font-size: x-small;">forgive those who spoil unintentionally, for they know not what they do.</span>Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-10124368985346386772013-05-15T22:06:00.002-07:002013-05-15T22:07:52.016-07:00Moving on upJust a heads up, now that I've got an offical <a href="http://facebook.com/FrontiersGame">FRONTIERS page</a> up and running I'll be posting fewer promo bits here & sticking more to personal thoughts.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-45604106866387272032013-05-13T21:23:00.001-07:002013-05-13T21:24:13.265-07:00Gameplay VideosSome gameplay videos for your enjoyment. Just a few tidbits to whet your appetite for the proper trailer I'll be releasing in a week or so.<br />
<br />
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/Dfa4O5jMv1w" frameborder="0" allowfullscreen></iframe>
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/8daipo9_kXc" frameborder="0" allowfullscreen></iframe>
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/Qb--9tXJFH4" frameborder="0" allowfullscreen></iframe>
<br />Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com4tag:blogger.com,1999:blog-7417755622196159285.post-48272795113582802802013-05-10T12:53:00.002-07:002013-05-10T12:55:09.292-07:00The More Things Change......the more different they feel. Ha! Gotcha!<br />
<br />
Last week was a rude re-awakening to the world of gaming. As I often complain, my day job has kept me out of touch with gaming & gamers for years, so I asked some developers for a little help in getting reconnected. They obliged with an avalanche of websites and videos and articles. And holy crap things have changed since the days of five foot ten packs.<br />
<br />
Alright I'm not <i>that</i> out of touch. I do the Steam thing like everyone else. But what surprised me was how early indie games show off their barely-alpha gameplay, and how willing online reviewers are to not only play them but treat them with kid gloves. Last past week I absorbed roughly 2,561 hours of YouTube let's play videos and I saw dozens of early, early alpha builds with temp art, no menus, sometimes even no animation. And yet even the snarky, quick-to-judge reviewers were happy to ignore crashes and broken features.<br />
<br />
Not that this is a bad thing. Just weird. It's clear I need to toss my concept of a game's life cycle. It used to parallel my concept of a movie's life cycle (big surprise) - you tease with trailers and promo stills and making-of goodies, but the work print itself is kept under lock and key. Then the premiere comes and *boom* you dump a finished product in the audience's lap. The only people who ever see a truly <i>unfinished </i>version are test audiences (who put up with green screens and 'Scene Missing' cards) but that's hardly a public showing. You'd never post a test screening print online and ask 'What does everyone think?'<br />
<br />
But now it's common to do exactly that, to the point where feedback from players can fundamentally change game mechanics. Crazy. And also kind of exciting. I think I like it.<br />
<br />
Anyway, I'll be releasing a playable demo a lot sooner than I'd expected. Possibly a matter of weeks. Don't hold me to that though, some big jobs are coming up.<br />
<br />
Oh, and I'm also in the process of getting my youtube channels, twitter account, facebook pages, and all that jazz set up and interconnected properly. Again I thought I could ignore this stuff for another three months but oh how wrong I was.<br />
<br />
(Check back later for some Screenshot Saturday gameplay vids.)Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-57146406432577829742013-05-04T08:19:00.003-07:002013-05-04T08:21:37.223-07:00Day Job BluesI hate my day job.<br />
<br />
No, that's crazy, I like my day job. Right? I have a lot of freedom, the pay is good, I'm blessed to be working in a creative field, and my colleagues are wonderful people. Plus I'm lucky to have <i>any</i> job in this economy. Only an entitled brat would complain.<br />
<br />
But seriously, I hate my day job. I can sit in a chair for 12 hours working on my game and walk away feeling refreshed and full of joy, but put me in the<i> same chair</i> for the <i>same amount of time</i> working my day job and I walk away feeling like I've been sucking face with a Dementor.<br />
<br />
Okay maybe 'hate' is too strong a word. An indie developer's day job is like a really tall friend who sits in front of you at a movie - you love the guy but goddamn it, move your fucking head! Except he's paying your half of the rent this month so there's no way you can say that out loud. And you need him to pay for gas on the way home, so you can't even politely leave the theater. Instead you stew in anger while his fat rich head ruins the movie. You hate yourself for needing his money and for not having the dignity to demand a little courtesy. You hate him for existing. You hate the whole world and everything in it. Did I say hate was too strong a word? Now it doesn't feel strong enough.<br />
<br />
Arg.<br />
<br />
(Note: I try to avoid pointless rants around here but I couldn't help myself today. Apologies all around.)Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com3tag:blogger.com,1999:blog-7417755622196159285.post-28760624739130634432013-04-20T09:19:00.001-07:002013-04-20T17:06:10.705-07:00More ScreenshotsTime for Screenshot Saturday:<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i.imgur.com/bUKANpZ.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="300" src="http://i.imgur.com/bUKANpZ.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://i.imgur.com/bUKANpZ.jpg" target="_blank">Click to Embiggen</a></td></tr>
</tbody></table>
<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i.imgur.com/6xgC3t3.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="302" src="http://i.imgur.com/6xgC3t3.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://i.imgur.com/6xgC3t3.jpg" target="_blank">Click to Embiggen</a></td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i.imgur.com/9n5pjpR.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="302" src="http://i.imgur.com/9n5pjpR.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://i.imgur.com/9n5pjpR.jpg" target="_blank">Click to Embiggen</a></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" height="302" src="http://i.imgur.com/USL3Hpx.jpg" style="margin-left: auto; margin-right: auto;" width="640" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://i.imgur.com/USL3Hpx.jpg" target="_blank">Click to Embiggen</a></td></tr>
</tbody></table>
<br />Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-3392433570860726742013-04-17T11:33:00.001-07:002013-04-20T17:06:29.755-07:00Screenshot Time!Expect a gameplay video soon. But until then I'll post screenshots every now and then.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://i.imgur.com/8QmUeXj.jpg" style="margin-left: auto; margin-right: auto;" target="_blank"><img alt="" border="0" height="302" src="http://3.bp.blogspot.com/-AbMk1KvMlOA/UW7qHr1Kh3I/AAAAAAAAAbI/ki7PwU_uYiU/s640/FRONTIERS+Deepwood.jpg" title="" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: x-small; text-align: start;">(Click to embiggen)</span></td></tr>
</tbody></table>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com2tag:blogger.com,1999:blog-7417755622196159285.post-63679894636955475312013-04-10T17:08:00.000-07:002013-04-18T09:59:22.416-07:00FAILURE DRAMAUgh. This is the painful part of the blog thing. Sure I get to share my successes with an enraptured audience of dozens, and that's fun. But I'm also committed to sharing my failures.<br />
<br />
And fail I have. All bullshit aside nobody would mistake FRONTIERS for a releasable product right now. My deadline has come and gone. Now I get to choose whether to stick to my guns and shelve the game like <a href="http://aadgames.blogspot.com/2013/03/deadlines.html" target="_blank">I threatened to back in dick-swinging March</a> or wuss out and pretend I never made such a threat.<br />
<br />
Okay, that's a false dilemma. A third option is to reflect on why I failed, admit I made mistakes, resolve not to make those mistakes again and remain committed to finishing the game.<br />
<br />
<b>Spoiler: I'm not shelving the game.</b> As much as I'd love to be a badass and walk away, the pain of shelving it would be too much.<br />
<br />
Missing this deadline was rough. It may be hard to see from the outside, because deadlines seem so arbitrary when they're self-imposed. But this one wasn't. It was a measured calculation. It was based on objective self-appraisal. Failing means I overestimated myself in skill or self-honesty or both.<br />
<br />
Before I go on, yes, this is a pity party. None of this wailing and drama really helps anything. But fuck it, it's *my* pity party and I'll boo hoo hoo if I want to. If this post reads like a eulogy it's because I feel like part of me died when I missed that deadline.<br />
<br />
I'm not even kidding.<br />
<br />
When you try something new you have to pretend you can do it or you'd never start. '<i>Yeah sure I can *totally* make a game even though I never have before.'</i> You're like a kid outlining yourself on the wall, then drawing the outline you *think* you'll fill 10 years from now. Unless you're really morbid you're going to assume you'll grow a couple of inches and keep all your limbs.<br />
<br />
When I started this project I drew a mental outline of myself as a game developer, hoping that I would grow to fill it. It wasn't overly ambitious, but it did assume a full set of limbs. As I worked I'd fill in bits of the outline with real observations -<i> hey, it looks like I *am* pragmatic when it comes to design and hey, it looks like I *can* make art assets quickly. Go me!</i> It was a promising start. So promising (even intoxicating) that I stopped <i>wondering</i> whether I'd grow to fill this outline and started <i>assuming</i> I would.<br />
<br />
That was cocky. I can see that now. I treated my goal like a reality. Doing that is like using your <i>'10-years-from-now'</i> outline to buy all your clothes in advance. They ain't gonna fit right.<br />
<br />
This deadline didn't fit right. In fact very little about the past two or three months has fit right. I'm not the game developer I sincerely believed I was. It's like looking down and realizing I've been missing a leg this whole time. Fuck! No wonder these pants were loose!<br />
<br />
So this is me tossing a rose on that imagined self's coffin and saying some final words before burying it in the ground. Goodbye. It was nice thinking I knew you, but I've got to move on. Cue rain machine and sad folk song as I walk away in slow motion, etc.<br />
<br />
Okay. Moving on.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-82584386048270992712013-03-06T13:00:00.003-08:002013-04-20T17:06:59.328-07:00DeadlinesLast post: Dec 31st, 2012. What the hell happened?<br />
<br />
Two things. First, my wife & I moved into our first house - that's part of what motivated my self-imposed Christmas deadline, knowing that I'd lose most of January to the move - and second, I got busy on the newer 'leaner' Frontiers.<br />
<br />
Last time I posted I said I achieved my goal of a playable game by Christmas, but not without cost. Remember how Frontiers started as a Minecraft clone with a dynamic terrain engine, with survival elements built on top? Well around November I realized that if I was going to make this thing playable by Christmas, one of two things had to go - the survival elements, or the sandbox elements. Yeah, sucks huh. After a few tough nights of waffling I decided to ditch the sandbox elements. I salvaged everything else I could - the interface, interactivity engine, survival engine and art - and started over from scratch. The rest - eight painful months of development and an engine that was 80% there - I tossed in the bin.<br />
<br />
Why not just keep working on the terrain engine if I was 80% there? Because I had a deadline. And if I didn't make that deadline I'd sworn to shelve the game permanently. Yeah, it was painful. I still feel sick when I think about how much time I spent on something people may never see. But when the alternative was giving up entirely, the choice was clear.<br />
<br />
This is why deadlines matter - they motivate the really tough decision. Of course, you have to take your deadlines seriously, and when you're a one man shop that means taking <u>yourself</u> seriously. I knew I wasn't playing around - I really meant to drop the whole project if I didn't have a playable game by Christmas. If I thought for an instant that I'd let myself off the hook, I'd still be tweaking the terrain engine for an <u>un</u>playable game.<br />
<br />
My next deadline is in March- my goal is to have a <i>releasable</i> game by then. Not perfectly balanced, not totally finished, but releasable. If I can't pull that off, I'm shelving it.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-48070020401175870812012-12-31T11:50:00.002-08:002012-12-31T11:50:37.876-08:00Mission AccomplishedWell, I did it. I delievered a playable game by Christmas.<br />
<br />
Not without cost, mind you. A lot had to change. Even more had to be cut. But a lot of other fun things were added and discovered during playtesting. All of which I'll detail here once I catch my breath.<br />
<br />
Now for my next goal - a releasable game by March. Onward!Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-81752577365495685702012-11-14T20:54:00.001-08:002012-11-14T20:56:32.116-08:00The First PlaytestI said Frontiers would be ready to playtest over Christmas - my family and friends are excited to try it. I said it would be ready because I decided it was high time I got the core gameplay working, and the embarrassment of having nothing to show is an excellent motivator. But now that I have about a month left to go, I'm starting to wish I hadn't said a thing, especially since I know a new season of Breaking Bad work is scheduled to drop on me like a ton of bricks in December.<br />
<br />
On the one hand this deadline did exactly what I'd hoped it would - it forced me to step outside of the comfort zone of <i>Let's get this working just the way I want</i> and into the world of <i>This needs to happen or the game won't exist. </i>And that's been fantastic for progress, if not stability.<br />
<br />
On the other hand - Christ almighty there's a lot left to do. And I can already see all those sad looks I'll get if I have to tell them <i>Sorry, it's not ready like I said it would be.</i> It's the same look you get when you tell someone a pet died, only worse, because what really died is your integrity. And there's that half-amused undercurrent of <i>Oh, I see, so you're NOT really doing this for a living. My mistake.</i><br />
<br />
And the worst part is, because I haven't done this before - <i>this</i> being creating a game from start to finish - I haven't leveled up my estimation skill. Ask me how long it'll take me to complete a VFX shot and I'll give you an estimate accurate to within a half hour. Ask me how long it'll take to implement a game feature and all I can tell you is it'll happen someday. I hope.<br />
<br />
Did I say that was the worst part? I'll do you one better. The worst part is, they will almost certainly dislike the game, for two reasons. First, it's difficult to stay alive, even when nerfed for playtesting. Second, despite being more focused than a pure sandbox like Minecraft, it can still be hard to figure out exactly what to do next. That may be remedied as I write the Almanac - The Adventurer's Almanac, which I'll get into later - but for this session I'm expecting a lot of blank stares.<br />
<br />
*sigh*<br />
<br />
The thing to remember is that my goal during a first playtest is to seek information, not validation. If go in hoping for compliments I'll walk away disappointed and make everyone uncomfortable in the process. If I go in hoping for a guiding light, I'll walk away satisfied no matter what their reaction. Because even if they hate it from top to bottom, that's information I can use to make the game better.<br />
<br />
Alright. Enough hand-wringing. Time to get fire working properly...Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-70718049354365131502012-10-23T15:58:00.003-07:002012-10-23T16:10:33.955-07:00Tell a StoryWouldn't you know it, only a few weeks in and I'm already lagging on the blog. Truth is I'm working on a piece about why you should embrace formulaic game mechanics, and it has to be <b>perfect</b> before I let anyone see it or <b>the world will end</b>, etc.<br />
<br />
In the meantime, I've got a random programming tip: <i>Tell a story with your code.</i><br />
<br />
When you're working on shared code I actually don't recommend this. But if you're working alone, you can waste a lot of time grappling with those chunks of code you don't touch for months at a time - you know, the buried artifacts from your own past that you dust off and hold it up to the light and wonder whether you wrote them while blackout drunk.<br />
<br />
So when code starts getting gnarly, I try to figure out a way to make it about a character trying to accomplish a specific goal, and either succeeding or failing. It's a great memory aid.<br />
<br />
One class I just revisited this morning is supposed to update chunks of voxels using some weird proximity rules. It's complicated and huge. When I initially created it I called it a NodeProximityUpdater, and when I cracked it open a few weeks later I felt like I'd had a stroke. So I created this base class:<br />
<span class="s1"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"><span class="s1">public</span> <span class="s1">class</span> InfectorScript : NodeScript</span><br />
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;">{</span></div>
<div class="p3">
<span class="Apple-tab-span"><span style="font-family: Courier New, Courier, monospace;"> </span></span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public </span></span><span style="font-family: 'Courier New', Courier, monospace;">virtual </span><span style="font-family: Courier New, Courier, monospace;"><span class="s1">void</span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>TryToReawaken ( )</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span> virtual <span class="s1">void</span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>GoDormant ( )</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public </span></span><span style="font-family: 'Courier New', Courier, monospace;">virtual </span><span style="font-family: Courier New, Courier, monospace;"><span class="s1">void</span> <span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>SpreadTo (Node targetNode)</span></div>
<div class="p3">
<span class="Apple-tab-span"><span style="font-family: Courier New, Courier, monospace;"> </span></span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual </span><span style="font-family: Courier New, Courier, monospace;"><span class="s1">bool</span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>FindPotentialHost (<span class="s1">out</span> Node targetNode)</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span class="s1" style="font-family: 'Courier New', Courier, monospace;">void</span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">AttemptToAlterHost ( )</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span class="s1" style="font-family: 'Courier New', Courier, monospace;">bool</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">IsNodeSucceptible (Node targetNode)</span></div>
<div class="p3">
<span class="Apple-tab-span"><span style="font-family: Courier New, Courier, monospace;"> </span></span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span class="s1" style="font-family: 'Courier New', Courier, monospace;">bool</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">HasNodeSuccumbed (Node targetNode)</span></div>
<div class="p3">
<span style="font-family: Courier New, Courier, monospace;"><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual </span><span class="s1" style="font-family: 'Courier New', Courier, monospace;">bool</span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span class="Apple-tab-span" style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">IsNodeInfected (Node targetNode)</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span"></span><span class="s1"> public</span></span><span style="font-family: Courier New, Courier, monospace;"> </span><span style="font-family: 'Courier New', Courier, monospace;">virtual void </span><span style="font-family: 'Courier New', Courier, monospace;">Die ( )</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace;">}</span></div>
<div class="p1">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div class="p1">
Flash forward another month - this time when I opened it up, I felt up to speed right away. Infector, okay - an infector infects things like a virus, altering hosts until they succumb to changes, then spreading to another potential host. When it can't find a host it goes dormant, then tries to reawaken once in a while. If it's without a host for too long, it dies. Got it.</div>
<div class="p1">
<br /></div>
<div class="p1">
All the gnarly complexity is still buried in there, but when you're reading the highlights of a story, you only need broad strokes to summon a complete memory, even if the particulars are complicated.</div>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-58125972476930829642012-10-03T00:44:00.002-07:002013-05-18T11:03:09.785-07:00FRONTIERS<i><b>EDIT:</b> The game has changed quite a bit since this ambitious start, so as</i><i> you read this keep in mind that I'm describing a product that doesn't exist any more. </i><i>When deadlines began to slip <a href="http://aadgames.blogspot.com/2013/03/deadlines.html" target="_blank">I ditched most of the tech I was working on</a> and started over with an existing terrain engine.</i><br />
<br />
Alright. Today I'm going to spill the beans about the game I'm working on.<br />
<br />
First, strap on your time travel helmets because it's time for a lengthy flashback.<br />
<br />
(Spoiler: the game's called <b>FRONTIERS</b>, and if you don't care about origin stories, <span style="color: #b45f06;">skip the orange</span>.)<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/1G6zdQl.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="304" src="http://i.imgur.com/1G6zdQl.jpg" width="640" /></a></div>
<br />
<br />
<span style="color: #b45f06;">Still with me? Sweet.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">Way back in the early 2000s when I was still in college, I wanted to create a particle physics based game engine. I dubbed it the PPBGE. (Anyone who knows me will tell you, names are not my strong point.)</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">I'll resist the temptation to get into the gory details, because there were only two bits that mattered. First, all geometry would be virtualized; world objects would be stored & manipulated as point clouds and rendered at run-time as isosurfaces. Second, every point in the cloud would be treated as a physics particle. I'll let your imagination run wild at that thought.</span><br />
<span style="color: #b45f06;"><br /></span><span style="color: #b45f06;">Cool story? Definitely. But plausible?</span><span style="color: #b45f06;"> I honestly didn't know. So before I wrote a single line of code I arranged to meet a half dozen physics professors and computer science professors at my university. During these meetings I quickly realized that I was out of my depth technically. I met some <i>computers will never be fast enough</i> resistance, which I knew was hooey, but all the same I was blown away by how complex even a simple physics engine could be. While most of the profs agreed that there was no reason <i>in principle</i> why a system like this couldn't work (a hollow concession but one I still took pride in) they also stressed that if it happened it would be the work of a team of dedicated experts, not the work of a lone art student moonlighting as a programmer. And I agreed. PPGBE was way above my pay grade.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">But for all the resistance I met on the technical front, what sticks out to me is the funny looks I got when I tried to explain what kind of game I wanted to make with it.</span><br />
<span style="color: #b45f06;"><br /></span>
<i><span style="color: #b45f06;">"I want to create a virtual world where you're free to do whatever you want in a physically realistic environment."</span></i><br />
<span style="color: #b45f06;"><i><br /></i>
<i><b>"Okay, so what's the goal?"</b></i></span><br />
<i><span style="color: #b45f06;"><br />"Just the same as it is in real life, you wander around and change things and try not to get killed while you're doing it. Like if you want to build a bridge across a ravine, you can gather materials and build one. But have to do it without falling into the ravine."</span></i><br />
<span style="color: #b45f06;"><i><br /></i>
<i><b>"</b></i><i><b>Right but what's the winning condition?"</b></i></span><br />
<span style="color: #b45f06;"><i><br /></i>
<i>"</i><i>There isn't one, it just keeps going, until you die or get bored."</i></span><br />
<span style="color: #b45f06;"><i><br /></i>
<i><b>"</b></i><i><b>Why would anyone want to PLAY that?"</b></i></span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">I couldn't explain why. I just did.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">I'm not accusing them of being obtuse, because it sounds like some pretentious film student's original screenplay: <i>"It's a movie about real life... nothing much happens, and then it's over."</i> Wow nothing happens huh, sounds like a blast. So instead of pushing the issue I'd usually say <i>"It could be a first person shooter,"</i> and BOOM, instantaneous understanding.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">In any case, I shelved the project before it began, knowing it was beyond my capabilities.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">Flash forward several years. Minecraft hits the virtual shelves. Suddenly it wasn't a chore to explain why I would want to play that kind of game. All I had to say was,<i> "A Minecraft clone with physics."</i> BOOM. Instantaneous understanding. I was free to stroll down the trail Notch blazed for the rest of us. </span><span style="color: #b45f06;">(Side note: next post I'll be talking about the pros and cons of making a clone.)</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">Meanwhile, I'd learned the ropes on Unity while working as lead artist on another (yet-to-be-announced) indie game, and I realized that while not ideal, the engine had pretty much everything I needed to create my PPBGE, assuming a few compromises. Not only that, but my own skills had progressed to the point where I felt I could fill in the missing pieces on my own. So I started developing alongside my other projects about six months ago.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">This game eventually developed into <b>FRONTIERS*</b>... </span>and that brings us up to present day.<br />
<br />
The focus of the game has tightened since those early days, and it has become a cross between Minecraft and The Oregeon Trail.<br />
<br />
Your goal is simple: <b>KEEP MOVING FORWARD</b>.<br />
<br />
Your destination: anywhere on the massive spherical world you inhabit, from the bottom of the ocean to the top of an active volcano. How you get to that destination is completely up to you. Climb over that mountain range, or dig under it. Swim through that river, or build a bridge and walk across it. Creep through that deadly jungle, or burn it to the ground.<br />
<br />
Just don't die of dysentery. Or hunger. Or thirst. Or rockslides. Or wolves. Or exposure to the vacuum of space.<br />
<br />
That's right - if you're really looking for a challenge, how about choosing a destination on the surface of the moon? Hell, why not the surface of another planet altogether? Think you have what it takes to build a space elevator or a rocket ship? Go for it.<br />
<br />
Hey, the game is called FRONTIERS - there's no way I'd leave out the <i>final</i> frontier.<br />
<br />
That gives you an idea of the scope of the game. Now before you get too excited, understand that all this flexibility comes at a price. This is an indie title after all, and compromises are necessary, especially when it comes to graphics. But you can judge for yourself as I start posting screens and demos over the coming months.<br />
<br />
More to come...<br />
<br />
<span style="color: #b45f06;">*My wife came up with this name, by the way. You don't even want to <i>know</i> what I was going to call it.</span>Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0tag:blogger.com,1999:blog-7417755622196159285.post-29520059745002391862012-09-22T11:37:00.001-07:002012-09-22T12:05:38.599-07:00Motivation is Steam Powered, Not Solar PoweredDo you ever try to solve a small problem and end up solving a big problem along the way? I love it when that happens.<br />
<br />
About four months ago a cloud of doom fell on my project, one more potent than your typical moment of doubt. For over a week I felt this hunch that I'd never finish the game. I couldn't put my finger on <i>why</i> I felt that way, I just <i>felt</i> it, deep down in my bones, and it was sapping my will to continue.<br />
<br />
I hate sourceless anxiety, so for the next few days I paid close attention to when the feeling would strike. I found it hit me hardest when dealing with to-do lists - writing them, checking off completed items, disposing of them - basically whenever I touched the wretched things.<br />
<br />
Yeah. To-do lists. That threw me for a loop. It was like finding out that my shoes were to blame, or my stylus. They're so... benign.<br />
<br />
But like any useful tool, to-do lists have rules of operation. And it turns out I was breaking them. Oh I followed the basic rules well enough, we all know them:<br />
<br />
<ul>
<li><i>Don't list tasks unless they're specific and concrete</i></li>
<li><i>Don't list tasks you can't finish by the end of the day</i></li>
<li><i>Don't start working until your to-do list is finished</i></li>
<li><i>Don't stop working until you've finished every task</i></li>
</ul>
<br />
But there's another rule I <i>didn't</i> follow, a golden rule, and that's what summoned my cloud of doom:<br />
<br />
<ul>
<li><b>When you've finished the tasks on your list, STOP WORKING.</b></li>
</ul>
<br />
I said STOP WORKING. Pencils down.<br />
<br />
If you're like me, your first thought is 'Fuck off, you're crazy.' If you're motivated, you're supposed to keep working, right? You'd be a fool not to use that energy. Who knows if you'll feel the same way tomorrow? It's use it or lose it. For as long as I can remember, this is how I've conceptualized motivation - these days I call it solar-powered motivation. When the sun's out, keep going. Because you're SOL when it's not out, and you can't control the weather.<br />
<br />
Well, it turns out this was my big problem. And thanks to my little to-do list problem, I was lucky enough to discover that <b>motivation is steam powered, not solar powered.</b><br />
<b><br /></b>
Backing up a minute, how exactly was my doom cloud summoned? Well, how about some gratuitous visual aids to demonstrate?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-eHgeVgpmUDE/UF30JYRLFzI/AAAAAAAAAY4/FXoWLBHDI5o/s1600/Solar+Powered.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-eHgeVgpmUDE/UF30JYRLFzI/AAAAAAAAAY4/FXoWLBHDI5o/s1600/Solar+Powered.png" /></a></div>
<br />
Every night I went to sleep feeling like crap. And every morning it felt like I was waking up to a crime scene. All because I assumed it was 'wasteful' not to work when I felt motivated. This cycle chewed up any memory of what I'd accomplished during the day and left only the bitter aftertaste of what I <i>hadn't</i> accomplished while pressing forward without a to-do list. Over time that dark cloud started to infect the whole cycle.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: start;">
When I realized what was happening, I decided to try stopping after my last task. I <i>really</i> didn't like the idea of wasting my motivation, but I figured I couldn't possibly make things worse, and <i>something</i> had to change.</div>
<div class="separator" style="clear: both; text-align: start;">
<br /></div>
<div class="separator" style="clear: both; text-align: start;">
This was the result:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-oLI6jUQvqFI/UF30KM0BO5I/AAAAAAAAAZA/wGvwXZBQ8rs/s1600/Steam+Powered.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="It's full of hot air!" border="0" src="http://4.bp.blogspot.com/-oLI6jUQvqFI/UF30KM0BO5I/AAAAAAAAAZA/wGvwXZBQ8rs/s1600/Steam+Powered.png" title="Steam Powered Motivation" /></a></div>
<br />
<br />
Ah. Much better. (Result is in no way exaggerated to support my point.)<br />
<br />
The <i>expected</i> result was that I avoided going to bed in a funk. The <i>unexpected</i> result was that <b>my motivation actually built up pressure during my downtime</b>, and by the next morning I was rearing to go. Quite the opposite of use it or lose it - by letting the pressure build, I gained more momentum. Sort of like a steam engine, right?<br />
<br />
That was four months ago. So far the result hasn't varied. Every time I've slipped and worked past my to-do list, I've regretted it. In contrast, I haven't once regretted stopping while I was ahead.<br />
<br />
At this point you might be wondering why I bother with terms like steam powered and solar powered in the first place. If we're honest, the analogies are weak the artificial boundary between the two reeks of the oversimplified bullshit you find in self-help books. <i>Try the Steam Powered Motivation™method for only three easy installments of $19.95 - learn to let go of your inner solar panel.</i><br />
<br />
Never underestimate how useful a quick mantra can be when trying to break an old habit, even a silly one. Whenever I feel anxious at the thought of wasting my motivation by stopping - and I still do, every time, though it's getting easier - I need only repeat <i>steam powered, not solar powered</i> to remind myself of everything I just covered here. Sometimes the dumber part of your brain needs to literally be told what's happening before it will relax.<br />
<br />
I can't believe I got this far without mentioning steampunk. Why not close with another <a href="http://coolvibe.com/wp-content/uploads/2010/04/steampunkwallpaper.jpg" target="_blank">gratuitious visual?</a><br />
<br />
Next post: I'll actually tell you about the game I'm making. Honest.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com1tag:blogger.com,1999:blog-7417755622196159285.post-34916313698485767802012-09-19T14:44:00.001-07:002012-09-22T11:41:23.682-07:00It's Not Paranoia If You're Really Out to Get YouAs mythical curses go, Lycanthropy shouldn't rate above an inconvenience. Ask anyone with half a brain how they'd deal with it, and they'll say the same thing: on the night of the full moon, go someplace isolated and chain yourself to a wall. Voila, problem solved.<br />
<br />
Odysseus took the same approach when he encountered the sirens. He heard their call and knew he would be too weak to resist, so he ordered his men to tie him to a mast. He had the sense to treat his future self as an adversary to outwit, not an equal to bargain with.<br />
<br />
When you can predict your behavior and you know your trigger, any weakness is manageable.<br />
<br />
But first you have to admit that you're weak. Truly weak. It's harder than it sounds.<br />
<br />
I work from home - VFX work, when I'm not chipping away at my game projects. Sometimes I'll work onsite for a few weeks, but otherwise I enjoy silence, privacy and freedom. I can wake up when I want and sleep when I want. I can watch a movie after breakfast, take a nap after lunch, then eat cake for dinner. I'm not gonna lie, it's pretty cool.<br />
<br />
What do I do with all this freedom? I get up at 6 or 7 in the morning, eat breakfast, and start working. And I don't stop working until dinner (or cake), sometimes later if the job demands. It's a strict routine.<br />
<br />
I learned the hard way that if I break routine, even for a day or two, it triggers my transformation. I become the Beast. You know the Beast. He's the lazy bastard that procrastinates on the internet. The one that can't stay focused. The one that nearly got me fired because he wouldn't stop playing Minecraft long enough to submit a shot that I should have finished the day before. (True story.) The lazy bastard doesn't give a hoot about my career or my dreams. Sometimes I can't believe we're related.<br />
<br />
When I meet people who have a hard time working from home, it's usually for the same reason: they think they should be able to control their beast.<br />
<br />
Note that I didn't say they think they <i>can</i> control their beast - they <i>know</i> they can't. Most are self-aware enough to list their faults with a laugh, stuff like:<br />
<br />
<ul>
<li><i>I'm distractible</i></li>
<li><i>I have no self-discipline</i></li>
<li><i>I can't stop watching TV while I work</i></li>
<li><i>I can't stop browsing the internet while I work</i></li>
<li><i>I use friends as an excuse to avoid work</i></li>
<li><i>I can't stop eating cake for dinner</i></li>
</ul>
<br />
All problematic, sure, but they leave out the one that really counts:<br />
<br />
<ul>
<li><b>I indulge in the fantasy that a good person can always control their behavior in the moment if they try hard enough.</b></li>
</ul>
<br />
Emphasis on <b>fantasy</b>.<br />
<br />
This is why Lycanthropy is a curse to be feared and not merely an inconvenience. Some idiot always thinks they're strong enough to beat the full moon. Don't indulge in that fantasy. Save a peasant. Chain yourself up.<br />
<div>
<br /></div>
<div>
Are you distractible? Clear your working space of distractions. Are you using your friends as an excuse to avoid work? Tell them about your problem and ask them to help you stop. Are you browsing the internet? Unplug the internet. Do you need the internet for your job? Block your favorite sites.</div>
<div>
<br /></div>
<div>
Are you irritated with these suggestions yet? You should be - they're <i>horribly</i> condescending. I feel like telling myself to fuck off.</div>
<div>
<br /></div>
<div>
I will feel that irritation until the day I die, the way someone raised Catholic still fears hell long after becoming an atheist. I want to shout: <b>If it were that simple, I'd be doing it already.</b></div>
<div>
<br /></div>
<div>
What makes it so complicated?</div>
<div>
<br /></div>
<div>
I'm always tempted to say <i>'the very qualities I'm trying to compensate for,' </i>because come on, that's a <i>great</i> excuse. But it's rarely the case. I've witnessed this with my own eyes - a motivated person asks a circle of friends for solutions to these problems, and the instant someone drags out those chains, the willpower just drains out of their eyes. They were ready to do <i>anything</i> except take that critical step.</div>
<div>
<br /></div>
<div>
No. The truth is, it isn't complicated. It's painful.</div>
<div>
<br /></div>
<div>
Deep down, all the way down where you keep your most sacred beliefs about your value as a human being, you feel you shouldn't <i>have</i> to do chain yourself up. Maybe everyone <i>but</i> you, but not <i>you</i>. That's the fantasy. That deeper part of you believes using those chains admits of a weakness so profound that you could never laugh it off like you do the others. Oh, we can pretend to laugh it off - we'll joke around and say <i>'oh man, I just can't stop myself, ha ha, isn't that funny.'</i> But to truly accept that you can't stop yourself, that no matter how hard you try you really can't stop, that stings. It really does.</div>
<div>
<br /></div>
<div>
I don't know where this fantasy of self control comes from, or what makes it so raw. I have my suspicions - maybe it originated with the Cartesian concept of the perfectly revealed mind. Or maybe the Christian concepts of sin and free will. Or maybe it's more universal. Who knows.</div>
<div>
<br /></div>
<div>
Whatever the cause, we flinch when it's threatened and fall back on the dull ache that we know: the paralysis and self-loathing of holding ourselves to a literally fantastical standard. A dull ache that will throb for the rest of your life if you let it.</div>
<div>
<br /></div>
<div>
This is getting a little dark. What were we talking about? Working from home?</div>
<div>
<br /></div>
<div>
Here's my point. Rip off the fantasy like a band-aid. Yes it hurts, but you can handle it. Stop thinking of yourself as one person who can control their behavior and start thinking of yourself as two: one who can, and the lazy beast.</div>
<div>
<br /></div>
<div>
Then stop depending on the beast to do the right thing, and stop beating yourself up when he doesn't. Because he can't, <i>by definition</i>. Just like our mythical werewolf, at the point when you're most in need of self-control, you have already lost whatever qualities formally enabled you to do control yourself. If this weren't the case, you wouldn't have a problem to begin with, right?</div>
<div>
<br /></div>
<div>
Right.</div>
<div>
<br /></div>
<div>
Do this and I promise you, all those irritating 'simple' solutions will start sounding a whole lot simpler.</div>
<div>
<br /></div>
<div>
Now. Time for cake.</div>
Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com1tag:blogger.com,1999:blog-7417755622196159285.post-5784745439647369472012-09-18T21:29:00.000-07:002012-09-18T21:41:49.796-07:00Hopes and Fears - Why Bother?All the indie gaming gurus say<i> 'start a production blog, talk about your project, play the social game.'</i> But honestly, why bother? I read blogs for insight and inspiration - the kind you get from developers who craft two amazing games in the time it takes me to learn one new API. I would describe many of these people as 'genius level.'<br />
<br />
I would describe myself as 'unremarkable and occasionally competent.' Not the stuff blogs are made of, in other words. So I resisted.<br />
<br />
But then I got to thinking.<br />
<br />
For as long as I can remember, people have told me that I'm remarkably good at two things, both intimately related: <b>staying motivated & hopeful</b>, and <b>articulating my anxieties & fears.</b> And I found myself thinking, maybe I do have something to offer. Because while you may not see them listed on a CV, they're the most bountiful and universally applicable skills in my otherwise meager arsenal, and the root of every ounce of success that I can claim to enjoy.<br />
<br />
So that's what this blog is going to be about: the hopes and fears of indie game development. And my sincere hope is that someone out there - someone who isn't a genius, someone who's struggling - will find some insight and inspiration in my words, and <b>keep going</b>.<br />
<br />
Oh, and I'll be plugging the shit out of the game I'm working on.<br />
<br />
But more on that later.Railboyhttp://www.blogger.com/profile/16154438133991093558noreply@blogger.com0