Looking Ahead…

15 May

This summer I plan on getting a head start for next semester’s Game Production Lab. I’ve been assigned to the game “Control Room”, which is a 2D, top-down, strategy and puzzle game about leading a group of operatives into a Secret Facility where you also happen to be a control room operator. So, you’re a double agent working to take down the facility while avoiding suspicion. I, for one, am ecstatic that we got a 2d strategy game to work on; as I am all about that shit.

Even better, is that Control Room will be made in Game Maker, which I have at least some experience in. Granted, I lost literally every project I ever worked on in GameMaker a few months ago, but I was gonna have to relearn certain aspects of it anyway. While I do have some serious gripes about GameMaker’s pricing structure, like why it costs $400 to add HTML5, Android, and iOS exporters, the program itself can be quite powerful.

And more importantly, it will be Game Development Done Right. I cannot stress enough how important it is to iterate on a game before you’ve even landed on what exactly it’s about. Next semester has the benefit of three whole months of prototyping beforehand, which I’ve already kinda sorta started.

Last semester, zero iteration, terrible development. Without getting too much into it, my experience in Game Lab last semester was mostly me trying to learn a whole new game engine and language while working on an untested game design. It was no fun, it really soured me on working with large groups that don’t communicate (or any size group that doesn’t communicate for that matter), and  and it really drilled in the importance of pre-production and prototyping.

 

Anyways, I anticipate Control Room will be a very fun game to work on. I’ll try to post about progress if it’s significant and playable.

Attack and Gather with Buttons, Oh My!

10 May

The updated game. – This version should work better on mobile. UPDATE: So, when I run this project in my editor, everything works fine. Exported, the game has some baffling bugs. As far as I can tell, this is because I’m on the Construct 2 beta update channel. And if there’s one thing that can be said about Scirra, it’s that they do frequent and often bug-causing updates.

On the surface, all that’s new is the interface and the inclusion of Attack Bots. Of course, in the background there was more, but it was mostly stupid bug fixing. This time around, Gather Bots care less about finding Dead Bots, and their behavior has changed so that they “swarm” less one object. Attack Bots search for Dead Bots to bring back, and, if they see another team trying to take a Dead Bot, they attack.

One of the things I had to change a while back was the Turret system used by my bots. The Construct 2 behavior plugin, “Turret Behavior”, had some real limitations as far as determining whether an object was a suitable target. So, I just use events to control which objects are targeted. I’m getting close to the point where I must just try and write my own Plugin. If nothing else, it’s good motivation to learn Javascript.

A Gather update?

29 Apr

In my last post about gather I mentioned that it might still be interesting to focus on the “ant farm” aspect of what I had built, and ignore the science subtext I was trying to force in. So, I decided to pluck away, and this is the result:

Gather – Click on the big Yellow and Pink boxes to spawn bots of those respective colors. I left all the log info commands in, so clicking on things will give object variable info.

Why pursue this?: While I think I’m using a lot of the same mechanics, my end goal is much simpler. I still like the “AI voyeurism” in watching two sets of the same instructions battle it out for supremacy. It’s also helpful for me to keep sharpening my RTS programming skills.

Where am I going with it?: The scary part is, not many of the actual systems are going to change, but the emphasis I placed on different parts has changed. Before I was worried more about the different base”nodes” talking to each other and sending “signals” with different transmitters, with bots being tools of the base. Now it’s more traditional, with the idea being that the production of bots is the purpose of the base and ore.  Resource bots still look for ore, Attack bots are going to attack enemies, and Road bots are going to connect the different nodes up. The only real change for the bots is that Resource and Attack bots are now concerned with picking up “un-energized” bots and bringing them back to base for recharging, thereby keeping up the team numbers at a lower cost.

The next thing I want to implement is the Attack bots. Their role will be to actively look for un-energized bots and to destroy enemy bots that are carrying un-energized bots.  These will take a different resource for production, so I’ll also put in the different colored Combiners.

Prison Bash Update

19 Apr

I added better enemy patrolling behavior and spawning. More Importantly, the level has been redesigned. I was listening to Honeycomb by Frank Black and decided to experiment with honeycomb designs. It’s at least more interesting than straight hallways.

Other than that, the idea is the same. Free prisoners and bring them to the Blue Box located at the bottom of the level. WASD to move, SPACE to suck up tiles, LEFT CLICK to shoot a sand bomb, and RIGHT CLICK to shoot a dirt bomb. PRISON BASH!!

Throwing Away My Idea – (Gather Mid-Mortem?)

15 Apr

I’ve recently decided to re-shelve the idea that I was trying to work out with Gather.

The notion behind the game was to somehow represent the physical and chemical reactions in the brain that make us behave in a way that ensures survival. This was my cornerstone design goal. Well, it turns out educational games are bloody hard to make. My problem, I think, was that I kept trying to address this somewhat complex series of interactions in the most simple and abstract fashion. Instead of specific chemicals that I would have to research or make up a chart for, I chose to design using Color Theory, so specific colors would cause reactions in the system. And since I wanted to show off electrical signals as well as chemical reactions (which is kinda technically the same thing when talking about “gated” cellular interaction), I decided to map “energy” to color warmth (warm colors had positive charge, cold colors had negative charge), which could have worked if I didn’t keep getting bogged down with making cellular functions make sense on the color wheel.

Another major aspect to the idea was to indirectly affect a relatively autonomous system until it built itself up and then you ultimately make a decision about what do with the final output. The idea went through a lot of rapid evolution in my mind while I was working on the prototype. Basically, I could never figure out in definite terms what my game was about mechanically; I didn’t know what the “fun” part about it was. I think I just wanted to make an ant farm that I could check on and fuck with from time to time, kind of like Simcity in a way, and there may be something to pursuing that.

I wanted to write this essay for two reasons though; first, it’s good to put down on paper why something failed, and second, to address why my decision is to move on instead of keep working out this idea. The second question comes from a friend of mine who remarked that I spent about a month and half on this game already. I’ve wanted to figure out how to make an educational game that teaches neuroscience for about a year and half now, and it’s because I’m so intensely interested in being successful in this endeavor, that I don’t want to attempt to tackle it before I can do it justice. And frankly, I’ve got enough other coals in the fire already that I don’t need to waste significant amounts of time on a flustering idea.

So, is everything I’ve done a waste? I don’t think so. Gather was probably one of the most beneficial failures I’ve had  recently. I only even started the project to learn pathfinding and turret behaviors in Construct, so I was successful as far as that went ( most valuable takeaway: don’t call ‘find path()’ while the object is already finding/moving along a path). More importantly though, I learned something about my own ideas and how to address some of them. And I think a lot of my design ideas are going to find their way into other games eventually.

And for the record, “Gather”, as a name, has nothing to do with what the game was about and everything to do with my complete lack of fucks to give about names.

Another Gather Update

26 Mar

Starting to see the rough outlines of a game loop now. In this, the bots are breaking down and re-combining minerals. The yellow rock shoots off by itself because it’s the “energy” component gained from the reaction. The purple rock is ultimately used by the bot to get energy back out of the system, and is used by the base to make a new bot.

An update.

9 Mar

I decided to do some follow up posts for my Neural/AI RTS thing.

Construct 2’s Pathfinding behavior is giving me some problems. I want to create automatically create paths on-screen between two objects to send units back and forth them. Right now, the units will usually take one path to get to an object and another path to go back. I’ve experimented with adjusting the “cost” of taking different paths so that units will prefer the first route, but that breaks the game when it works.

On a similar note, I would like to see expanded capability of pathfinding by having access to the pathfinding nodes directly as objects. They just added the ability to reference the node the object is heading towards by it’s array index, and you can access the (X,Y) coordinates of a node by index already.

Construct 2’s path finding behavior is still fairly new and they’re still evolving it and fixing it.

On more of the design side of things, I was planning to have units be ordered by instructions linked to a particular resource type. Orders could build up in complexity, and basically it becomes similar to programming. Different order configurations could be saved as physical “macros” in the game world. The goal would actually be to represent muscle movement patterns stored in our brain. I’m worried that while this may be a novel way of doing things, it may not be very fun. It’s certainly not practical.

I’ll post the prototype for posterity’s sake, but there’s a lot of shit going on that I don’t feel like explaining.

http://dl.dropbox.com/u/11289993/Gather2/index.html

Follow

Get every new post delivered to your Inbox.

Join 81 other followers