Project2011 is a No-Go

Sadness!

It’s become increasingly apparent to me with my current level of knowledge it is impossible for me to get Project2011 to a playable state any time in the foreseeable future. I’m not even sure where to start with some of the key skills I’ll need to learn and others I just have no desire to learn (e.g. anything that would normally be the purview of an artist).

So, I could keep bashing my head against Project2011 and make a game that’s no fun and barely even playable or I could take an entirely different route.

In many ways, Project2011 has already met its goal. I wanted to learn Java well enough to pass the SCJP exam to improve my ability to get a dev job. I’m confident that I now know Java well enough to do that.

So, I’m putting Project2011 to the side for the time being. I love the game concept and will return to it in the future, when I know more about games development.

To that end, I’ve downloaded Unity and started learning it. I plan to complete at least two games between now and the New Year. These will, of course, be quite small games using whatever art assets I can get my hands on for free. The idea being that they will be a bit of fun to throw together and will teach me a lot about Unity and the common approach to games development.

I’m also going to start looking for some other Adelaideans interested in games development, especially of the arty variety. If there’s one thing that Project 2011 has taught me, it’s that games development is a team endeavour. Hell, I already knew that. At the very least, you need someone to actively bounce design concepts off.

Anyway, that’s enough rambling.

I’m spending three days next week working on a short, not-at-all-shiny, somewhat-shabby game. I’m doing this as a 72-hour challenge, so all I’ve done thus far is think about some possible game concepts.

Today, I’ve been working on the 3D Platformer tutorial that Unity make available. Given that next week’s challenge will be my first actual game, I’m leaning towards sticking somewhat close to the principles covered in the tutorial and making a 3D Platformer. Ideas are welcome…

Oh, and next week’s game will feature a troll…

Project 2011: First Release

Huzzah! I have released v0.2.0 of Project 2011!

I’ll try write up some more details about it and what I’m going to do next sometime this week. But for now it’s way past my bedtime.

If this blog post is too short for your tastes, I strongly recommend wandering off and reading the entirety of the Urban Jungle webcomic. Disclaimer: It’s not my fault if you lose the next few hours of your life reading through the entire comic.

Project 2011: Design Process Contemplations

When I sat down to start Project 2011, I planned it out in much the same way I run a table-top RPG – a lot of up-front thinking about where I want to accomplish, a few pages of quickly-ignored scribblings, and then diving head-first in to running the game.

I don’t know why I chose that system, in retrospect it was quite foolish. The outcome is highly variable when you’re running a table-top game in a system and setting that you’re familiar with. The times that I’ve run it in a system I don’t know (especially a rules-intensive one like D&D or Dark Heresy, as opposed to something like the World of Darkness) or in a setting I’m not intimately familiar with (especially a half-cocked homebrew)… well, those times the results have been incredibly consistent in their abject suckitude.

I knew enough Java to comfortably pass a first year Java-as-a-Second-Language course at uni (let’s ignore the fact that I did it as a second language without having a first under my belt. Yes, I know that means there were (are?) some key gaps in parts of my knowledge) and I’d poked around with a few bits and pieces here and there. It was a fantastic learning experience and solidified a lot of my understanding of some fairly fundamental programming concepts, but ultimately I coded myself in to a position where it was going to be far easier to start afresh than to make enough changes to have the game work.

So, I sat back and thought about the design process somewhat more. I considered the obvious idea of sitting down and designing the entirety of the game from the ground up on paper before starting. A few things turned me off this idea – firstly, it sounded like a lot of not-fun which would increase the likelihood that I lose interest. Secondly, even a cursory amount of time spent thinking about it made me realise that I just didn’t know enough about how to structure programs to actually completely plan it out in advance. At best, the plan would get re-written ten thousand times as I discovered that you can’t do things a way I thought you could or that there are vastly superior ways to do it. Thirdly, I didn’t have a strong idea of how the final game should look. I had a small set of traits that the game had to possess, but wanted to keep it open beyond that. My experience with homebrewed table-top RPG systems and settings is that you need to playtest early and often and that you need to be constantly prepared to throw out even in the most fundamental of mechanics if they don’t work near-perfectly with how you want the players to experience the game.

I also started thinking about how the best table-top RPG campaigns that I’ve run were planned and organised. The two greatest campaigns that I’ve run were very different in how they played out but surprisingly similar in how I prepared for them. Notably, there was no real plot. There certainly wasn’t a road-map of where we were going. There wasn’t even really a end-game goal in mind. Instead, I had an initial idea for a mood or theme for the game, found out what sort of characters my core players wanted to play, and then designed the stage that they’d play on. The NPCs were heavily fleshed out with goals and a personality, though there back-stories and resources were left largely unstated. The city itself was fleshed out in loose detail at first. A very high level overview of the city as a whole and then a moderately detailed view of the area that the characters would start.

Most of the design though wasn’t done until the game was already substantially¬†under way. As the players took their actions and considered their plans, I would flesh out those characters and areas of the city that they were likely to encounter a bit more. I’d add back-story as needed, invent new rules where required. Sometimes there were contradictions and inconsistencies. Quite regularly actually. They were rarely noticed – I think this is because every time I designed another piece of the tapestry I had the overall theme and mood of the campaign foremost in my mind, so it always felt like it fit together even if it didn’t.

Now obviously a PC game is quite different to a table-top RPG. For one, inconsistencies will be far more noticeable in a replayable PC game than in a table-top game that can never again be played in quite the same way. However, I do think that the fundamental approach is still valid – work out what the over-arching player experience that you’re looking for is, work out the theme and the mood, and design your game to that. No massive design document at the start of the process, just a list of unchangeable objectives. So, that’s what I did. I guess we’ll see how it turns out…

I’ve also started doing a lot of reading around games design and development and one of the blogs I’ve been paying attention to – Games by Design, written by Christopher Park, the founder of Arcen Games (AI War, A Valley Without Wind) – had a post today that discusses a design process that sounds like a much better variant on what I’d come up with myself. Today’s post is actually a follow up to one from late 2009 in which he describes Iterative Design as he sees it. Well worth checking out.

His work has led me to thinking that I need a little more formality in my design process, so in the next week or two I’ll be posting an article or two about Project2011′s immutable design goals and my secondary design goals.

In other news, v0.2.0 now has a functioning UI – you can end turns and everything! I just need to add an End-of-Turn Summary screen and write the code for one more activity and then there’ll be a little bit of playtesting whilst I decide what gets included in v0.3.0 – at this stage I’m leaning towards adding at least 10 or 12 new activities that a character can undertake, implementing some very basic traits that actually do something (currently, they’re all place-holders), and maybe adding some basic support for buildings. Milestone 2 (multi-character support) will be waiting until the character class is a little bit more stable and until I’ve worked out a few design issues around how characters will be able to work together and share inventories and the like.

Announcing: Project 2011

Somewhere between my 25th and 26th birthdays, I decided that every year for the forseeable future I would undertake one grand project of some sort. Last year it was to run from Tea Tree Plaza to the City (along the Torrens, a little over 19k all up). This was a fairly tall order for someone who hadn’t been involved in any sort of physical activity since I was on the school soccer team’s bench in ’96 (from memory, I played two halves all season and never actually touched the ball). Nonetheless, it was accomplished. I’ve spent several months now thinking about what the next big project would be. There have been a few non-starters and many more false-starters. Eventually, it became obvious to me that I should use the project as a way to learn to code. Of course, before I could do that I needed to know the fundamentals of coding. Two courses in to a Grad Dip of IT later and I’m ready to start the project.

For the moment it’s working title is simply Project 2011. ¬†As the year progresses I’ll reveal more and more about it, but for the moment all you get to know is that it’s a competitively co-operative multiplayer long-form game.

The part I expect to prove the most challenging is finding the necessary artwork, but more on that in a later post.

Oh, and you get to know the alpha-release date: 16 October 2011. I will release a playable alpha-version of the game on or before that day.