tag:blogger.com,1999:blog-3577864409123801722024-03-06T01:53:44.451-05:00SOSreloadShoot Off-Screen to Reload: A Gaming BlogE McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.comBlogger98125tag:blogger.com,1999:blog-357786440912380172.post-57939078468209522682011-01-27T01:25:00.003-05:002011-01-27T01:35:26.146-05:00Name ChangeAfter getting properly scared of trademark law, I was finally convinced that Aurora is a poor choice of name for my game. Today, I changed it to <a href="http://www.emcneill.com/auralux.html">Auralux</a>, and edited everything I could to reflect the switch.<br /><br />Auralux makes some sense as a combination of Aura + Aural + Lux (light), but it doesn't sound right to my ears yet. Aurora had been the name of the project from the very very beginning, when all I had in mind was a vision of stars colliding in space. I'm loathe to give it up.<br /><br />But alas, business sense must intervene now that I'm trying to actually sell a commercial game. And besides, purely as a matter of courtesy, it isn't good to be stepping on the toes of <a href="http://www.kongregate.com/games/limbo_cow/aurora">Aurora</a> the awesome Unity game, or <a href="http://aurora2.pentarch.org/index.php">Aurora</a> the 4X game, or any of the various Aurora flash games.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com2tag:blogger.com,1999:blog-357786440912380172.post-52660242079363570822011-01-20T10:50:00.004-05:002011-01-20T11:10:24.357-05:00PressAurora has been getting coverage from all over, including on:<br /><a href="http://www.indiegames.com/blog/2011/01/aurora_released_free_for_today.html">IndieGames.com blog</a><br /><a href="http://www.destructoid.com/indie-rts-aurora-now-available-free-for-limited-time-191934.phtml">Destructoid</a><br /><a href="http://hubpages.com/hub/Aurora-RTS-PC-Game-Review?utm_source=twitterfeed&utm_medium=twitter">HubPages</a><br /><a href="http://www.gamevicio.com.br/i/noticias/66/66704-lancamento-pc-aurora/index.html">Some Brazilian Site</a><br /><a href="http://www.lunarsoft.net/news/1-frontpage/700-aurora-a-new-rts-indle-game-debuts?utm_source=twitterfeed&utm_medium=twitter">Lunarsoft</a><br /><br />Few of them are true reviews, instead focusing on the free promotion, but it's a start!E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-72349630356706255692011-01-18T00:30:00.002-05:002011-01-18T00:46:20.798-05:00LAUNCH!<a href="http://www.reddit.com/r/gaming/comments/f3vls/im_an_indie_game_author_and_today_im_releasing_my/">Aurora has been successfully launched.</a><br /><br />I'm 12 hours into my "first day free" promotional thingie, and so far 64 crazy people have paid me for a free game, which means I've already broken even on my minimal development costs! Tomorrow at noon the game starts costing $5 for everyone.<br /><br />The reddit thread was helpful in finding bugs, too. The most common one was a crash when the player didn't have Windows Media Player installed. It seems that XNA uses wmplayer.exe to play its music, which I can't package with the game easily. Luckily, installing WMP seems to solve the problem. The second most common bug is still out there, stalking my potential customers, unfortunately. A lot of people are having late-game performance problems, too.<br /><br />I implemented some of the ideas in the comments, such as a keyboard zoom function and a colorblind mode. People keep suggesting things I want to try, but I know that if I start to work on them, the game will never truly be "done". One idea that's been bouncing around in my head is to just leave Aurora in its current state and start work on a cross-compatible, higher-performance sequel. A bunch of people have already offered their help for such an endeavour.<br /><br />For the next couple days, though, I'm just going to focus on riding the momentum and making this a successful launch. Even if everything tanked from this point forward, though, I think I'd be satisfied. I didn't dare to hope it would get so much attention on reddit, or that it would make it to so many sites on the first day. I've got to be happy with that, and I am.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-47850261168627456582011-01-10T02:38:00.003-05:002011-01-10T03:25:49.067-05:00One WeekSince Aurora has been "done", I've been continually finding things to change about it. A new endgame score display, new desktop icon, minor changes to the levels, and tweaks for display and sound. It keeps getting better, bit by bit. I recently sent the beta build to a bunch of my geeky high school friends, and soon I had a pile of really good suggestions. I can't act on all of them, though. I've started fantasizing about a sequel to keep myself content. It even has a name: Borealis.<br /><br />But, as I often repeat, "works of art are never finished, only abandoned", and I fear that Aurora's time is drawing near. I've set a date: Monday, January 17th. If I miss it, I had better have a good reason. Otherwise, that is when I will release the game for real.<br /><br />The flow of good suggestions from friends and beta testers has also come with a lot of good feedback. So far everyone has spoken positively of it. I'm not getting the pitying tone of voice that I usually get with an amateur game. It's immensely heartening.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com1tag:blogger.com,1999:blog-357786440912380172.post-21554301863167933112011-01-01T23:37:00.002-05:002011-01-01T23:54:54.499-05:00"Done"Aurora is "done". All intended features and all 15 levels have been implemented. The word gets scare quotes, however, because I keep playing and finding little things to tweak. The highlights around the suns have gotten reworked. The mouse wheel zooming has been made smoother. The behavior of the stars on the menu has been tweaked (and tweaked, and tweaked).<br /><br />Every time I play I find something new that I want to change, but I don't think that's a negative. I really enjoy what I've created, and I'm satisfied more and more with every change. I don't think everyone will like what I've made, but I'm pretty confident for the first time that my game is objectively good, if such a thing exists.<br /><br />One out-of-the-ordinary major feature I added is a "speed mode", in which the suns create units four times faster and the units themselves move over ten times faster. The slow pace of Aurora was a core part of the original artistic intent, but once the fundamentals of the game have been mastered at a slow pace, that slowness turns into sluggishness and only serves as a barrier to gameplay. The speed mode gets unlocked after the player wins 10 levels, so the slow part is unavoidable. Also, the game records and reports the record victory times when speed mode is activated. It ends up adding a lot of longer-term value to the game, I think.<br /><br />I've already drafted a website for Aurora, though it undoubtedly needs work. The next step is to craft a good installer for the game (no trivial task). Then, I need to make a kickass (or, at least, not-embarrassing) trailer video to advertise the game. Then, I plan to enlist a bunch of help for beta testing. If it's installing and running well on the vast majority of systems, I launch. The current release plan is to give away the game and hope to make money later. Call it the dot-com approach.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-69995940840567734222010-12-26T22:08:00.004-05:002010-12-26T22:16:30.113-05:00Aurora LevelsThe end of development is in sight for Aurora. I'm slowly circling around it, getting closer ever so slowly, but the game is definitely getting better and better. The last big thing to do is add new levels into the game, which I'm midway through right now. The new levels are a ton of fun to balance and play. A screenshot of one of them:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOfsLuZNniliDCZqPJBS4IN4GIaUTmuA9QtFUtd0UVsrq3KWMW4JvS9tisHAaiJDa6iurGwNPkp2Yc8JdQVIpEUaqrHBkU_xJFL4TIpx3qCcggecspDdCwsm_2DWxE_18OzNoA8v2xInD4/s1600/auroranewlevel.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 271px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOfsLuZNniliDCZqPJBS4IN4GIaUTmuA9QtFUtd0UVsrq3KWMW4JvS9tisHAaiJDa6iurGwNPkp2Yc8JdQVIpEUaqrHBkU_xJFL4TIpx3qCcggecspDdCwsm_2DWxE_18OzNoA8v2xInD4/s320/auroranewlevel.jpg" alt="" id="BLOGGER_PHOTO_ID_5555195046753618306" border="0" /></a><br />I made a pile of sketches when brainstorming the new levels. I figured I'd share what the game looks like when it's rendered entirely in awful handwriting. (The level above was the "3 rings" level in the sketch below.)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjobh6ad4tnqMuMbUEvUgtVduLHoE6XpYFmdxhRI4h5L4nSfz6oPwVzlRg2GG4My0_hxCT_kaX_MB36UkLJxxHoB_QZbibqRGDVi7De2h-TJMFjudHGS0h8M84VLKlZ4IvC-uJhKidHgJCU/s1600/egamebrainstorm.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 233px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjobh6ad4tnqMuMbUEvUgtVduLHoE6XpYFmdxhRI4h5L4nSfz6oPwVzlRg2GG4My0_hxCT_kaX_MB36UkLJxxHoB_QZbibqRGDVi7De2h-TJMFjudHGS0h8M84VLKlZ4IvC-uJhKidHgJCU/s320/egamebrainstorm.jpg" alt="" id="BLOGGER_PHOTO_ID_5555195426273396786" border="0" /></a>E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-50600135860993095832010-12-07T23:24:00.002-05:002010-12-07T23:27:00.923-05:00Et Tu, Minecraft?<a href="http://www.indiepubgames.com/news/et-tu-minecraft">My second article for indiePub.</a> It got a lot of <a href="http://www.reddit.com/r/Minecraft/comments/ef3g6/what_minecraft_and_farmville_have_in_common/">attention on reddit</a> and led to <a href="http://forums.tigsource.com/index.php?topic=16185.0">some discussion</a> on the TIGSource forums.<br />------------<br /><br /><div class="contestPage_content"><p style="margin: 0pt;">If there’s two game design tactics that indies hate, they’re grinding and slot machine mechanics.</p><br /><p style="margin: 0pt;">Grinding refers to performing some time-consuming task over and over again, usually with some sort of exponentially growing reward. It takes lots of time and no skill. This is one of the things that get people <a href="http://www.designer-notes.com/?p=195">so riled up</a> about <i>Farmville</i> and its compatriots. Professor Ian Bogost <a href="http://www.bogost.com/blog/cow_clicker_1.shtml">wrote</a>, “The ire [toward social games] isn't without rationale: these challenge-free games demand little more than clicking on farms and restaurants and cities and things at regular intervals.” He mentions this by way of announcing his own game, <i>Cow Clicker</i>, which neatly skewers <i>Farmville</i> by condensing it to a single task: clicking a cow, over and over.</p><br /><p style="margin: 0pt;">The other reviled design element, the slot machine mechanic, is a blanket term for any sort of <a href="http://en.wikipedia.org/wiki/Reinforcement_schedule#Schedules_of_reinforcement">variable ratio (VR) reinforcement schedule</a>. That’s a fancy psychological term, courtesy of the great B.F. Skinner, who famously demonstrated just how addictive gambling could be through his experiments with rats in boxes. As we slowly realize that humans, too, can be made to press a lever over and over again, Professor Skinner is getting invoked increasingly often. See references to <a href="http://www.third-helix.com/blog/?p=885">“Skinnerian time- and money-sinks”</a> and <a href="http://www.sirlin.net/blog/2010/3/10/gdc-2010-the-day-before-day-1.html">“an industry that so blatantly manipulates people like rats in a Skinner box”</a>. Essentially, we’re rediscovering the power of these psychological techniques. We’re learning that we can, in fact, control minds, and it’s actually kinda scary.</p><br /><p style="margin: 0pt;">But enough about all that stuff. You know what we love? <i><a href="http://minecraft.net/">Minecraft</a></i>! Yes, <i>Minecraft</i>, the indie darling of the year. The game comes with my hearty recommendation, by the way. In <i>Minecraft</i>, you dig deep underground, mining for stone and precious metals, and then you use these materials to build whatever your heart desires. Some people build <a href="http://i.imgur.com/nZie0.jpg">ships</a>, some people build <a href="http://www.youtube.com/watch?v=7sNge0Ywz-M">working CPUs</a>. My friends and I dedicated our efforts towards a simple yet gigantic castle. The outer wall alone contains about twenty-four thousand blocks of stone, each harvested one by one.</p><br /><div class="centeredMedia" style="border: 1px solid rgb(125, 125, 125);"><img alt=" " src="http://www.indiepubgames.com/mediaLib/images/article-1minecraft-12-2-10.jpg" class="imgLimit" style="border: 0px none;" /></div><br /><p style="margin: 0pt;"><i>Minecraft</i> is the quintessential indie success story. It was built by one person, Markus Persson (AKA Notch), who became a multimillionaire just because gamers loved what he made. <i>Minecraft</i> opens up a world of exploration, adventure, and creativity. It’s no wonder that the game is so celebrated.</p><br /><p style="margin: 0pt;">Until, that is, you consider some of <i>Minecraft</i>’s core mechanics.</p><br /><p style="margin: 0pt;">The most basic verb in the game, unsurprisingly, is mining. This involves mousing over a block and holding down the button for a second or so. In return for your effort, you get a bit of some material and a nice little sound effect. Then, repeat a thousand times. It’s not a skill challenge; I could collect any number of almost any block if I just put in a little bit of effort and a huge chunk of time. Could this be... grinding? I thought we were beyond such nonsense!</p><br /><p style="margin: 0pt;">Then, consider a common experience in the game: you’re deep underground, digging a tunnel, hoping to find something valuable. And for every block you hack away, you have some small, pre-randomized chance of uncovering something valuable. Re-read that, and let the horror dawn on you: even in <i>Minecraft</i>, the messiah of indie games, there’s a slot machine hidden in the core mechanics!</p><br /><div class="centeredMedia" style="border: 1px solid rgb(125, 125, 125);"><img alt=" " src="http://www.indiepubgames.com/mediaLib/images/article-2minecraft-12-2-10.jpg" class="imgLimit" style="border: 0px none;" /></div><br /><p style="margin: 0pt;">I’ve felt its hypnotizing allure firsthand. I spend hours chipping away with a pickaxe, happy to find resources that I’ll never use and thrilled to discover ore that’s both extremely rare and *explicitly useless*. The best find is diamond, which will let me play the slot machine even faster. Awesome! And if I grind for long enough, I get to customize the game world. Sounds almost like <i>Farmville</i>!</p><br /><p style="margin: 0pt;">I’m being a little unfair here, of course. The materials in <i>Minecraft</i> are mostly a means to the end of building stuff, which takes strategy and creativity. And mining isn’t always just a time sink. There’s danger too, since you’re about as likely to unleash a horde of zombies or a gout of lava as you are to strike it rich. If we say that <i>Minecraft</i>’s fun comes from mining, building, exploring, and fighting, three out of four parts are immune to my critique. But there's undeniably some aspects of grinding and gambling, and I find it fascinating that a game that I so love can contain design techniques that I so loathe. I’m left wondering: what would happen if we removed the time sinks and the slot machines? Could <i>Minecraft</i> be made pure?</p><br /><p style="margin: 0pt;">We can already get a taste of that with the game’s Creative mode, in which the player gets an infinite pile of every resource and is set loose to build whatever he or she wants. There’s no need to spend time digging, so you escape the need to gamble for the good stuff. And people have fun with Creative mode! But not as much fun, usually. I played primarily in the default mode. My castle is a pretty significant piece of work (or at least a ridiculous time investment), built from tens of thousands of blocks lovingly collected one by one. Any idiot could build that castle on Creative mode, I snort derisively, but it takes an especially *dedicated* idiot to build it under default settings. And for some reason, the fact that I spent (read: wasted) so much time on that castle makes it more special to me.</p><br /><p style="margin: 0pt;">And realizing that makes me scream. Why??? Why is it that I get more satisfaction out of knowing that I needlessly spent more time on my buildings? If it’s all just grinding, why does anyone feel good about their giant castle or their extravagant farm or their level 80 character?</p><br /><p style="margin: 0pt;">I see two possible answers, and they both scare me to death.</p><br /><p style="margin: 0pt;">First, we could say that the satisfaction I get from having spent more time on my castle is perfectly justified. Not every task in life is fulfilling, and there’s virtue in hard work, even when it tends toward drudgery. By grinding, I'm proving my ability to commit to a goal. In this case, someone who wants the biggest farm in <i>Farmville</i> ought to take real pride in their dedication, even if it meant spending huge amounts of time and money to reach a wholly virtual objective.</p><br /><p style="margin: 0pt;">Second, we could say that I’m being tricked by a brain hack, and I’m ultimately the prey of some sinister Skinnerian psychology. In this case, if I ever take pride in a game, it shouldn't be for the time I put into it, since that didn't prove anything real. The only true rewards are those that correlate to skill or strategy, i.e. those that act as some actual indicator of creativity or mental acumen. The reward should be intrinsic to the gameplay. I should be proud of what I did, and not just of how long I took to do it.</p><br /><p style="margin: 0pt;">Now we've dug deep enough to reach the really valuable questions. Can there be true meaning in gaming, or is it “just for fun”? Where does the meaning come from? What do hardcore gamers get out of their hobby that slots players don't? Does <i>Farmville</i> require “dedication”? Is this dedication something we should value?</p><br /><p style="margin: 0pt;">Depending on the answers, we'll end up in one of two places. In one case, accomplishments in <i>Farmville</i> are legitimately worthy of pride, and we indies need to shut the hell up. In the other case, <i>Minecraft</i> is flawed, and we indies need to recognize and criticize the faults in the game we love. Heads they win, tails we lose.</p><br /><p style="margin: 0pt;">What do you choose?</p> </div>E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com1tag:blogger.com,1999:blog-357786440912380172.post-83895078472022490682010-11-23T13:19:00.002-05:002010-11-23T13:25:13.624-05:00What Is Indie?This was my first article for indiePub games, a new indie-focused site from Zoo Entertainment, a publisher. It was <a href="http://www.indiepubgames.com/news/what-is-indie">posted there</a> about a month ago, but since my agreement with them allows me to post it on my blog, I figure it's probably best to put it here too.<br />------------<br /><br />So… This might not be the best place to admit it, but I’m not really sure what “indie” games are. I’ve done quite a bit of “student” game development. I’ve been making games as a “hobbyist” for a while. I’ve seen a lot of self-published games, too, mostly in the casual space. But I don’t really know how to define the “indie” scene. I’m not sure I’m even allowed to call it a “scene”. Maybe that’s too hipsteresque or something. I wouldn’t know.<br /><br />At first I thought that “indie” just meant that the game was developed independent of a publisher. It wasn’t long ago that any mention of the dreaded publishers elicited snarls and gnashing of teeth. My opinion on the matter was pretty much entirely shaped by an excellent 2005 <a href="http://www.escapistmagazine.com/articles/view/issues/issue_8/50-Death-to-the-Games-Industry-Part-I">article</a> by Greg Costikyan (founder of the commendable but ill-fated Manifesto Games) that revealed the evils of publishers and retailers for all to see. They’ll never fund you unless you’re making derivative schlock! Then, if they do fund you, they’ll take your IP! And then they’ll force you to alter your game until you don’t even recognize it anymore! Suffer not a publisher to live.<br /><br />But then I kept having these weird encounters where I would find <i>World of Goo</i> on a retail shelf, <i>Braid</i> on XBLA, or <i>Everyday Shooter</i> on Steam. Aren’t these guys now, ah… dependent on Nintendo, Microsoft, and Valve? Sure, it was just distribution, but there were also privately-owned AAA development studios that only used publishers for distribution and marketing, and nobody called them “indie” as far as I could tell. Branden Sheffield already <a href="http://www.gamasutra.com/view/feature/4213/pondering_indie_spirit_derek_yu_.php">made this point</a> more articulately than I: “Indeed, where is the line drawn? When you're partnering with Microsoft for the release of your game, how independent are you? More or less independent than the guys who just put out games free and don't worry about commercial success? Does it matter?”<br /><br />So if indie doesn’t mean independent, what does it mean? My other sources, aside from the word itself, are the presentations, forum posts, and blogs of the indie developers themselves. Defining the term turns out to be a lot easier if you just jettison the etymology and start listing the traits of the prototypical indie developer. Indies are small and agile, unlike AAA studios. They’re informal, unlike our corporate nemeses. They help each other out with feedback and encouragement. Indies are creative, have vision, and don’t let outside forces spoil their art.<br /><br />There’s a spirit of community and artistic integrity that quickly starts coming through. It wasn’t immediately apparent when I was trying to understand “indie” as a business strategy, but it becomes clearer and clearer as I listen to indie devs talk to each other and talk to their fans as they craft their next masterpiece. There’s something deeply inspiring about this nascent indie spirit. David Sirlin <a href="http://www.sirlin.net/blog/2010/3/10/gdc-2010-the-day-before-day-1.html">wrote</a> about entering the indie game summit at GDC: “As soon as I walked in, everything changed. Everything was different here, the vibe, the people, the energy. This is the kind of thing I can't communicate to you [in] words… People help each other, they collaborate, they are rooting for each other to succeed. I really have to tell you, this is not made-up hippie bullshit.”<br /><br />And I also keep picking up this vibe that indie games are finally coming into their own. Five years ago, Costikyan claimed that “in gaming, we have no indie aesthetic, no group of people (of any size at least) who prize independent vision and creativity over production values,” and that “astonishing, first-rate, unconventional titles like <i>Darwinia</i> or <i>Rag Doll Kung Fu</i> exist - but not enough of them.” Five years ago, the availability of indie games and the audience for indie games were disheartening and small. Now, indie games command attention. People are excited about them. I can’t go about my daily internet life without stumbling across someone frothing at the mouth with praise for <i>Spelunky</i> or <i>Minecraft</i> or <i>Dwarf Fortress</i>. Fun, focused games like <i>Gratuitous Space Battles</i> or <i>AaAaAA!!! - A Reckless Disregard for Gravity</i> keep showing up and intriguing the hell out of me. I enjoy a blockbuster as much as anybody, but there’s an energy associated with the indie games scene, and I can’t get enough.<br /><br />So now I find myself ready to dive in headfirst, and I feel like there’s a whole community of like-minded developers implicitly cheering me on, just as I cheer them. “These guys,” wrote Sirlin. “These crazy, passionate guys. It's like they all have the same kind of blood flowing through them, and I have it too.” I like these crazy guys. I think they’ve got the right idea. And if that makes me crazy too, well… I think that’s worth it. These crazy guys seem to be having the most fun.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-59505291622490859742010-11-23T13:11:00.003-05:002010-11-23T13:17:22.906-05:00Imagine Cup 2011This was a bad term to enter the Imagine Cup, considering the schedules of the team members. Just getting the game up and running required an exhausting sprint, but I'm happy to say that a demo of the game was, in the end, produced. Ladies and gentlement, may I present <span style="font-style: italic;">Plasmodium</span>:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN79cVwSpgiZrwnkMkdHKVigD8ulXVUAA0L_sOlApcMbYmJZdXCul3OGMl0U_r6cFILTuSp8aqC9Bo9EaY0cJZQ6crLggDdM1ibm88qpYvZPyksNcbf06EM6kIHaRhQEhISS91Mzd0wryo/s1600/Plasmodium+2010-11-23+13-10-50-89.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 180px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN79cVwSpgiZrwnkMkdHKVigD8ulXVUAA0L_sOlApcMbYmJZdXCul3OGMl0U_r6cFILTuSp8aqC9Bo9EaY0cJZQ6crLggDdM1ibm88qpYvZPyksNcbf06EM6kIHaRhQEhISS91Mzd0wryo/s320/Plasmodium+2010-11-23+13-10-50-89.png" alt="" id="BLOGGER_PHOTO_ID_5542810027878760514" border="0" /></a><br />As you can see, it's in a pretty basic state, though. The UI theme is simplistic and in some ways just shoddy. A new player doesn't get enough feedback to understand the game, and our most complicated graphics are pieces of public-domain clip art.<br /><br />Still, the game is starting to play pretty well. That was the goal of prototyping, and that's the most important part of the game, after all. Right now it looks likely that the team will start up work again next term, when we all should have a little bit more availability. We'll try to do a lot of iteration, include some more (and smarter) educational aspects, and end up with a much more fun and much prettier game for our spring submission.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-62614667341064876852010-10-21T23:05:00.003-04:002010-10-21T23:20:26.197-04:00It Works!Near the end of my last post I speculated about some changes that might bring performance in Aurora to where it ought to be. Well, I made the changes, and they worked. Performance is as zippy as ever, and I'm happy with where it is.<br /><br />I also got some custom sounds that I contracted out. It was my first time paying for an asset, so I was a little apprehensive, but it worked out nicely. I made some modifications to the sounds on my own, and not all of them fit quite as well as I'd like, but I'm satisfied. I started experimenting with dynamic pitch adjustments (which XNA helpfully provides), and the results have been quite good so far.<br /><br />On a more unfortunate note, I have to delay my schedule for Aurora. I signed up to compete in the <a href="http://www.imaginecup.us/competitions/GameDesign/index.aspx">US-specific Imagine Cup</a> competition in the Fall term. It's going to consume my next month entirely, and I have a team this time around (hooray!), so I have serious obligations to fulfill. I'll put together yet another beta version of Aurora in it current state to submit to the IGF Student Showcase and save the full release for later.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-81553508947329236252010-10-10T17:25:00.005-04:002010-10-10T19:06:33.220-04:00Upgrading (?)I've made three questionable upgrades to Aurora since my last blog post.<br /><br />The first upgrade was to move the entire project to XNA 4.0 and .NET 4.0. I just bought and installed a new desktop computer running Windows 7. Naturally, I installed the latest Visual Studio (2010). Naturally, it only integrates with the latest version of XNA. Naturally, the latest version of XNA <a href="http://blogs.msdn.com/b/shawnhar/archive/2010/03/16/breaking-changes-in-xna-game-studio-4-0.aspx">breaks</a> a bunch of old code. It's all for the best, I'm sure, but I spent the first few hours of development on my new machine just trying to get the game running and get the newly premultiplied alpha values to work like the old system did.<br /><br />The second upgrade was to start using LinkedLists instead of regular array-based Lists. There was absolutely no reason that two different cheap operations (adding an element to a List and making a new empty List) would ever consume 40% of my CPU time when equally frequent, more intensive calculations (like distances) took 2%. But one of my roommates suggested that maybe the allocation of new Lists and resizing of Lists during the Add functions could be triggering the automated garbage collection. And since I was constantly allocating and deleting small bits of data, that could add a ton of overhead. Using LinkedLists and just moving nodes around should be much cheaper.<br /><br />The problem came when I implemented this in such a way that my units were no longer aggressively culling their list of enemies that they were "locked on" to. (Units lock on at 100 pixels and then speed towards their targets until a real collision occurs at 10.) So on every frame they would lock on to the same enemies over and over, speeding towards them at an accelerating rate, totally ruining the smooth, flowing feel I liked so much. The best solution to this will probably involve making a Dictionary of locked-on-units with keys based on some unique ID for each unit in the game.<br /><br />The third upgrade was to move to a grid system of collision detection, as was <a href="https://www.blogger.com/comment.g?blogID=357786440912380172&postID=1776375055606892687">suggested</a> by my girlfriend Stephanie after my last blog post. I had considered this system before, but threw the idea away due to imagined complications. Since then, Stephanie and my roommates (better programmers than me) have convinced me that the grid system is superior. My collision detection problem is always going to be fundamentally an O(n^2) problem at close distances, but my solution was ultimately O(n^2) at <span style="font-style: italic;">all </span>distances (albeit with some aggressive optimizations). The grid system is O(1) at great distances.<br /><br />Naturally, the first implementation of this <span style="font-style: italic;">destroyed </span>the game's performance. Naturally, that was caused by my mistakes in the implementation.<br /><br />My best guess right now is that the problem lies in the way the grid stores units. It currently keeps one LinkedList for all units in each square. When a square has 4000 units of the same team all together (as the stress test starts), each unit checks each other unit to see if it friendly, then does nothing. Doing nothing is cheap, but just checking 4000^2 times every frame might be enough to bring the game to a crawl. It looks like I'll have to set up an array of LinkedLists (ugh) so that each faction can weed out friendly units in one step.<br /><br />I'm really hoping that these changes will boost performance to its practical best, so that at the very least I shift the bottleneck to the graphics card on most systems. I'm working with a new profiler and an improved system, so it's hard to compare these results to what I had before, but I'm a little worried about the profiling tests I've done already. Running the game at 1fps on a stress test, the profiler reported only a little over half of the time being spent directly in my collision detection sections. Even if that were reduced to zero, wouldn't that only double the current performance? Will that be enough?<br /><br />In any case, I'll keep working on it, and hopefully I'll be able to add the new levels in time for an early November release. I've got plenty of possible resources and plenty of intelligent people to lean on, so I've got no excuses for failure.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-17763750556068926872010-10-03T00:45:00.011-04:002010-10-03T17:22:06.362-04:00Profiling AwayI'm continuing to make good progress, although I took a break from my TODO list to pull out <a href="http://code.google.com/p/nprof/">NProf</a> again and do some performance work. Performance has improved ten times over since the first version of Aurora, but it still chugs a bit when there are a lot of units on the screen. I <span style="font-style: italic;">like</span> having a lot of units on the screen, so I wanted to see if there was anything I could do to fix this.<br /><br />I changed some initialization settings in the code so that there would be over 3000 units for each player on screen. I thought before that performance was being limited by the sprite drawing, which can't really be helped at this point. To my surprise, though, the stress test showed 80% of computation time being spent outside the Draw function, and over 65% being spend doing proximity detection for the game's units.<br /><br />Now, I knew when starting this project that my proximity detection would be the most difficult part to program efficiently. I've got three factions, each with thousands of units, with each unit floating freely on a plane, and each of which needs to know when it is within a short radius of any other. That's n^2 right off the bat, and that's bad.<br /><br />My algorithm so far has been for each unit to keep a list of all other units along with the next possible frame that that enemy unit might collide with it. When that frame comes, the unit calculates the distance, checks for a collision, and recalculates the next possible frame of collision. That way, units that are far away are checking for collision with each other only every thousand frames or so, while units nearby are checking every frame.<br /><br />That worked pretty well, but it's still stressing the game at high unit counts, and all the work with dictionaries and lists is holding back performance. The specific problem is that<br />For every unit:<br /> For every enemy unit:<br /> I have to check for collision and if there is none,<br /> I find the next frame to check and look up to see if that frame is already accounted for, and<br /> Either make a brand new list of enemy units for that upcoming frame, or else<br /> Retrieve the existing list and add this enemy unit<br /><br />Profiling reveals that during the stress test the game spent over 25% of its time on the one line of code that corresponds to the last line above. A further 15% was spent on the second-to-last line above. A further 10% on the third-to-last line above. I'm spending a half of my stress test CPU time on an if-else statement that shows up as four lines of code in my game. If I can streamline that process, I might be able to knock out yet another bottleneck. And I think I can do just that.<br /><br />I think part of the problem right now is that A) there are so many possible upcoming frames to check for (when we decide whether to make a new list of enemies to check or to add to it), and B) when a group of, say, 100 enemy stars clump together on a single frame-to-be-checked, the game retrieves that frame's list, adds a single star, and puts it back 100 times rather than collecting them all first.<br /><br />One way that has occurred to me to get around this is to use the current algorithm for all units within, say, 100 frames, but beyond that to check enemy units only on 100-frame increments, up to a certain known limit. That way I can create a few relevant lists and add them to the dictionary all at once, and the places where I can add them are already known. It would require more actual distance checks, but it would allow much easier look-up and it would make recording the checks much easier.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com2tag:blogger.com,1999:blog-357786440912380172.post-47245445668052845422010-09-24T23:55:00.002-04:002010-09-25T00:04:06.304-04:00New Upgrade SystemOne of the most important and most common suggestions that came out of the <a href="http://forums.tigsource.com/index.php?topic=14576.0">TIGSource Aurora feedback thread</a> was that I make some suns more valuable than others. Some suggested defensive bonuses or special terrain for this purpose, but I decided to go with the most direct route I could.<br /><br />So there's now a new system for upgrading suns. Each sun/seed has a maximum power, and players can upgrade up to that level. So some suns are level one and are limited to that. Others can go up to level three, making them high-cost and high-value bases. Also, the double-power stars have been removed. I think they ultimately confused things, and their original purpose (performance boosting) isn't so critical anymore. So now double-power suns just produce two stars at a time.<br /><br />The new upgrade system called for a new way of displaying the different potential levels. I scaled up the suns when they got upgraded, and I put faded rings around suns to indicate when they could be upgraded further. I'm not entirely satisfied with that interface yet, but here's a screenshot of some new upgraded suns:<br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhk7Xe0M0LIK17-4-Jb2ny7Ooke9sH52zUtvEmNUA28BdYvpXLFxDmK0_8RgmvhOTr0cuCyw4ZA6iDgl3DBKwUvzBFjl-VXLavv_ET2AMNkwqwCsRr_N4PyIkFEemNrlJ8And6z310qsDp/s1600/123.PNG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhk7Xe0M0LIK17-4-Jb2ny7Ooke9sH52zUtvEmNUA28BdYvpXLFxDmK0_8RgmvhOTr0cuCyw4ZA6iDgl3DBKwUvzBFjl-VXLavv_ET2AMNkwqwCsRr_N4PyIkFEemNrlJ8And6z310qsDp/s320/123.PNG" alt="" id="BLOGGER_PHOTO_ID_5520696971033750018" border="0" /></a>E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-18343929268875490472010-09-23T20:39:00.002-04:002010-09-23T20:50:35.208-04:00Development ResumedHaving finished my term of employment at Bethesda, gone back to school, and regained access to my desktop computer, I've started working on Aurora once again. The only hitch is that I'm set up for a terribly difficult term, and the list of things to do in Aurora has grown steadily over the summer. Lots of new suggestions and feedback needs to be taken into account.<br /><br />The goal now is to have it done by the end of October so that I can submit it in the IGF Student Showcase. It's my last chance!E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-85294436018027593812010-07-24T22:26:00.002-04:002010-07-24T22:30:38.641-04:00Getting ReadyNow that I've got a real job that both takes up most of my time and legally forbids me from working on a side-project-for-profit, things are pretty slow at home. But! One thing I can do to get ready for eventually publishing my game is getting my personal website up to speed.<br /><br />emcneill.com is a small, simple thing, but it serves me well and I love it all the more for its simplicity. After reading Wolfire Games's <a href="http://blog.wolfire.com/2009/03/google-app-engine-for-indie-developers/">recommendation</a> of Google App Engine, I decided to take a peek. Since my site is all static content, it's incredibly easy to get it running on the vastly overpowered GAE.<br /><br />There was one problem: GAE has a hard limit of 10MB for any file it serves, so I couldn't host Aurora or Alternex or Meridian on there. So, I turned elsewhere in the cloud and found Amazon's S3 (Simple Storage Service), which is made for precisely such things. So now I'm paying cents per gigabyte for reliable, scalable, no-hassle hosting!E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-23104526884069094742010-05-30T01:53:00.002-04:002010-05-30T02:34:05.588-04:00The Wild World of PublishingWhen I submitted Aurora to <a href="http://www.reddit.com/r/gaming/comments/c1afp/hi_reddit_im_a_student_and_i_just_made_a_game/">reddit</a>, I got several responses suggesting that I publish the game on Steam. Then I got some good feedback from my friends when they were beta testing the game. Yesterday was the seasonal open house for <a href="http://tiltfactor.org">Tiltfactor</a> (where I'm now a Fellow, by the way) and I put Aurora on one of the computers; people were playing it for the entire two hours, getting sucked in the whole while. One of my old professors played for an hour straight.<br /><br />The upshot of all this is that I'm feeling pretty positive about the prospect of actually trying to sell Aurora. Like, for money. That would be a big first for me. And though I don't stand to make a ton of money, if I found any success at all it would force me to start thinking of myself as a professional game designer rather than just another wannabe.<br /><br />I've started to lurk in the <a href="http://forums.indiegamer.com/">Indiegamer Developer forums</a>, learning about what it takes to host a decent site, get the word out, set up payment processing, and all the other trivia one must know in order to actually self-publish a game. I can't work on it or sell it while I'm at Bethesda, but before I start work there, I want to set myself up to get started as quickly as possible. I'd love to see someone review the game, and getting it on Steam (maybe, eventually) would be absolutely awesome.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-32182420996731106542010-05-19T20:45:00.004-04:002010-05-23T15:44:49.700-04:00Literati: An ARGAnother product of my Values at Play game design class. The assignment was "an ARG for literacy". This is the game brief I turned in:<br /><br /><b>Literati</b><br /><br /><p></p><p style="margin-bottom: 0in;"><b>Introduction</b></p> <p style="margin-bottom: 0in;"> Literati is an ARG designed to help foster interest in high-level literature in high school students.</p> <p style="margin-bottom: 0in;"> The game engages its players through a series of mysterious clues, with answers found in works of literature. By asking players to search for deeper meaning in these works, Literati serves to boost a student's nascent interest in literary analysis.</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in;"></p><p style="margin-bottom: 0in;"><b>The Game</b></p> <p style="margin-bottom: 0in;"> Literati begins with an anonymous email to the targeted students that introduces the in-character game masters, who imply that the game is a test of skill for inclusion into a secret and powerful association called the Literati, and includes the starting clue for the players. Players that respond correctly will be directed to a web forum at which they can collaborate on future clues, which are delivered upon satisfactory answering of previous clues.</p> <p style="margin-bottom: 0in;"> Early clues are designed to be approachable from multiple angles due to their vagueness. An example starting clue might be:</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-left: 1in; margin-bottom: 0in;">Sounds. Economy. Visitors. Spring. Reading. Higher Laws.<br />These have something in common. Read the fifth among them. You're welcome to work with others on this task, but this is not a thing you can find unless you're alone.<br />Then tell me: How close is my nearest neighbor? What is my panacea? And what do all men fear, despite candles and Christianity?<br /></p><p style="margin-left: 1in; margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in;"> The clue points to a chapter in Henry David Thoreau's <i>Walden</i>, and the questions are answered by quotes from the fifth chapter. Later clues ask players to engage in analysis or deep engagement with a text. An example of such a later clue might be:</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-left: 1in; margin-bottom: 0in;">Follow the white whale to the pitiable scrivener I spoke of before. Then tell me: what caused his death?<br /></p><p style="margin-left: 1in; margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> This clue points towards Herman Melville's short story “Bartleby, the Scrivener: a Story of Wall Street”. It asks a specific question about a deliberately ambiguous element of the story. To proceed, players must collaborate and respond with a meaningful analysis. If judged by the game master (probably the students' teachers) to be sufficiently thoughtful, the clue is considered “solved” and the next clue is given, although even in this success scenario the game master may choose to challenge the analysis given by the players.</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in;"><b>Why It's Fun</b></p> <p style="margin-bottom: 0in;"> This game hides its nature as an academic exercise, instead adopting exciting conspiratorial tones. By doing this, the game can move past students' biases against academic tasks and tap into the traditional fun of its elements of riddle and mystery.</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in;"><b>How it Educates</b></p> <p style="margin-bottom: 0in;"> The fundamental appeal of Literati is the same fundamental appeal of riddles, treasure hunts, and whodunit mysteries. The game hints at a hidden meaning in the world around us and invites players to find it.</p> <p style="margin-bottom: 0in;"> The educational “trick” of the game is in its subtle transition from simple clues and riddles (like tracking down a passage and finding relevant quotes) to actual analysis of literature. The game implies that there are messages purposefully hidden and encoded in the texts for the players to find. When players dig through the texts to find these hidden messages, they will instead find the natural layers of interpretation and meaning that are a part of any rich text. “Solving” a piece of literature in the game (a fun task in the context of an ARG) is revealed to be the same thing as reading and analyzing it. Literati can thereby show students the appeal of literature from the point of view of the students themselves.</p><p style="margin-bottom: 0in;"><br /></p> <p style="margin-bottom: 0in;"><b>Problems and Challenges</b></p> <p style="margin-bottom: 0in;"> The aforementioned “trick” of Literati may also be considered its biggest liability. The game's educational strategy is one of baiting the player with riddles and hidden meaning and switching to regular literary analysis and interpretation. If successful, this could create an impression in the player's mind that all literature exists to be “solved”. Texts might not be trusted at face value, and students might go on to try to find contrived alternative explanations for their own sake. That is, Literati attempts to turn the interpretation of literature into a game, and whether or not that is an admirable goal is debatable.</p>E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-16376057900040392902010-05-19T20:28:00.003-04:002010-05-19T20:39:25.917-04:00Freedom at lastAurora was originally inspired by Dyson (now <a href="http://www.eufloria-game.com/">Eufloria</a>), but I wanted to make a game in which the player didn't feel constrained to narrow paths and specified points of conflict. Unfortunately, defined paths are a pretty key part of terrain (and, therefore, strategy). I tried to compromise by offering free movement within a certain radius of any player-owned base, but set out the bases such that progression through a level had to follow certain paths.<br /><br />I recently submitted Aurora to reddit.com for comments. <a href="http://www.reddit.com/r/gaming/comments/c1afp/hi_reddit_im_a_student_and_i_just_made_a_game/">The responses</a> I got ranged from utterly unimpressed to highly supportive. More importantly, there were a lot of good suggestions, one of which was to remove the radius movement limitation. After some experimentation, it's become clear that tethering players to their bases is really unnecessary. The gameplay and AI are advanced enough that skipping over bases during an attack is no longer game-breaking, but instead just an interesting gambit.<br /><br />So, by commenting out a bunch of code (and improving performance as a bonus), the game actually becomes more fun and closer to the original vision! How often does it all come together like that?E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-46519677142431792012010-04-28T00:26:00.003-04:002010-04-28T00:29:10.521-04:00MalariaThe first assignment in our Values at Play game design class was to design a card game that would educate about malaria prevention. My game:<br /><br /><br /><span style="font-size:180%;"><b>Malaria</b></span><br /><br />Malaria is a cooperative game for 5 players, who must use nets, medications, and insecticides to stave off the threat of malaria in their village.<br /><br /><br /><b>Setup</b><br /><br />There are three decks of cards: the Defense deck, the Mosquito deck, and the Identity deck.<br /><ol><li>Shuffle each deck separately.</li><li>Deal one Identity card to each player</li><li>Deal three Defense cards to each player</li></ol><br /><b>Procedures</b><br /><br />Malaria alternates between two phases, Day and Night, until the game is won or lost.<br /><br /><b>Day</b>:<br /><ol><li>Each player draws a card from the Defense deck.</li><li>Players may exchange cards freely.</li><li>Players may play any number of Defense cards to protect themselves from mosquitoes.</li></ol><br /><b>Night</b>:<br /><ol><li>Each player draws a Mosquito card.</li><li>If the Mosquito card shows more mosquitoes than the player is protected against, that player must keep the Mosquito card, bringing them closer to death.</li><li>All other Mosquito cards and all played one-time-use Defense cards should be placed at the bottom of their respective decks.</li></ol><br /><b>Defense Cards</b><br /><br />The Defense deck is composed of the following cards:<br /><ul><li>Quinine: Protects against one mosquito. Must be discarded at the end of the Night.</li><li>Medication: Protects against two mosquitoes. Must be discarded at the end of the Night.</li><li>Bed Net: Protects against one mosquito. Does not have to be discarded. Only one Bed Net can be used per player in any round. Extra Bed Nets are wasted. Can be upgraded with Insecticide.</li><li>Insecticide: A player can place an Insecticide card on a Bed Net card to permanently extend the Net's protection to two mosquitoes per round.</li></ul><br /><b>Winning and Losing</b><br /><br />Collecting 10 Insecticide cards (not including those attached to Bed Nets) means that the village can spray their houses with insecticide and kill the mosquitoes. All players win the game.<br /><br />If any player collects the number of Mosquito cards indicated on their Identity card, then that player dies, and all players lose.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-32506190831952378602010-04-19T03:10:00.003-04:002010-04-19T03:17:43.733-04:00Aurora UpdateMenus are working, including cool special effects. Three unique and interesting levels are in place. Basic systems work and are fun.<br /><br />More importantly, the performance of the game just got better by a factor of LOTS. At first, having hundreds of units floating around freely and constantly checking for collisions was just too much to handle. I was able to make that problem go away most of the time with a more efficient algorithm, but the problem was still very much apparent when large groups got close to each other (i.e. a battle). The game would stutter, go down to a couple frames-per-second, and recover as soon as most of the units disappeared.<br /><br />I finally pulled out the adult dev tools. I downloaded and used NProf, a .NET profiler. It records how much time is spent in the different functions of the game. I discovered that 80% of my difficulties were coming from a single function. It involved a lot of checking lists for members. I figured out that I could greatly trim the amount of checking performed, did so, and figured out a bunch of other performance hacks along the way. Performance still dips during a battle, but down to a still-playable rate. I doubt anyone will mind, now. Victory!<br /><br />Still left to complete:<br />- Endgame conditions and an end-of-game finale effect<br />- Improve visuals and effects for building / destruction events<br />- Retool all my sound effects<br />- Tweak the soundtrack songs to make sure they're perfectly aligned with the game beat<br />- Polish<br />- Package<br />- Ship<br /><br />The end is in sight. I'm feeling awfully optimistic about this.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-3994353922968368152010-03-31T22:25:00.003-04:002010-03-31T22:39:42.148-04:00Aurora MusicI did a lot of experimenting with the Aurora music system, hoping to essentially build a soundtrack out of sound effects. I could make it context-sensitive and everything! But, alas, I don't have the musical knowledge to do it right. There's a lot of potential there, but nothing sounded quite good enough to work. I also had several technical issues that put everything painfully off-sync.<br /><br />Still, I didn't want to abandon the idea entirely. I found an album of free music called <a href="http://www.jamendo.com/en/album/47824">Rooftop 120 </a>that was filled with great ambient tracks, all at 120 beats per minute. I can set the rhythm of events in the game to the same speed, keep my musical sound effects, and use this excellent music as background. It sounds pretty awesome, and I don't think I can do better by building it piecemeal.<br /><br />I'm now working on smoothing out the AI and adding maps, and then it's time to start building menus and completing the outer structure of the game.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-26483727167691229972010-03-29T13:15:00.001-04:002010-03-29T13:16:59.134-04:00Values at PlayThis term I'm taking my second game design course from Professor Mary Flanagan. This one is subtitled "Values at Play", with a focus on encoding values in gameplay.<br /><br />Last year's game design class required one game per week. I'm guessing that this year will be similar. I'll post descriptions of my games here.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-57017711494626536112010-03-02T02:18:00.006-05:002010-03-02T03:24:07.983-05:00Aurora Thoughts<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW6hc6Y4I5c9ccBlJCBBJYign1TggAIWLlMoEWWq_5fgM1Bs0fECNZlsFTwsmNrSEbfwn-xg2vJIj9bR23Co2hyphenhyphenlA3Ib1ZP-yiBJtKqTFEMVXQvgkXhxTCfKjUt4fSLsVe_CSc2z5VD7Ww/s1600-h/ssaurora.PNG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW6hc6Y4I5c9ccBlJCBBJYign1TggAIWLlMoEWWq_5fgM1Bs0fECNZlsFTwsmNrSEbfwn-xg2vJIj9bR23Co2hyphenhyphenlA3Ib1ZP-yiBJtKqTFEMVXQvgkXhxTCfKjUt4fSLsVe_CSc2z5VD7Ww/s320/ssaurora.PNG" alt="" id="BLOGGER_PHOTO_ID_5443938698201018818" border="0" /></a><br />I'm making progress on Aurora. Recently I've been mostly focusing on experimenting with the UI and making the music system work (more on that later), but I'm also putting thought into the core gameplay structure. To remind you, the basic idea is that there are buildings and troops. Buildings produce troops at a constant rate. Troops can annihilate themselves against enemy troops, enemy buildings, or friendly buildings (to upgrade). Buildings can be upgraded once, doubling their production rate. It costs 100 troops to build, upgrade, or destroy a building.<br /><br />In trying to create a pared-down RTS, I may have broken the genre. By removing most elements of luck and putting players on an even field, the game tends towards a stalemate. Most of the strategy involved right now involves trying to slowly-but-surely gain numerical advantage over the enemy. There are a few ways of doing this:<br /><br /><ul><li>Upgrade your stars before they do and have a higher production rate until they catch up.</li><li>Let the enemy annihilate troops against your buildings, but not so many that your buildings die (so they are essentially wasted).</li><li>Focus fire on an enemy building and gain a production advantage until they send reinforcements and recolonize it.</li><li>Destroy an upgraded enemy building (you spend 100 destroying something that took 200 to fully build).</li><li>Let the two enemies waste their forces against each other and build up strength from afar.</li></ul>In the current setup in which each of three players has an outer building and an inner building (all three of which meet in the middle) in a symmetric formation, it's almost impossible to gain enough of an advantage to win. Usually you have to use the last strategy I listed: pull back, lose your outer building, and gather enough forces at the inner building (while your enemies engage in a stalemate battle) to eventually sweep over the map.<br /><br />That takes too long, and it's too passive to be consistently fun. I'm led to believe that RTSs are mostly defined by the imbalances, asymmetry, and chaos they introduce. Rock-Paper-Scissors combat mechanics, asymmetric factions, and interesting maps are examples of this. I was trying to distill the RTS down to something simple, symmetric, and direct, like Chess, but the "essential" rules to which I am committed don't offer the complexity that's required to make that scenario interesting.<br /><br />This leaves me with three options.<br /><br />First, I can add larger, more complex, and maybe more asymmetric maps. Just the possibility of having multiple fronts of battle might be enough to solve my conundrum. I plan to try this first.<br /><br />Second, I can cave in and change my basic mechanics, thereby admitting defeat in my design experiment, and make it into something different. Multiple building types, multiple troop types, flanking effects, etc. I'll add complexity until I force strategy.<br /><br />Third, I can report the results of my failed experiment like a good scientist. If it's still unfun (but also still an honest attempt at an essentialized RTS), I can release it as-is and show it off in order to teach others the lessons I learned during its design. Principled and uncompromising, but maybe unsatisfying as well.<br /><br />For now, I'm hoping that the first option will be enough.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com1tag:blogger.com,1999:blog-357786440912380172.post-32900876821936085302010-02-27T20:18:00.002-05:002010-02-27T20:29:51.658-05:00Lessons of D&DIt went well. A summary of the adventure is on the campaign's blog record: <a href="http://tyrellcampaign.blogspot.com/2010/02/first-day.html">Part One</a>, <a href="http://tyrellcampaign.blogspot.com/2010/02/second-day.html">Part Two</a>, <a href="http://tyrellcampaign.blogspot.com/2010/02/third-day.html">Part Three</a>.<br /><br />Of course, it could have gone better. The biggest challenge to running a long weekend game was the difficulty of improvisation in DMing. I had only certain encounters prepared (most of which turned out to be too easy), so I had to put the story on rails to a certain extent. I used the same strategy seen in Mass Effect or Dragon Age in which the player is given a few tasks and can complete them in any order (with special events happening in between).<br /><br />Characters were the best and the worst part of this module. The bit characters (the alchemist, the gnome dungeon keeper) were excellent and fun to play, but the more nuanced characters couldn't be developed or revealed naturally. The players weren't interested in rambling conversation, and the to-the-point conversation could only carry so much characterization in it. My biggest problem was with my villain. It wasn't clear that he was the bad guy from the start. I was counting on my players asking certain questions and getting a big reveal, but they didn't. That's my fault, not theirs.<br /><br />I also had several encounters that existed mostly to provide interesting combat. When my players decided to engage their enemies cleverly (using Bluff or something), I was often not entirely sure of what to do. I improvised decently, sometimes letting the players off and sometimes driving towards a fight, but it was a lost opportunity. I could have used these encounters to build the wider story.<br /><br />I'd be interested in carrying on with this campaign, hopefully on a weekly format. I think that if I handled it a few encounters at a time, the game could go in a lot more interesting directions.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0tag:blogger.com,1999:blog-357786440912380172.post-80329253942342762952010-02-18T00:16:00.002-05:002010-02-18T00:35:13.454-05:00Dungon MasterIn two days I'll be DMing my first game of Dungeons and Dragons! I've been playing 4th edition for some time, and I get one weekend to see what the other side of the screen is like.<br /><br />Creating a weekend adventure has been an interesting and unique design challenge. I'm trying to create a somewhat story-centric adventure, and making sure that things make sense has been difficult. I'm also trying to figure out how to offer the feeling of freedom while keeping the total number of story branches contained (I don't have much time to revise the course of the story on-the-fly). I've already railroaded my players somewhat by requiring no mercenary or evil characters, essentially demanding that they act out of the goodness of their hearts.<br /><br />Still, I'm pretty confident that it will turn out all right. I'm very much looking forward to roleplaying some of my NPCs. I think my players will appreciate the characters I've dreamt up.E McNeillhttp://www.blogger.com/profile/07398839466669706110noreply@blogger.com0