Considering I meant to have this post up three weeks ago, I suppose that I should consider dropping one or more of my activities. Then again, I care too much about all of them to drop any of them. This blog included. Even if I only wind up making one real-content post a month, I intend to keep up with this thing.
For a while I was feeling more than a little guilty that I had Game Clears up on the blog, indicating that yes, I did in the strictest sense “have time” to write and I was simply choosing not to out of laziness or selfishness. It’s in my nature to feel that if I’m not being “productive” then I should feel guilty, stemming from my theory that if I have the capability to do something, then I also have the responsibility to do it. The problem, of course, was that every time I would sit down to write for the blog, the writer’s block I’ve been suffering under for a while now would reassert itself, and I would wind up staring at the blank page for a while before giving up and playing a game.
Of course, I do have to relax at some point. I can’t be expected to be “on” constantly. If I choose to do so by gaming, well, then more power to me. I have to break myself of the mental block that says “relaxation = selfishness”. It’s going to be a long road, but the first step is accepting that those game clears should be proof that I’m not going completely loco.
Anyway, let’s talk games for a little bit. Portal 2 has been the big one, and even though I finished it before I wrote the first draft of this post, I still find myself going back and getting a chuckle out of some of the more funny aspects of the game. What I found most interesting was that Valve rewards humor on the part of the player, as well as giving the player something to laugh at by him or herself. Wheatley is funny, but when the player is rewarded for doing something stupid-but-funny, that’s even better.
One thing I’m finding to be even more fun about the game, and which extends the replay value of it dramatically, is the co-op campaign. There’s an entirely different dynamic between GLaDOS and the two robots Atlas and P-Body, and that can even be extended to the players. I’m going through it off and on with Chris LoBue, a partner of mine in BM&G, and we recently unlocked a hilarious interaction gesture where one of the droids takes the other’s “head” off and plays with it for a moment, inviting retaliation. It’s slapstick at its finest, and it reaffirms Valve’s choice of using robots for the co-op and not human characters.
That said, someone needs to patch in support for a third robot based on a cube, and then Valve can do the whole Three Stooges bit up properly.
So, after that, there was… Hmm, well, I suppose I could talk about the 3DS. Yes, I did get it on launch day, and no, I don’t regret it for a second. You’d be surprised how much fun I get out of something as simple as StreetPass and Find Mii, but that’s the standout feature of the system so far in my mind. It simplifies the whole interaction between gamers, and it’s the natural evolution of the tag modes that were pioneered in titles like The World Ends With You and Animal Crossing. The simple addition of real-world interactions to certain games is the hidden revolution in the machine, and I only hope that this becomes the breakout feature of the device in the way that the original DS’s touchscreen advanced portable gaming. To steal Microsoft’s phrase, it’s good to play together.
Nintendo is doing a great job of engaging with the playerbase this time around as well, too. The NOA Twitter feed highlights the various city-based StreetPass gatherings and clubs going on around the US. Granted, they haven’t gotten around to StreetPass Pittsburgh yet, but we’re still a small group. That’s actually symptomatic of the rather weak launch that the 3DS has had in the past two months. I’ll be the first to say that it was a little underwhelming– there were really only two titles that were worth picking up, and one of them (Bust-A-Move Universe) will only be worth picking up once it’s in the bargain bin, if a better version doesn’t come out before then. It’s annoying that the software isn’t there to support it yet, but I’m confident that that’s going to be fixed very soon.
It was a little annoying, too, to hear that the 3DS eShop has been delayed until the pre-E3 show– but not nearly as annoying as the mind-games Capcom is playing with Mega Man Legends 3. The big problem there is that the game still has not been given a green-light for full production, according to Capcom’s Dev Room initiative. The official word is that, depending on performance of the Prologue Version– the paid beta that was supposed to be released alongside the eShop– the game would either be scrapped or funded in full. In effect, Capcom is holding the game for ransom.
Now before I continue, I want to clarify something: it could be argued that BM&G is also holding a game for ransom, in that we can’t produce Point of Descent without funding. It’s a tricky parallel to navigate, and while it’s flattering to put an indie developer working on their first game on the same level as an iconic studio such as Capcom, that’s simply not the case. We’re going to continue work on Point of Descent regardless of how our Kickstarter and 8-Bit Funding pages do (I’m sorry I’m not being more subtle about that). Capcom, on the other hand, can throw away resources on a “failed” experiment and not risk ruin. The problem, of course, is that Capcom isn’t just throwing away money, but also reputation. They’ve been on rocky shores in that regard before, and I think it would be very wise if they just went ahead and announced at E3 that they’re just trolling us all and that MML3 is definitely coming out. It’s not like Capcom’s a stranger to being a lying creator either– witness the shell games they played prior to the official reveal of MVC3.
Anyway, E3. It coincides with a major Apple event, too– WWDC– but we’ll get to that in a little bit. This year will see the unveiling of the Nintendo console that will likely be in ludicrously short supply next year. (I learned my lesson and will be putting down a pre-order as soon as I can.) What has me puzzled, though, is that there haven’t been too many rumors about what Sony and Microsoft are doing. This could be a great opportunity for the both of them to steal the spotlight a little bit. One would imagine MS, at least, is showing something worthy of buying live airtime on Spike TV for their pre-game on June 6th at 4:30p EDT. Sony has taken a bit of a bloody nose this past month, but they’re running their own show the same day at 9p EDT. Nintendo is set up for the 7th at 12p EDT, which is conveniently when E3 proper starts.
As an aside: Maybe I’m reading too much into this, but I think Sony and MS have made a HUGE misstep here in scheduling their pre-games the day before Nintendo’s. I draw this thought from The West Wing. See, that show, believe it or not, had some pretty good insights into information control. One of the big tenets was that you want to make sure you get the most press time available. If you want to bury a story, you drop it in somewhere between major announcements so that it gets relatively little attention compared to the big stuff. By placing their shows in such close proximity to Nintendo’s, MS and Sony are trading the lingering effect of being last for the bombastic effect of being first. They’ll get the big initial drops, but Nintendo ultimately will have the most eyeballs on its work because it’ll be in a prime position to react to the other two pre-games.
In the end, though, it really boils down to what games are being shown off, and going by some of the less verifiable rumors I’ve been hearing– which I’ll not lend credence to here, as they come from some really sketchy sources– I think we’re all going to be very, very happy with all three consoles’ output this year. Just trust me on this one.
Moving on to Apple. By the time I get this post up, many of the Apple Stores around the world will have gone into lockdown mode in order to prepare for a major revamp of some sort. Nobody really knows what it is, except that it involves “gigabytes” of encrypted data being pushed to store servers; it might be as simple as giving iPads to employees to use instead of iPod Touches for POS terminals, or it could be a surprise launch of OS X Lion. We’ll know for sure in the morning. The rumors of a new iPhone hardware unit to be announced at WWDC on June 7th are pretty tantalizing, too. But what is probably the biggest news is the formal announcement of iOS 5.0. The mobile OS is slated to include a huge number of improvements to the everyday-use-case of i- devices, with the chief among them being a completely redone push/notification system. Apple, I think, didn’t expect push to be as big or as quickly embraced as it has been, and the initial implementation is starting to show its seams. Granted, there are also a lot of other things that need some spit and polish among the iOS guts, and a few things that are being driven by the (healthy and appreciated) Android rivalry. I would like to see some form of lock-screen widget implementation so that I could see weather and notifications at a glance, and I would be shocked beyond measure if the new notifications platform did not include an option to set truly customizable alert tones.
I mentioned in an aside up there that the rivalry with Android is “healthy and appreciated”. I mean that. The fact that the two operating systems are advancing and pushing each other forward by leapfrogging features means that, no matter which one users pick, they don’t miss out– assuming a long enough timescale. I’ve been an iOS user for going on three years now, and I’m not about to look back at all. Point of fact, I look to Android to see what features will be in the next major version of iOS. About the only thing I’m really unhappy with is the slower pace of releases from Apple compared to Google, but at the same time, not having the dizzying splintering going on that the Android landscape has is a definite plus in my book.
One other thing before I leave the Appleology pulpit: Apple and Google are both learning from the OS wars of old. They may have differing platforms and opposing goals, but both of them are very careful to rely on industry standards and are working towards interoperability. That might just be reflective of the current culture of interoperability in the computing world today, but it’s a breath of fresh air from the not-as-long-ago-as-I’d-like days when floppy disks came formatted in Mac and IBM flavors.
I suppose, really, the last thing to go over in the life-dump is the aftermath of Tekkoshocon and what my next steps there are. I was asked to help out with the RPG room for Tekko, and I did so. I make that sound so banal, but in truth it was probably one of the best times I’ve had in a long time at a con. There was stress, of course– comes with the territory of helping other people have a good time– but in the end it was worth it. Since then, I’ve been working on getting the video game room for The Sangawa Project together, and that itself has been an adventure and a half. At some point I’m going to have to go back up to Sharon to try to clean out Budd Street Video of some rare titles. That show comes just a couple of weeks before Otakon, which… I still haven’t registered for. Lisa Ortiz is a pretty big draw, but it largely depends on whether or not I really want to get into the Dealer’s Room. Which I probably do, but I may have to see how things go in the interim. Otakon probably isn’t going to have an attendance cap again, but if they do, I’m sure there will be enough notice to get things going in time.
That about covers everything I’ve wanted to mention. I’ll try to wr– oh, for cryin’ out loud, I promise that all the damn time and I never deliver. I suppose that if you need to get a fix on me, you could just keep an eye on my Twitter feed. If something big does happen, I’ll set aside time to write about it. Beyond that, I’ll try to keep this place up to date with the Game Clear notices and suchlike as I relax my way through this life. Ciao, kids.
Just a little bit of an update tonight regarding the state of the Xbox Indie Games I was working on over 2009. Obviously, I lost a lot of momentum after losing the services of my artist over the summer. So, even though I had two mostly-working engines going, I had no games to produce with them. And now that I’m looking to have a lot of free time in the very near future, it turns out that the Windows machine I was using as my main development box had a power source failure (I think) and refuses to boot up. Meaning, quite simply, that all my source code is completely inaccessible. I have an old backup of the XVINE engine, but I primarily want to get something together using the action-oriented engine.
It’s not all bad news. I set up dual-boot on Mahoro a few months back so I could play my Steam games easily, but as it turns out I think I’ll be using her for development from here on out anyway. The source code for the old engines isn’t lost forever (I don’t think it is, anyway); I just need to get a hard drive enclosure to put the old machine’s drives in and retrieve it from there. And even though things are going to be a little rough soon, I’ll be paying for another year of the Creator’s Club here very shortly so that I can continue to develop and deploy to the 360. The action engine, from what I recall, was pretty adaptable, so putting together something simple and interesting is probably going to be fairly easy. The hardest part, as before, will be the art and music/sounds. We’ll see.
Catch you folks later.
In a discussion released recently regarding the Wii version of Punch-Out, Shigeru Miyamoto said:
Now, when young game designers make games and they are not fun, they add a lot of new material to try and make it fun. Even though they should make the game more fun using what they have right in front of them fully, they bring in new stuff.
In a nutshell, he’s pretty much summed up my main source of worry about the XNA projects. I could care less about how well the game sells, honestly (though it would be nice if the game does well enough to cover costs). What I’m worried about most is if the people who play it are having fun.
Right now, I’m in the engine-building phase; I’m designing, more or less, the tools that I will use to create a game. At any point during that later phase– the game design phase– I still have the ability to go back and say, “I need this,” and then go and implement it. This gives me a lot of freedom, almost too much freedom. This is because the more times I go back to the engine and tack on more stuff, the more complicated it gets; and the more complicated an engine is, the greater the chance that there will be bugs based on a flawed or incompatible implementation of the stuff tacked on.
When I was building XVINE, I had a dozen or so thoughts flitting through my head at any given time as to what tools I would need, what objects I needed to implement, and what situations I would encounter. When it came time to finally put it all together, though, I found that many of the things I thought were absolutely necessary were in fact either redundant or useless, because I could do it with simpler tools used more intelligently. Granted, there were situations where a single tool was only used once, but that’s because what it did could not be replicated by another tool combination.
In developing this engine, I’m running into that too. The entirety of this week’s coding was cleaning up the frenzied, hurried, slap-dash experimental implementations from last week’s initial “can I do this?” phase. It was a hassle, yes. But now the engine is designed in a cleaner, more effective manner. Similar objects now have common interfaces; inheritance and abstract classes are used to make sure things get done properly; and the engine has hooks for further optimization should it be needed. More to the point, with the new structuring of the engine, expandability is made that much easier– I’ve been able to easily start adding an “environmental effects” layer to each map layer in order to allow stuff like trap tiles or exits and so forth. (That’s going to be a harder part of the engine design, I think.)
What this boils down to is that once I’ve created the engine, I have to then find a way to make it fun. My original idea– a visual novel– isn’t not fun. At least, I don’t think it’s un-fun. However, a significant portion of the target audience– that is, Xbox 360 players– probably will find it to be un-fun. Yeah, this was pointed out to me before, but I resisted because I felt that the scrolling, tile-based engine setup was going to be too much work to properly implement. It’s not as hard as I thought, but it is a lot of work. The payoff is that I’ll have an engine which could be used to create a game that more people find fun– an engine which more or less works like any old NES game’s engine would, just in HD.
So what kind of game should I make? Satoru Iwata, in that same interview, made this remark on the subject:
It’s hard to know what to do when someone says to do whatever you want.
The tool that I have now is raw and unpolished, but its possibilities are limitless. However, in order to make it the best game that I could possibly make, I first have to know what kind of game I want to make, so that I can steer the engine in that direction. Now, there are some constraints. It’s a 2-D game, it’s top-down (so far), and I only have about 150MB of total space for code and resources. Really, those constraints are pretty minor. So, instead, I must fall back to the old adage: “Write what you know.”
I know old-school RPGs, and I know action RPGs along the lines of Zelda or the Mana series. I also know older action/arcade games, like The Guardian Legend and Pac Man. I really wish there were more games like those available these days. With that in mind, mimicking one of those would be pretty good for getting started, but there’s issues of complexity in each one: the original Legend of Zelda, as “simple” as it is, is far more complex than Pac Man. Heck, Pac Man itself is no slouch in the complexity department! Still, I have to take each project as it comes, and make a decision very soon on what project I want to work with first. My first project, then, using this new engine will be somewhat pedestrian– a Pac Man clone, just as a proof of concept. Once I’ve got that running and playable (it certainly isn’t going to be released) I can start work on the next project, which… I think I’ll keep quiet on for now. One step at a time.
Overall, though, I have to keep in mind the advice mentioned above. Less is usually more. Fun must come before whiz-bangery, and it’s almost certainly possible in this day and age to have a fun game in extremely tight constraints. Tetris is no less fun today than it was on an extremely high-latency monochrome LCD screen. And Final Fantasy IV told a compelling story in just one megabyte of space. I have 720p resolution, millions of colors, a powerful processor, tons of RAM, and 150 megabytes of storage. I envy the old days.
A couple of things worth discussing today, folks, all of them rather brief. The first is that I think my tweaking of my main habits is just about finished. I spent a little bit of time setting up GeekTool to close Firefox for me if the computer’s been idle for longer than ten minutes. I then went ahead and set THAT up to disable the monitoring as needed. The net effect is that if my attention wanders, I don’t have a zillion tabs open to wade through and re-distract me once I get done. Conversely, if I’m using Mahoro to look up code while I do coding on the Windows machine, then I don’t have to worry about wiggling the mouse every so often.
Let’s move on to the new project, then: the second XNA engine. Yesterday I got it set up to sort through sprites and render them in a specific order. Today I went on to create a collision-detection engine that handles layers very elegantly. I did, however, encounter a really interesting bug that I’m going to have to figure out a better solution for, involving two sprites on the same layer having the exact same position. Right now it works on a “last in gets rendered” order, but that’s not gonna work if the sprites have different sizes. On the plus side, though, my idea of setting up each ‘logical’ map layer as a physical tile layer and a ‘pawn’ layer worked splendidly, and I may have figured out a solution to moving sprites between layers as well (but that might need work too). It’s getting there, bit by bit– but given that the system was able to handle 10 layers without a hiccup (that would be along the lines of 1700 sprites at 80 by 80 pixels, filling a 720p screen) it’s doing better than I expected.
Finally, I decided to re-start my XM radio. I have to admit that the service isn’t as bad as I had believed it to be on the day they transitioned to the “XM/Sirius” setup, but there’s still some disappointments. For one thing, I still think that they should have kept the guys doing the election coverage rather than ditching them unceremoniously. For another thing, while it’s close, Area is no replacement for The System. And the audiobook station is almost completely useless now, with most of the shows being rescheduled to oblivion. However, there are some bright spots. One of the more annoying glitches in the system was fixed: now, when the radio powers on, it’s authorized for all of my stations immediately, rather than a two-minute delay (at times) to let me tune into football games. Really, that’s how I justify it: I will be getting new music and such during the week and during the summer, but I wanted to have every football game and every hockey game at my disposal once more.
That’s the plan. I haven’t done any Japanese studying today, but I’ll be doing some later tonight (before bed)… and probably in the morning I’ll do the kana drill again. I’m also going to start up the morning exercise routine as well, but we’ll see how that works out.
Catch you folks later.
Folks, I don’t know if you were aware of this, but I’ve got a pretty full schedule ahead of me. Now that I’m feeling better, I have a lot more ambition to try to resolve some of the projects that I’ve set out on, the biggest one being the XNA project. I made a post in the forums today about how the updates to the Xbox Indie Games system would improve the service (foremost among those improvements: review copies to send to game websites!), and the entire setup has me far more psyched to do this than I had been before. Plus– well, I did say I wanted to have something out in Q4 ’09/Q1 ’10, and it is the end of July. On top of that, I also started thinking about the traditional fall projects I occupy myself with: October has been the gaming-rush-thingy that I usually do, and November is (of course) NaNoWriMo, so I’ve got the next four months booked pretty damn near solidly with “work”. (This also includes the D&D campaign I’m running monthly, and any other obligations that may come up.)
So, what this basically means is that this weekend is pretty much my last set of “days off” for the foreseeable future. I’m prepared to spend it relaxing and doing as little “productive” as I possibly can. Think of it like taking a deep breath before diving into the ocean; that’s certainly my perspective, aside from the fact that I can’t actually swim, so the metaphor falls apart and LOOK NEVERMIND JUST GO WITH IT. I intend to go out exactly once this weekend, and that will probably be Saturday lunchtime to the Hokkaido buffet (considering my trip out last weekend was spoiled by the fact that I still hadn’t regained my full, monstrous appetite).
The majority of what I do over the weekend, then, will consist of varying tenses of the verb “to read”. Because dammit, I like to read.
So, Laura is at a bit of a good stopping point; I really could be writing the script (which means a lot more planning work to flesh out the different story branches), but I’ve chosen to put my mind to a few more interesting problems in XNA. Specifically, I’m trying to get a tile-based map engine set up so that I can do a more action-oriented game at some point. The emphasis here is on “trying”– my first attempt, this evening, was less than successful. Matter of fact, it was downright bad. However, I think I know what I did wrong, and future efforts should be much more fruitful.
Assuming, of course, that I ever get around to doing it. Meh, no worries, I have lots of anime to distract me, and one day I’ll get back to that engine. Laura is my real priority now, and finding an artist is the next step. This weekend or next, I’ll dig through the cards I got at Tekko to see if anyone will bite for the gig.
Over the past couple of days, there have been some… interesting revelations regarding how well XNA Community Games have sold on the Xbox 360. To sum up the GamerBytes article in brief: ( they don’t… » )
Code work for the XNA Project Tech Demo is complete. Which is kind of a big deal. It could have been done yesterday if I had not been struck by a massive case of Lazy. Still, today is just as good, since it’s a whole nine days before I expected to have to code like crazy in order to get it up in time for Tekkoshocon. As I said on the Twitter feed, though, it’s not “done” done yet: there’s a handful of tweaks I need to make to the script in order to get it to a point where it really shows off what can be done. But, by the end of March, you folks will be able to download a demo that you can play, so you can finally find out what the hell I’ve been running off at the mouth about for three months. Just have a little more patience, please.
At the very least, I think I’ve earned the right to enjoy this convention.
Okay. I spent a bit more time working on the game last night, but today’s progress– even thus far– has been tremendous. I’ve got a preliminary loading screen, I’ve got things set up for dynamic loading (read: loading only what you need for the scene ahead of time, then unloading only that when switching scenes), I did up the character positioning setup and drawing code AND created artwork for the demo characters…
…and I got it running on Windows. It’s optimized for 720p right now (which means it’s WAY too big for average screens), so my biggest problem right now is getting the art rescaled to a standard size for the Windows version. I also have to set up an alternate control scheme, as I’m not going to demand that the people I’m giving this to have 360 controllers attached to their computers. Overall, I think I’m about 6 more hours away from a publishable alpha game (I chose not to put any music in for this alpha, beyond some sounds that will probably need to be replaced).
Those six hours are going to be next weekend, folks– I’m going to go enjoy the rest of this one, now that I can.
I’m still not feeling 100% better, but today has managed to be productive in spite of my hazy mindset. For example, I finished the script for the tech demo, figured out the preliminaries for sound and have working sounds in the demo, and fixed a VERY nasty bug that would have bit me in the ass if I didn’t catch it now. I really only have the character framework to do tomorrow, and then the hard part of getting the Windows version converted will begin. The XML assistant program I wrote was good in that it saved me a ton of typing, but on the other hand it’s not terribly helpful when it comes to assembling dialogue fragments– THAT part had to be done by hand in notepad. All in all, though, today was damn good for six hours’ worth of work.
I’m still holding off on the celebrations until I have the executable available for download. But I’m so very close.