Monthly Archives: September 2008

Future Ludum Dare ideas

The next full fledged LD competition is still months away, but I was thinking the other day about concepts and ideas that I’d like to try.  If the theme is right next time, perhaps I’ll use one of these. ‘tabletop’ wargame – Something along the lines of Axis & Allies.  Simple combat and strategy.  Perhaps […] Continue reading

Posted in dev, gamedev, Ludum Dare | Comments Off

Improving your component-based framework: Part 2, component storage

Continuing the series, I will talk a bit about how to store and keep track of your precious components. You probably saw the green database icon on the diagrams from part one without any explanation of what it did, and how it did it. That is what I’ll be talking about in this post.

So, first of all, why do we even need to care about how our components are stored? Can’t we just put them all into one big list? Well, if the system aims to be dynamic and data-driven it is quite likely that you will, at some point, be spending time trying to find one, or several, components of a specific type. If all your components were just stuck in one huge list, you would have to run through all of these every single time just to find the right one.

Obviously this seems unnecessary, and that’s exactly what it is. However, keeping such a list on the side might still have its uses (maybe you want to loop through every single component that is alive).

Implementing your component storage wisely will make a big difference on the performance of your entire system.

Building the database structure

Assuming that the unnecessary game-object layer has been cut away, it is suddenly less complex to maintain the (huge) list of components, and still have a constant O(1) lookup time on components, though at the cost of a minimal amount of memory (I say minimal, but I also haven’t written any AAA titles with 1249182764 components alive).

So, to achieve this, I suggest that you utilize one, or several, hashtables to handle your component storage. This hashtable should, for each guid, contain another hashtable that holds the types, and the actual component references.

Supporting C# example:

Dictionary<guid, Dictionary<Type, Component>> database;

I visualize this as seen on the following diagram:

 

As mentioned, utilizing a hashtable allows you to get fast lookups with little effort. But when coupled with the power of generics you can easily get an elegant, safe and speedy solution for component querying up and running quickly. Though the need for querying support is debatable, it allows for a more dynamic approach to using and building your components.

I will talk further on the use of generics and querying in a later post!

Continue reading

Posted in development, Modular design | Comments Off

Improving your component-based framework: Part 2, component storage

Continuing the series, I will talk a bit about how to store and keep track of your precious components. You probably saw the green database icon on the diagrams from part one without any explanation of what it did, and how it did it. That is what I’ll be talking about in this post.

So, first of all, why do we even need to care about how our components are stored? Can’t we just put them all into one big list? Well, if the system aims to be dynamic and data-driven it is quite likely that you will, at some point, be spending time trying to find one, or several, components of a specific type. If all your components were just stuck in one huge list, you would have to run through all of these every single time just to find the right one.

Obviously this seems unnecessary, and that’s exactly what it is. However, keeping such a list on the side might still have its uses (maybe you want to loop through every single component that is alive).

Implementing your component storage wisely will make a big difference on the performance of your entire system.

Building the database structure

Assuming that the unnecessary game-object layer has been cut away, it is suddenly less complex to maintain the (huge) list of components, and still have a constant O(1) lookup time on components, though at the cost of a minimal amount of memory (I say minimal, but I also haven’t written any AAA titles with 1249182764 components alive).

So, to achieve this, I suggest that you utilize one, or several, hashtables to handle your component storage. This hashtable should, for each guid, contain another hashtable that holds the types, and the actual component references.

Supporting C# example:

Dictionary<guid, Dictionary<Type, Component>> database;

I visualize this as seen on the following diagram:

 

As mentioned, utilizing a hashtable allows you to get fast lookups with little effort. But when coupled with the power of generics you can easily get an elegant, safe and speedy solution for component querying up and running quickly. Though the need for querying support is debatable, it allows for a more dynamic approach to using and building your components.

I will talk further on the use of generics and querying in a later post!

Continue reading

Posted in development, Modular design | Comments Off

Improving your component-based framework: Part 1, evolving from the game-object

You often hear people speak of “entities”, or “game objects”. What these actually are, is somewhat context specific but can often be described as something that is tangible in the game world; e.g.  the player, an enemy or a tree. These are all objects with different functionality.

In a component-based situation a game-object is usually considered to be what ties the components together in some way. More specifically (though depending on the implementation) it would be either a composition or an aggregation of components. Obviously, it is only this simple when assuming a pure component based system where no logic resides in this object.

Is it really necessary?

The suggestion I’m proposing in this part is to, not forget about the game-object but rather, re-think the necessity of having an added object layer to get through to reach the precious components. What merits its survival in your system?

Consider this following diagram that depicts a typical architecture, in a situation where a component (D) attempts to retrieve a reference to a component (A) which resides in a different game-object. In order to do this operation, the component (D) must first know its own container (the game-object); to then access the database so that it is able to send a query for other game-objects. Once the desired game-object has been found, the component (D) must then query the resulting game-object’s contained components in order to finally find the desired component (A).

 

 

My realization with this implementation was that the game-object’s only purpose was to allow the option of having several entities of the same type alive at any given time. Allowing this was not something I had thought through, and frankly it was not useful. Finding the right game-object was not easy.

Breaking out of the cocoon

Therefore, I suggest that you delete the game-object, but keep its ashes. And from these ashes a globally unique identifier shall arise. This guid
could be a simple string representation, a hash or just an integer. Its
only function is to determine which components are tied together.

Discarding the game-object should not be problematic at all, and if your system was already striving to be purely componetized – in the sense that no logic resides in the game-object – then you're already half-way there.

Supporting C# example:

class Component
{
    public string GUID { get; }
    …
}

The following diagram gives an idea of how simple the system could be by removing the unnecessary complexity that is the game-object. The situation is the exact same as in the previous diagram, sans the game-object layer interaction.

 

 

As a result of this down-sizing, your components become more powerful, more efficient, more independent and a lot easier to handle and keep track of.

Stay tuned for more on the topic of handling component storage in the next part!

Continue reading

Posted in development, Modular design | Comments Off

Improving your component-based framework: Part 1, evolving from the game-object

You often hear people speak of “entities”, or “game objects”. What these actually are, is somewhat context specific but can often be described as something that is tangible in the game world; e.g.  the player, an enemy or a tree. These are all objects with different functionality.

In a component-based situation a game-object is usually considered to be what ties the components together in some way. More specifically (though depending on the implementation) it would be either a composition or an aggregation of components. Obviously, it is only this simple when assuming a pure component based system where no logic resides in this object.

Is it really necessary?

The suggestion I’m proposing in this part is to, not forget about the game-object but rather, re-think the necessity of having an added object layer to get through to reach the precious components. What merits its survival in your system?

Consider this following diagram that depicts a typical architecture, in a situation where a component (D) attempts to retrieve a reference to a component (A) which resides in a different game-object. In order to do this operation, the component (D) must first know its own container (the game-object); to then access the database so that it is able to send a query for other game-objects. Once the desired game-object has been found, the component (D) must then query the resulting game-object’s contained components in order to finally find the desired component (A).

 

 

My realization with this implementation was that the game-object’s only purpose was to allow the option of having several entities of the same type alive at any given time. Allowing this was not something I had thought through, and frankly it was not useful. Finding the right game-object was not easy.

Breaking out of the cocoon

Therefore, I suggest that you delete the game-object, but keep its ashes. And from these ashes a globally unique identifier shall arise. This guid
could be a simple string representation, a hash or just an integer. Its
only function is to determine which components are tied together.

Discarding the game-object should not be problematic at all, and if your system was already striving to be purely componetized – in the sense that no logic resides in the game-object – then you're already half-way there.

Supporting C# example:

class Component
{
    public string GUID { get; }
    …
}

The following diagram gives an idea of how simple the system could be by removing the unnecessary complexity that is the game-object. The situation is the exact same as in the previous diagram, sans the game-object layer interaction.

 

 

As a result of this down-sizing, your components become more powerful, more efficient, more independent and a lot easier to handle and keep track of.

Stay tuned for more on the topic of handling component storage in the next part!

Continue reading

Posted in development, Modular design | Comments Off

Improving your component-based framework: Part 0, Introduction

Modular software designs such as the component based approach (see Mick West's article) is gaining more and more ground in becoming the modern way of building games. At least, that is what I interpret from the increasing amount of middleware using, and pushing these concepts (e.g. Unity3D, TorqueX). Not to mention all the recent forum activity regarding these concepts on the various game-development sites.

Personally I have been intrigued by this approach for a long time, and have built a small and lightweight framework which helps me in building software the component- and data-driven way.

Building this framework has been interesting, exciting, and has, surprisingly, taken a long time considering how “simple” it is on paper. So, inspired by Adam Martin’s series on entity-systems and based on my experiences with developing this framework, I will, through a series of short posts, present various implementation details that you can use, to hopefully improve your component-based framework.

                

The code samples presented in these posts might not be applicable to all systems since they’re written in C#. However, the concepts should still be useful.

Continue reading

Posted in development, Modular design | Comments Off

Improving your component-based framework: Part 0, Introduction

Modular software designs such as the component based approach (see Mick West's article) is gaining more and more ground in becoming the modern way of building games. At least, that is what I interpret from the increasing amount of middleware using, and pushing these concepts (e.g. Unity3D, TorqueX). Not to mention all the recent forum activity regarding these concepts on the various game-development sites.

Personally I have been intrigued by this approach for a long time, and have built a small and lightweight framework which helps me in building software the component- and data-driven way.

Building this framework has been interesting, exciting, and has, surprisingly, taken a long time considering how “simple” it is on paper. So, inspired by Adam Martin’s series on entity-systems and based on my experiences with developing this framework, I will, through a series of short posts, present various implementation details that you can use, to hopefully improve your component-based framework.

                

The code samples presented in these posts might not be applicable to all systems since they’re written in C#. However, the concepts should still be useful.

Continue reading

Posted in development, Modular design | Comments Off

Watermelons for the iPhone / iPod Touch

Watermelons is the ultimate fruit rescue mission game! The local watermelon tree has gone berserk and is producing fresh watermelons at an amazing rate.
You must move your trampoline at high speed in order to save the melons from splattering horribly on the ground. You get ten slip-ups before you lose your job as the [...] Continue reading

Posted in Uncategorized | Tagged | Comments Off

Watermelons for the iPhone / iPod Touch

Watermelons is the ultimate fruit rescue mission game! The local watermelon tree has gone berserk and is producing fresh watermelons at an amazing rate.
You must move your trampoline at high speed in order to save the melons from splattering horribly on the ground. You get ten slip-ups before you lose your job as the [...] Continue reading

Posted in Uncategorized | Comments Off

Bedazzling Halloween Eponyms

Hey, if you hadn’t heard, Halloween Horror 9 is coming up. So suggest names for it! That’s about all I have to say today. Halloween Horror is a grand Hamumu tradition, so you ought to participate and feel the Dumbness flow through you. Continue reading

Posted in Uncategorized | Comments Off

FluidText

Sometimes I have an idea for an improvement to a game but know I won’t implement it even though it’s good. Sometimes, you’ve just gotta go with what’s easy.

Anyhow, the idea has to do with conversations. In Texas, conversations are based around a keyword system. When you meet an NPC, you start out with a few keywords: "Name", "Job", "Bye". When you ask them their Name for instance, they will give you a bit more information for example that they love to play the "Flute". Then you get this added to your keyword collection and can click it to find out more. In this way the conversation sort of flowers out.

It would be nice to have synonyms, however. One can imagine that, with enough keyword synonyms and enough keywords, conversation could be very fluid.

You often organize the conversation into long chains. For instance, if an NPC has a lot to say about a specific even or character, you don’t want to put it all in one long text and have the player click [More] over and over. Instead, you want to deliver the text in shorter bursts and use keywords to link them, making the conversation more interesting.

With "global" synonyms, you could get into trouble since it’s easy to for the player accidentally interject herself halfway into one of these chains, i.e., in the course of conversation the NPC mentions "lost" about his favorite pair of panythose, which leads to a quest to recover said article. However, "missing" might be part of another conversation chain, about a missing friend. So by typing "lost" you end up in a whole other conversational sphere.

So my idea is basically to organize text blocks according to topic. I don’t know exactly what this would look like, but generally speaking the NPC would be in the mental space of one topic or another, and would move only gradually (or deliberately) between them. So the NPC would somehow know that it was talking about the "pantyhose" and all the synonyms would try to refer to something relating to pantyhose. To change to talk about a missing person, you’d have to mention their name.

One can imagine a vocabulary or topic tree that you navigate by clicking from word to word; I’ve seen some neato java applets that do this. Or simpler, just blocks of conversational topics that you into and out of.

Nice idea but I’ll stick with what I’ve got for now, at least I’ve journaled this so maybe I’ll stumble upon it later! Continue reading

Posted in Uncategorized | Comments Off

Building Hitsuji Editor

Or not! This weekend (as the first weekend of every month, since a couple months ago) was a Mini-LD contest at Ludum Dare. That means a 48-hour development contest, but without all the theme-picking rigamarole. It’s hosted by a single person who picks the theme themselves and can tweak the rules all around. In this case, the rules were bent entirely out of whack with the theme of “Tool”. No, we didn’t have to make a tool-themed game. Rather, we had to create a tool that would help us make games in the future. I thought about it and ended up working on two different things, but neither for very long:


First was SheepEdit. Remember in Hitsuji, how the sheep animated smoothly, because he was made of a series of separate images that rotated around? A lot like South Park or Monty Python really. I was planning to make a more powerful and easier-to-use version of the editor I made way back then, allowing me to make these kinds of characters in the future for some crazy sidescrolling action. Pretty cool idea, lots of math involved (well, lots by my standards).


Second was Pixeltron, a paint program for making low-res retro sprites. But once you drew them, it would’ve let you apply various filters and effects to them, getting nifty modern-retro looks, like having your sprite surrounded with a glow or neon piping. That could’ve made Moon Invaders 2 pretty cool!


But I just did a little bit on each before giving up entirely. These Mini-LDs just don’t put on the pressure that a full-sized LD does (perhaps due to the amazing and fabulous prizes that regular LDs offer?), and I have yet to actually complete one. They’ve all had very interesting themes, though. Continue reading

Posted in Uncategorized | Comments Off

Games Fascination 2008-09-07 04:00:27

Continue reading

Posted in Uncategorized | Comments Off

GraphViz

Oh happy day!

I’ve mentioned before, and I’ll mention again, that I think games are somehow more convincing when the setting for the game seems to be somewhat independent of the gameplay. So, you needn’t have all those hallways and doors and scenery bits serve the gameplay, they can exist partly for their own sake.

Too much setting, however, and not enough gameplay leaves the player perhaps "convinced" in that they understand they are in this huge, autonomous world, but at the same time confused. This can’t be too good. I think that’s at least part of where I went wrong with Venture the Void. Setting was fabulous, but it was a bit too fabulous, too big. Some people can really get into that and dig it, but other people just get overwhelmed or find it perhaps a bit un-fun.

Too much gameplay and you end up with sterile "levels". This might seem appropriate for linear games but this isn’t actually about linearity vs. nonlinearity. Think about Super R-TYPE III (the only R-TYPE game I am familiar with). Each stage has a definite "theme" or setting. So there is an organic level, where acid drips on you, and a mechanical one where big metal things pound at you. So on and so forth. The setting sits under and supports the gameplay, which seems to flow naturally out of it. The result is, as a player you are convinced that this mission is really happening.

Sterility in a shooter, on the other hand, would be if the enemies for instance had nothing to do with the background scenery, or if the background scenery was just plain uninteresting. But even in a game like Noiz2sa you find there is actually a lot to say for setting, it’s just the setting is abstract.

I think the real magic happens when you can combine the two together and find the right balance, or when you can sprout nice gameplay out of your setting. I prefer the setting to "stand alone" and so usually I develop it first. This part I’ve gotten quite good at, and I have a lot of ideas for how it should (and can) work.

But as for "sprouting" the gameplay, I’ve always sort of hit a wall. What I realized not too long ago was a form of chart which could be helpful for it, showing requirements and how they parallelize and so forth. But drawing these out on paper tends to "set them in stone", a little bit, since it’s ultimately not easy to move your boxes and lines around too much.

Enter GraphViz. This is a fabulous tool that I discovered and, while not perfect, describing the outflowing gameplay in terms of DOT files (this is the data definition language for GraphViz) has proved to be very flexible. This is a tool that lets me sort of sketch out my gameplay ideas, using existing setting elements such as items, places or NPCS, and quickly get a good idea of the "big picture". GraphViz, you are awesome and I think that me starting to use it has been something of a breakthrough. Hooray!
Continue reading

Posted in Uncategorized | Comments Off

Help Galcon – digg it :)

Hey, one of the Galcon-iPhone users is really doing his best to help me get the word out! He’s put up a digg article linking to an awesome youtube video he made demoing the gameplay on the iphone Spread the word – and check out the sweet video!

Continue reading

Posted in Uncategorized | Comments Off

PAX Day 3

Day 3 began with a return to Creperie Voila. Our escape from the concerts the night before allowed us to get the jump on the crowd… and unfortunately on the crepologists themselves. The place wasn’t even open when we got there, so we sat around waiting for it to open, then stood in a line of about 4 people and got some more awesome crepes! Yay for crepes!



(Spot the yerfhat here!) Then it was time to stand in line for Family Feud, PAX Edition. It sounded kind of amusing, but mainly we went because it was in the theater where they were holding the second Penny Arcade Q&A panel, so we had to go to be sure we’d get into that. It was probably not necessary, but we didn’t have anything else to do at the time, so we hung out. They handed out pipe cleaners to build things from. I made a pig you can see in the monthly Newsletter.



The game was rather entertaining. They had surveyed PAX-goers and the questions were based on how they had answered.


When it ended, we stayed in our seats and enjoyed the the second Q&A panel! Sol exercised unimaginable courage and fortitude, getting in line to ask a question herself. Unfortunately, she wanted to ask them to sign the Yerfhat, and before she got up, someone else asked about signing and they were very clearly not going to do it. Apparently, they had had a signing table at some point on Saturday, and we never knew it. It was not in the schedule! So we lost out there. But eventually, about 2 people from the very end, she got to ask her question! She said some stuff about how their comic helps her to communicate with her gamer husband, and then went up and gave Gabe & Tycho each a copy of our CD.
I’m sure they weren’t interested at all, but whatever, it was cool to give them out to influential people even if those influential people will never speak of them to anyone. It just takes one getting hooked though… if JoCo doesn’t blog for a week and then comes back with “Oh, sorry guys, I was totally caught up playing Supreme With Cheese!“, then we get rich! Right after Sol asked her question, the Bad Horse chorus went up and Bad Horse’d the Penny Arcade guys. I saw the video of that on Youtube, but sadly Sol was already out of sight when they started filming.


Next, we sought out Wil Wheaton again. This was our last chance to get him on the Yerfhat! Crushingly bad news… we showed up and an Enforcer told us the line was cut off because he had to leave. We wandered off into the expo hall for one last visit before the show wound down. Nothing terribly exciting inside, but we did manage to dispose of the last of our CDs. Also, it was a lot emptier. Many people had left before Sunday, I think, because there was actually room to walk in the expo hall on this day.



We came out of the expo hall set on getting lunch and moving on with our day, when the Enforcer who had stopped us from getting in line came running up to us. He said “I’ve been going around trying to find the people I turned away! Wil has decided to keep the line going for another hour!” So there it is! And how totally cool of that Enforcer. We ended up being about 3 people away from still managing to get cut off anyway, but we were in. We were out of CDs, which of course meant that people suddenly were desperately interested in Hamumu. We talked to about 6 different people while standing in that line who had all kinds of interesting questions, but we had no CDs to give. One of them did type the address into his blackberry for future reference, at least. Then we got up there, told Wil he was awesome (his writing that is – we own all his books, and know not to torture him with Star Trek), and got him to sign the Yerfhat. We of course had reserved one final CD, which went to him. He did a truly amazing job of looking like he was excited about it.



So that was kind of the big finish. The denouement goes like this: we had lunch at the hotel restaurant again, then returned for the final Omegathon round (we missed the Jenga round which was earlier in the day), which is sort of the show’s finale. It was packed. The game turned out to be Vs. Excitebike, a Japanese-only release of Excitebike with special features for competitive play. It was pretty fun to watch, and then Gabe & Tycho played a round of it themselves. The show concluded with them thanking everybody and saying we were awesome, and that was that!


We went back to the hotel and had dessert for dinner, went to bed, and flew home the next day.


What I left out of this report were the details of our day-to-day wandering from place to place. Everywhere we went, we got looked at funny, our picture taken, and so many times people came up and told us our hats were cool. It was great. Every time they did, we gave them a CD. We kept the CD distribution to a really personal level like that, rather than running around flinging them at everyone, and it made things a lot cooler, and I hope it made people a lot more likely to actually try out the disc instead of throwing it away. Haven’t noticed any suspicious new sales yet, but we’ll see.


All good things must end, and frankly, I was ready for this one to. I loved it, totally. Had no idea it could’ve been that much fun. But I was exhausted physically and mentally, and it probably wouldn’t have stayed fun for more than about another day. Three days of this a year, I wholeheartedly approve of. And I can’t wait for next year! Look for the Hamumu booth then, because I’m thinking it’s got a solid chance of happening! You all need to come out and see it. We’re talking about holding a 48-hour contest during the show, so people can come up and watch games get made. A little like Mongolian BBQ, with less cabbage. Continue reading

Posted in Uncategorized | Comments Off

Keys, Doors working

The whole "put things into objects" interface is working. It’s pretty effective, I think.

In the end, it wasn’t too hard as I Just had to add another mode to the existing "equipment" UI. The equipment UI normally shows yourself on the left, and your gear on the right. However, this one shows the object in question on the left and your gear on the right. Everything works more or less the same. The objects you interact with can have rules (arbitrary) for putting things in them, and there is a simple callback when the contained objects change to let the object respond. So for instance, putting something into a box might cause it to close and lock tightly, or something like that.

Whee! Continue reading

Posted in Uncategorized | Comments Off

PAX’08 Pics

Hey, I attended PAX’08. It was a pretty crazy ride! I gotta say, if I go again, I’m going to make sure I get more than 4 hours of sleep per night though

Some of the highlights of the trip were:

Stacking cans for the Brawndo booth
taking pictures of costumery
Listening to the musicians [...] Continue reading

Posted in Uncategorized | Comments Off

Pax Day 2

Day 2, we woke up at a reasonable hour very tired from our late night of revelry. Hats back on again, and we headed out for breakfast.


La Creperie Voila (insert various french punctuation marks) is a tiny little crepe stand outside the convention hall. They’ve got crepes with all kinds of things in them. You could literally eat every meal there and be healthy. But I went for the good stuff – both times we ate there I had a strawberry, vanilla custard, and whipped cream crepe. They are not cheap, but they are awesome. There was a big line of course, because it was right there at the convention. We were awake a little earlier than most geeks, but not enough. We still stood out in the bitter wind for about 45 minutes. I say it was worth it.


Saturday began at 10am, so we had a big day ahead of us! We started out, once properly creped, with the Advertising & PR panel. We somehow managed to miss the beginning of it while eating our crepes, but it was in the Walrus Theater, which is the one ‘theater’ that is actually just a corner of a big room, so you can walk right up and stand there. I wish the others had been like that! We hung about and listened. Didn’t learn much as they talked about how they spend their $5 million advertising their products… not a lot of discussion of things that I might be able to actually do.



Then finally, we got to see a round of the Omegathon for the first time! The Omegathon is a big game tournament, where the contestants are picked randomly via a variety of methods, and they don’t know what they are competing in until a couple of weeks before the show. There are 6 rounds, each competing in a different game, and the final one is a mystery even to the contestants right up until it happens (well, I think they got an hour or two notice… they seemed to know the controls). Obviously people are eliminated from the roster with each round until only two remain for the final showdown. I really like the concept, because with its completely random set of games (this year, Jenga, Peggle, Rock Band, and Geometry Wars were among the games featured), it’s much more laid back. You don’t have hardcore Halo nuts just Haloing away, you have people flailing around with stuff they have no idea how to do, and nobody is good at every game. The prizes make it quite serious though – $5,000 and a trip to Tokyo to go to the Tokyo Game Show!


Anyway, round 1 of the Omegathon was no spectators allowed because it took place in the BYOC room – a place where people could bring their own computers to set up. So for security reasons, they didn’t have spectators. That round was Peggle.


Round 2 was Boom Blox. We could’ve seen it, we just missed it.


This was round 3, and it was Geometry Wars. We saw it! It was fun enough, I suppose. I’d never actually seen Geometry Wars in action before, and by the final round (it went for 4 rounds with 3 players in each, since there were 12 remaining Omeganauts by this round), we in the crowd understood the game well enough to do a lot of “Oooh!” and “Awwww!” when there were great escapes and unfortunate deaths.


Lunch break! We ate at the restaurant in our hotel, which was actually very good, and of course very expensive. There was a big wait, but we sat in the bar instead, which had open tables. No wait for us!



(This is one of those things you’re supposed to stick your face through and take a picture… we stuck Yerfdog through instead, and it amuses me) We went back to the same theater then to see the Mega64 panel, followed by a screening of a Mega64 episode. All I really have to say about them is that it was fairly funny, and they’re really really juvenile, and their episodes are really funny when they are just blatant live-action enactments of video games (complete with being yelled at by bystanders or cops), and a lot less entertaining when they have plot to them.



BUT! Something amazing and spectacular happened during this screening! We were just watching the episode when someone tapped me on the shoulder. It was Darkaruki, who is a new member of the forums, and the brother of Blackduck, who was also there! He handed me a Loonyland 2 Collector’s Edition CD and a pen, and sign I did. Rather poorly, sorry about that. It was unexpected. So that was exciting, right? To have a fan come up and want something signed? But wait, that’s not the crazy part.


When I signed the disc, this kid sitting in front of me turned around and watched, and his eyes got really wide. We had given him one of our Freebie/Demo CDs earlier, and I guess he didn’t think too much of it… until he saw somebody wanted my signature. Suddenly, he slides over, turns around, and starts quizzing me. You could just see he was absolutely starstruck. He didn’t know why he was supposed to be in awe of me, but if somebody else wanted a signature, then by gum, I must be somebody interesting! I had to control myself to avoid laughing out loud at the absurdity of the situation.


Then we headed downstairs and met Blackduck, Darkaruki, and their mom properly (hard to do while people are trying to watch a movie), and took that picture with them. We also managed to give a CD to the older lady who was doing convention security. She was intrigued, and said that she wasn’t allowed to take things, but she’d slip it in her jacket anyway. I hope I didn’t just get her in trouble by writing this.


Our next move was a mad dash back to Bandland in hopes of catching Wil Wheaton (I left out an earlier Wheaton Failure, too. We went by his booth many times to no avail), but he was not there. He did have a schedule posted this time though, so we knew we had to come back tomorrow. So we hit the exhibit hall for a few minutes and ran into Phil again, who invited us to dinner. We wandered for countless hours trying to find a place to eat. Did you know that Seattle closes at like 6pm? Everything was closed! On a Saturday!


We eventually found a nice little place down in the Pike Street Market, which had good food like all the other places we tried on this trip. Food went well every time!


We hit the expo hall again, and checked out the Pax 10 there. Those are 10 indie games that got chosen as special to be voted on at the show. We looked at all of them, and played a couple. We placed our votes for Chronotron, which is downright clever. Several of the games were gravity/magnet themed and frankly not that interesting. I still don’t get why people think Strange Attractors is good.


Our last event for the night was similar to our previous last event: concerts! We got no wristbands this time, and stood in line for a while, but it was no problem getting in. We went to our favorite corner again and set up our foodless picnic.


The pre-show for this evening’s concerts was actually Round 4 of the Omegathon! Logically enough, it was Rock Band. It must’ve been pretty cool for the contestants, because it was like truly being a rock star as 5,000 people were jumping up and down cheering as they ‘performed’. They broke the eight remaining contestants into two bands of four for this event. I’m curious how they did that, since it seems kind of unfair to lose because your teammates (who were previously your opponents) weren’t any good. But anyway, one team outscored the other (just barely!), and four contestants remained. Oh, also, the Penny Arcade people performed a Rock Band number before this, all playing on Expert, very impressive.


Then the first act that actually produced their own music was Anamanaguchi. Just didn’t like them. They’d start every song with a little videogamey chiptune melody, then after a couple of seconds, completely bury it under a wall of thrash noise. Not for me.



Next up was The Darkest Of The Hillside Thickets. They are a Lovecraft-themed band, which would’ve been funny if the lyrics were hearable (remember, the sound at all the shows was very bad. It occurs to me today, though, that that may have also related to our location. It probably sounded a lot better in the middle near the stage). Their outfits were definitely entertaining, with two guys with goat legs and horns, one with tentacles all over, one with a Cthulhu head, and one… well, he just kinda was covered with light strings and cords and things. Did Lovecraft ever write about robots?


We actually left shortly into the Thickets set. We were far beyond tired after two very very full days of being ‘on’ all the time and walking around. I was sad because I really wanted to see MC Frontalot, who was up next (The Minibosses would’ve followed him as well, but mainly I’ve been intrigued by Frontalot for some time), but I was happier just to sleep. And I swear the second night concerts were even louder than the first. Or maybe it’s just that I was yet one more day older. I am too old. Continue reading

Posted in Uncategorized | Comments Off

Transloquake Level

I recently participated in a competition to make a level for a mod for Quake known as Transloquake. My submission, “Sky Castle,” is pictured below. I ended up being the only participant and winning automatically, but people seem to agree that my level is a good one, and I got … Continue reading

Posted in Uncategorized | Comments Off