Tuesday, February 26, 2013

January...

January was actually pretty good to me.

I started a bit late, so I felt a lot of pressure working on this one. As I mentioned previously, I hadn't actually found out about the 1GAM community at all until about half way into febuary, I actually started this under the inspiration of someone else where I work.

Anyways, let's talk about the game I made for January.

Concept: 
Anyways, the idea for the January game was a really simple strategy game. The core idea was that your offense and your defense are linked in the form of your units. I wanted attacking to feel risky, where by attacking, you are leaving your bases vulnerable  Once defeating an enemy base, of course, it's now a player-owned base. Next I wanted to make upkeep and maintenance of your forces important. I decided on letting the player build a network within their bases, allowing them to move resources around rapidly versus waiting for bases to churn out soldier naturally. This also allowed for a base that was locked in by friendlies to still serve a purpose and still be part of the game.

Aesthetics: 
Originally, I wanted to do a cellular theme, where you were controlling an army of cells/bacteria/viruses,etc. I played around with art assets i could find online (remember, I am NOT an artist), but I couldn't really find anything that felt right. I decided to make it pixel art characters. I wanted to build out a campaign where you start with tribal characters and your bases were huts, then the next level of the campaign you were moving into the bronze age with rudimentary weapons, then into the iron age, and so on. All the way up to the future. The core game itself wouldn't have changed, but each "time" had a small upgrade that it would add as the game went on. Eventually you'd be able to upgraded bases, soldiers, use player activated abilities, etc.

But that ended up being a bit too ambitious for a 30 day project and my development skills.

Implementation: 
For some reason, I envisioned the game as something that would work on phones. So I, very intentionally, kept the control scheme as simple as possible. In a lot of ways, this actually helped me out. It served to keep a lot of feature creep in check, and kept me trying to think of ways to do things that would fit. It basically kept my ideas reeled in an my focus pure. For the sake of being in development, I attached the functionality to "transfer" soldiers to the right click, so in it's current state, it couldn't work on a touch device, but that was done to allow me to separate out all the functions and see things happen in isolation, I never got around to move it to Lclick.


The map was never intended to be the map. It's extremely basic, there are a series of neutral bases with the player having one base in the corner and the AI having it's own base in the opposite corner. I basically just needed a test bed to see how things worked. Which ended up being the one and only map I had. Since I realistically had no idea about the time investment needed to make even an insanely simple game, coupled with the fact that I'd never done anything in gamemaker before, and the fact that I was just flying by the seat of my pants the whole time, there wasn't time for more maps.

Most of the functions weren't too awful to implement  although with even the little that I've learned up to this point, I can tell you that the code, scripts, animations, etc are all horrible. There's a chasm between code that functions and good code that's elegant, functional, and efficient. Mine BARELY functions. As I mentioned, I initially wanted to stay out of code, but I quickly found that to be impossible. So any coding that I did end up doing was pretty begrudgingly done, as I move further into this whole 1GAM thing, I'm getting more comfortable with code and hate it less... but I still don't like it.

Transferring was probably the most exciting part. It took me a couple days to figure out how the heck to make it work, but once I did get it to work making your soldiers to zoom around felt pretty good. It's one of those things where on paper it seemed like a boring mechanic, and in implementation it's not amazing or anything, but I though it felt pretty good. Moving around the map and having your soldiers zoom around feels pretty cool. Getting that short burst of super speed, and seeing your soldier zip around the map definitely made the mechanic feel like it was actually somewhat important. The management of the player network of bases is probably the thing that I feel like worked out the best. Of course, it ended up making the game extremely easy, but that's OK.

I'm not sure that having one-way transfers was really a good idea. It was actually harder to implement unidirectional movement than it was to enable bidirectional, at least with the way I put it all together. There's also no way to undo a road. I did this intentionally as I didn't want network management to be haphazard, but it ended up limiting the players ability to be reactive to a situation  I'm still not sure if that's good or bad, do I want players to pay for their mistakes that gravely?

Conclusion:
Overall, I'm actually pretty pleased with January's game. It's insanely simple, and I don't think it's fair to call it anything more than a prototype, but I think there's a lot of potential here. One of my goals of the 1GAM thing, is to build 12 prototypes and then next year see if any warrant coming back to and further developing/polishing. It's way too early to say, but I definitely can see how this prototype could be further expanded in a million ways. In addition to the fact that this is the first thing I've ever made in this software, and that I went into this with no friggin idea what i was doing, I have to say I'm alright with it.

Honestly, I'm just happy that I was able to make something. Anything. Anything at all.  :P

If you want to check it out, you can here : https://www.dropbox.com/s/khttvmqdkafmkal/takeover.exe 

I realize that it's an exe file, and that scares a lot of people. That's ok, if you're not willing to click an unknown exe, I can't blame you. But if you REALLY want to play it, and REALLY don't want to mess with .exe's, give me a hundred bucks, and I'll buy the HTML5 export module. kthx. :D

There's a lot more I could talk about, rudimentary AI (and how it can stomp your face in if you don't put in decision making cooldown), the upgrades I wanted to include, working with game maker, how difficult it is to get feedback from friends, etc. But I feel like this post is already getting too lengthy, and I'm sure those more general topics will be revisited over the course of this year.

Next time, I'll talk about the February game, and what a huge failure it's been and how boring it is!!! Stay tuned.

Sunday, February 24, 2013

I almost forgot about this thing!

Well, here I am again.

I had almost forgotten about this thing! hah.

I guess updates first. It's been quite some times since I've written anything here. The most pressing update, and the reason I remembered I even had this blog, is that I'm participating in something called 1GAM. Over at http://www.onegameamonth.com/ It's a pretty interesting little site that challenges people to make 1 game a month for a whole year.

I actually decided to do this long before I found out about the site, and the community. I made it through my whole January project before discovering this community.

Anyways, to go along with my whole "year of game dev" I decided that I should be documenting a lot of what's going on this year. It's pretty important for me to be able to identify my struggles, pitfalls, successes, and all of that stuff. Which, of course, led me to the idea of starting a blog when I suddenly remembered that I already had one!

SO! Let's talk about some general observations.

First, how this started up. I found the gamemaker software free on steam and decided "what the hell". The original idea here was to try and keep my barrier for entry as low as humanly possible. I wanted to try and avoid code if at all possible, and to be able to focus purely on the design and mechanical aspects of the game.

That didn't work.

At all.

I've come to accept that I need to know some coding if I'm going to work in the digital realm. There's really no escaping that. It's good, and it's bad, but it's the truth. One one hand learning how code works, and programming logic, and all of that is of major value. As computers and internet make our world smaller, knowing how to function within software is increasingly valuable.

I've already learned *SO* much, it's really kind of surprising. To be quite honest, I have no clue how translatable the game maker language (GML) is to another, more advanced, language but I figure any experience can't really hurt me. I've always been able to decipher code and reverse-engineer it to figure out what's going on, but never before have I really had to think long and hard about generating code.

I find that most of the logic and math is actually fairly easy for me, it's finding the functions and formatting that is a huge pain in the ass. Of course, I'm typing this from a position of "I've only attempting extremely simple development" so I could (and likely will) end up eating those words in time.

While coding can be troublesome, where I'm struggling the most is with Art.

I am not an artist. I have very little skill with art, or patience with it. I realize that art is absolutely a learned skill. Having gone to art and design school and being forced to "do art" a lot, I know that the more you do it, the better you get at it. But I don't enjoy it.

I love mechanics, systems, how things work together, I love to sit down and figure out how things work. I'm often highly inspired by art and art itself can cause me to flood with ideas on how I can factor that into systems or what neat things I could do with it. But generating art is... simply not my bag. baby.

Anyways, I'm going to be trying to update this more often now that I legitimately have something to talk about. I'll write in a bit on my January game and do a post-mortem of sorts, then later I'll do some writing on the February game and what a disaster it's been so far! :D