March 17, 2009

Project Protos: ongoing this week

I’m back on the project again today. Technically I was supposed to finish off by now, but I had some change of plan:

  • I decided on Saturday I was too exhausted to burnt myself out, so I decided to take the weekend off.
  • Hours after that decision, I was struck a series of headaches that forced that decision. [wink] Not sure what the problem was, but I was in various grades of useless all weekend.
  • Monday was better but I wasn’t able to pull it all together. I did spend some time playing with the music, but organisation was a bust.

Stuff like this happens, but I need to knuckle down and consider this project with more gravity than a pet project, if I want this to be my job.

My new target is to finish the Flash game by the end of the week, using the weekend as spillage time if necessary. For it to be finished, it needs to be playable and have a modest amount of polish, and generally be good enough to sit on a website with pride. This gives me four days to learn the Flash development pipeline well enough to get the job done. However I expect I’ll spend some of those days doing other tasks, so it reality it’s a lot less than that.

Today I will get the proper basic prototype working, even if its ugly and unbalanced. I’m aiming to post a prototype screeshot tomorrow, as well as a description of the game.

Permalink • Print

March 14, 2009

Project Protos: Day 4

Next time I do one of these, I think I’ll step down the daily updates to just key milestones. Sometimes, even if I get stuff done I don’t have much to talk about.

The good so far: I’ve got the basic cannon working. The bad: still havent got anything resembling a game. Things are moving a bit too slowly. There’s a bunch of pesky little annoyances that are taking longer than expected to sort out.

Case in point: I’ve worked on some new graphics in Inkscape. Unfortunately, Flash doesn’t import SVG files, but luckily I do have a copy of Illustrator which does. Illustrator has some strange ideas about what to do with the SVG primitives though, swapping out the colour palette for some strange muted version and completely messing up the stroke (the outline) on shapes. Grr. If I have to I’ll export as raster images, but it’s a bit of a waste to have to use raster in a vector driven tool like Flash.

The other big problem is more mental. I think I’m a bit burnt out. Strange to be burnt out before I’ve really begun, but I’m essentially doing the same thing I’ve doing for the last few months: sitting at my desk typing at my iMac. My focus is shot, which may be why I’m constantly stumbling over things and not spending my time wisely. My hunch is that I need to regulate my time a bit more, so I can spend my time at the computer focused at the task at hand and then relax guilt free. It’s the latter bit that’s important: I’ve spent the last year feeling guilty about not working when I’m away from my desk, and all it does is fuel your procrastination and make you slow down to a crawl.

I think I’ll take the pressure off myself to get this finished within a week. It’s an internal deadline after all. If I need to spend a extra few days to polish it up, then that’s okay. I can then spend significant chunks of the weekend doing other vital things without much worry, and calmly finish the game by Wednesday or so. I can take a step back for a little bit, review where I’m going wrong, then try to fix it for the finish.

Permalink • Print • 3 Comments

March 13, 2009

Project Protos: Day 3

Pew! Pew!

I haven’t yet quite got the basics running yet. I’ve got a gun turret and a crosshair cursor working, but the bullets are still broken. I haven’t yet figured out a good Flash way to implemenet them yet. It’s the memory management aspect that’s the issue. Flash’s Arrays appear to be sparse, which means it’s not straightforward to just delete a bullet, and I haven’t found Flash’s equivalent for a linked list yet. I might have to improvise something out of arrays.

Most of the delays come from my need to get up to speed and my unfamiliarity with Flash. I don’t yet know all the library functions and variables, so I have to look everything up. Occasionally I’ll hit something odd that takes a while to find the right fix.

I’m also a bit hamstrung in that it’s been a while since I’ve written game logic, so I’m trying to remember all those little details like the best way to manage my code and deal with frame rate independent logic. For this project I’ve cut back on the planning and an just piling all the logic into one file, but there’s a few cases where I’ve had to spill out into separate classes (and hence files; ActionScript is a bit like Java that way) for the sake of sanity. It’s not pretty, but it doesn’t need to be pretty.

Oh, and Flash’s drawing tools are a bit crazy. This is a gripe I have with all of Adobe’s tools, actually. I shelled out mad money for Adobe Creative Suite CS3 (well, I saved a bundle by getting an education discount, but it was still expensive), but the tools are some of the least intuitive I’ve used. Each tool seems to have multiple functions, and I don’t get when each one is in effect. I admit I haven’t given these tool enough time to do them justice, but that’s usually because I’ve got a task to complete and if it’s quicker to do it in GIMP, then that’s what I’ll fire up. Which is ironic, because GIMP’s interface is no slouch in the WTF department itself. Inkscape’s the only art tool I feel really at home with.

Back to Project Protos: at this rate, I figure I’ll be up to designing the gameplay today. I haven’t fully decided which direction to take this. The curret art is a placeholder and I don’t know which style I’ll end up using. I’ll probably just knock together something a bit more vector-y in Inkscape and use that; see what works.

Permalink • Print

March 12, 2009

Project Protos: Day 2

This week long game project is markedly different from the week I spent on Pierre and the Fish a couple of years back. Back then I felt like my mind was on fire, and threw everything I had at the project. This time, a bunch of minor ills have made me feel a bit more sedate. Nothing serious ( add indigestion to lack of sleep), so I’m not actually sick, but it means this project is more about pace and perseverance than passion. That’s not a bad thing; I won’t burn myself out that way. And I’m sure I can rekindle and regulate the necessary fire once I’ve got back up to speed.

Day 2 was spent relearning the basics of Flash and game development in general. I’ve got a copy of the book ActionScript 3.0 Game Programming University by Gary Rosenzweig, which is a good primer. It’s even got the code for a turret-based shooter game within it, so I’m virtually guaranteed to get something working on time.

I spent the day working through the basic examples: “Hello World” and all the little demos that show how to do each core element of game-related functionality in Flash (display, input, sound, timers, animation etc.). This wasn’t so much to rote learn the specifics (I’ve got references for that), but to prod my neurons into remembering how to make games. I’m very rusty, so this took all day.

The best thing I remembered about Flash and ActionScript 3 is that it uses an event-driven programming paradigm very similar to the one I developed myself for my own 2D framework. For those unfamiliar with event-driven programming, it’s where the program flow is dictated by when key events happen; i.e. when someone presses a mouse button or when a second has elapsed, then do this. You typically do this by linking functions (called listeners) to events, such as myButton.addEventListener(MouseEvent.CLICK, clickButton);, where myButton is the object that you want to deal with mouse clicks and clickButton is your listener function. Event-driven programming is perfect for GUIs and I find it works a treat in games too.

Today (start of Day 3), I’ll get to work on building the playable prototype. Having some source code as a base will help, although I plan to write it again to help jog my game development memory. My current checklist for the day goes like this:

  • Read through the bits of the book that describe the turret shooter game and take notes. Look at the reference code within Flash as well.
  • Roughly plan out the basic core of the game on paper.
  • Write the code and get it running with crudely drawn placeholder art

If I have extra time, I’ll look at the game as it stands before deciding what to do next.

Permalink • Print

March 11, 2009

Project Protos: Day 1

Day 1 was… uneventful. A complete lack of sleep doesn’t do wonders on my concentration. I ended up spending the day working on my website revamp, shifting shapes and colours around my mock up. I’ve got a good idea what the website will look like in shape, but not so sure about the colour. All I know for certain is that it will feature my favourite colour orange somewhere, and that lipstick pick works surprisingly well in a varied colour scheme.

Today I’m going to put all the HTML stuff to one side and get cracking on the Flash. My plan is simple, in that there effectively isn’t one. I’m just going to get a bare bones system up and running today without much thought into how it will come together. Once that’s in place, I’ll take it in whatever direction seems best.

Permalink • Print

March 10, 2009

Lab Game #1 - Project Protos

Ugh. Didn’t get much sleep at all last night. It’s a spate of insomnia this week. I probably need to cut back on the coffee. Well, can’t do much about that now. Despite not being in a more suitably chipper mood to start a creative project, it’s time to get cracking on my first game project of the year.

Lab Project #1: Protos

  • Codename: Project Protos
  • Goal: Game Development Warm-up
  • Technology:Flash CS3 for Flash 9
  • Concept:Turret based arcade game along the lines of Missile Command or Paratrooper
  • Duration: One Week

I’m starting my year of game development with a series of little microgames. This week I’ll work on my first of these. I always start my game projects by thinking of a unique code name, so I’ll come up with one right now: Project Protos. That’s “protos” as in Greek for “first”, not “protos” as in “those high-tech dudes from Starcraft“. It’s not the most original project name, but it’ll do for this one until I need a real title. I’ll save the creative stuff for when my morning coffee kicks in.

The sole goal of this first project is to dip my toes back into game development again. No fancy extra objectives required. Get a game idea roughly sketched on paper, get it roughly implemented, clean it up as much as possible given the time, then call it done. Pretty straight-forward. This is just about getting me to work on a game than it is about any other objective.

Since the sole goal is to make a game, I’m picking Flash as my development platform. Out of the options available to me, it’s by far the quickest to get up to speed. I never got too deep into Flash last year, but given the scope of the project and the nature of ActionScript this should not be an issue. At least I think so; I’ll have to see if I’m right about this by making the game.

Game concept wise, I’m not going with anything too complicated. A classic arcade style game should be sufficient. I’ve got a hankering to make one of those games where you control a gun turret and blast things, kind of like Missile Command or Paratrooper. This should be pretty suitable for a mouse controlled Flash game.

For time, I’ll give myself a week. I don’t want to get bogged down on the warm-up game, and a week should be plenty for this type of game. With Flash making things easy, I should be able to get the basic gameplay running in a day or two. The rest of the week can be spent polishing it up and adding in new gameplay features.

That should be a good way to start. A nice and simple warm-up arcade game in theory, but I’ll have to see how it goes in practice. Once Project Protos is complete, I can post-mortem it and use the experience to plan the next little microgame project.

Permalink • Print • 1 Comment

March 4, 2009

Procrastination via Education

The vast wealth of knowledge on the Internet is both a blessing and a curse. When I was a boy first learning how to program I’d have given my milk teeth for something like the Internet today. All I had to work with was a couple of book on how to program in BASIC. These days, with the Internet, there are hundreds of guides for just about everything. But if you’re keen on learning then there’s an insidious downside to all this information at your fingertips; you can spend entire days reading more and more without actually doing anything. It’s an easy trap because you can use the justification that you are learning, but sooner rather than later you need to be doing as well.

This is what has happened to me over the last few days with setting up my new website. I don’t know much about web design and management, and with the emphasis on security I always feel there’s some critical gap I am missing. I’ve worried about the safety of my domain name with my registrar, the type of hosting I need, how to run my server, using WordPress over plain HTML, and so on. Sometimes the advice is conflicting. If I read too much in one sitting it just feeds into my paranoia, which makes me want to read more. It can end in effective paralysis.

There’s also the basic problem of being swamped by so many options to do everything. This is a general problem with everything to do with computing. There’s so many options to do anything; multiple types of hardware, multiple libraries, multiple service providers. If you aim to find the “best” solution you will spend an eternity evaluating all the choices. I’ve noticed this problem with myself, and I need to learn to put my foot down and if I find a decent solution that works, then I go with it.

All that aside, I have got some progress done. My current objective is to build the basics of a new website that will blossom into a business site. To start, I want to get the skeleton up and running internally where I can test it before putting it up online.

Currently, I have an Apache server running on my iMac together with PHP and MySQL. It isn’t actually that hard to get Apache and PHP running as they’re both part of Mac OS X, although dormant by default. I installed an updated package anyway to speed things up. MySQL was a little trickier as I did not get the permissions right first go. It took several hours to get it and phpMyAdmin working. Unfortunately for me, database management is a big gaping hole in my acquired knowledge so there’s plenty I need to learn.

After that, I’ve got a local copy of WordPress up, configured and “secured”. Modification is still an ongoing process. I’ve got a bit sidetracked reading about all the security issues and plugins. I know security is a big issue for a big open source project like WordPress, but I don’t know whether a lot of the security issues I hear about stem from the kind of people who think “password” is a good password for their system. Currently I think I’ve fixed the basic vulnerabilities; got all the file permissions set up, hidden information on files and directories using Apache’s config, used non-standard names to stop automated attacks and got the administration panel protected with a double password system (HTTP Digest for key files, plus WordPress’s own system). Certainly overkill for a test website that no-one online can see, but all good practice.

Next up, I need to experiment with a directory structure that works for what I want it do to. I’m leaning now towards doing the whole site in WordPress, at least to begin with. To start, my site’s basically going to be a blog anyway. Eventually I’ll be adding in a lot of static page articles and product pages, but I think WordPress should expand to cover that too in a way that has extra benefits (such as including all pages in the same . For a one man website I think it will be sufficient to do a few tweaks to a blogging engine; better that then spend an age learning a more complicated over-powered CMS system. If WordPress can generate static HTML pages for the main site with a bit of automagic, then that’s all I’ll need.

I also need some good administration tools, such as a few good ways to log what’s happening on the site and a method for automating backups. I’m assuming there’s some good methods for this already out there. Once I have the basic global structure down, then I can start thinking about web page design.

And on top of all this, I also need to get started on actually making games. With all the focus on game-a-week and game-a-fortnight projects right now, it is probably best to just jump in feet first. I’ll do a bit of thinking about what a good first project will be, but I’ll make a promise to myself to start on a short, actual game related project by Monday next week, if not earlier.

Permalink • Print

February 24, 2009

“Sketchable” and “The Lab”

Andrew Russell’s “Sketchable”

I have been somewhat surprised by Andrew Russell’s “Sketchable” Blog. It seems Andrew is aiming for a very similar goal to mine; a business making our own games, free from cubicle life. Not only that, but his plan is very similar to mine; starting with simple prototypes to find ideas that work. And Andrew’s an Aussie as well, so we’ll have similar logistic issues. And we’re starting at roughly the same time. Wow, talk about coincidence!

If you haven’t already, I recommend signing up to the “Sketchable” blog and following Andrew’s progress. I thought I already had his RSS feed entered into Google Reader, but I only got the first entry. Hopefully I’ve got it right now.

One of the big differences between “Sketchable” and my project is that, with delays due to my dilly-dallying with my PhD, Andrew Russell is now at least a month ahead of me. I was planning on going full pelt with blogging about my plans once I had a new website at my new location set up sometime in late March, early April. Now I feel like my hand is tipped. While I am glad to have another Aussie blog going down the same path to inspire me and to keep me on track, Andrew Russell is now blogging competition. My only recourse is to challenge Andrew to a race around the world.

Game Plan for 2009 & “The Lab”

It’s also timely to read Andrew’s blog because I’ve been doing some paper calculations and I realise I need to kick things up a notch if I am still to entertain the concept of releasing a sellable game sometime in 2009. I will most likely blog about this some more once my new website is up, but it’s time to outline my broad approach to game development this year.

As I see it, there’s three big business areas I should work on:

  • Marketing - letting people know I exist and have something they’d like to buy/try/see
  • Research - prototyping out new ideas
  • Production - making products to sell

As well as this, there’s also administration (keeping everything running) and training (learning new skills), but those are fairly straightforward as to their purpose and value.

Marketing gets an important billing on my list as I think it’s the area most neglected by indies. It seems most indies prefer to be working on making games, not promoting them. However I think marketing is the most important activity to success in this field. If people don’t know you exist, how will they know about your game?

My marketing plan is still in development, and hinges a lot on just how much I can get done in a day. Basically, my plan is to draw people to my new site with as much interesting material as I can. I’ll have a developer’s blog, obviously, but I also plan to write a few tutorials and articles to host there. I’m also planning on having a few freebies and game prototypes as a drawcard, very similar to “Sketchable”. This is a nice tie in to “research”.

Research is the fun part of trying out new ideas and technology without caring too much about production values, deadlines or marketability. Plus after several years in academia, I really need to have a research outlet worked in here somewhere!

The genesis of my approach to research stems from the Experimental Gameplay Project. I marvelled at how these developers could pull together idea prototypes in a week with such flair. The success of World of Goo only shows how valuable this approach is to creative indie development.

Also, like Andrew Russell, I think these little prototypes will be a great way to market our existence to the outside world. My little research wing is currently nicknamed “The Lab”, as it’s catchy and short to write in my plans. I’ll probably keep the name unless something better strikes my fancy.

My plan is to extend The Lab to cover technology demos as well as gameplay. The idea is to completely separate out “production” from “research”. Ideally, all production will be doing is taking ideas and tech developed and proved in the The Lab and bolting them together. Less risk, little fuss. Seems sensible to me.

All of this is planned to launch on a new site sometime in March or April, depending on how long it takes to build the website. I expect rapid changes on site for the first few months as I learn the ropes, but things should settle down later in the year when I start working towards a product.

For the first couple of months, I have my focus on setting things up and finding my feet. I’ve been a bit hesitant to get started for a while, but that might be due to my Ph.D. status at 99%+ for the last month or two. Once that is well and truly behind me (which it should be in the next week, barring any mishaps), that psychological weight should be lifted. I think Andrew Russell’s “Sketchable” approach is probably more sensible then a tentative one, and I should just dive in and start building stuff instead of learning each piece slowly and separately. Part of the problem with starting a big venture is that everything is uncertain; it’s like a jigsaw puzzle with no pieces on the table. Instead of spending time locked in planning it’s mostly likely better to jump in, throw a few pieces down and see if they make sense, with the option of rearranging them later.

That will mostly likely be my plan for March. February’s almost over regardless, so I won’t feel guilty about using the time left this month to tie up loose ends and get everything prepared.

Best of luck to everyone in their projects. If I’m to race Andrew, I’ve got a balloon to catch.

Permalink • Print • 1 Comment

January 13, 2009

Sketching Software Trial - Introduction

This post is in stereo, posted both at my personal journal at and at my journal.

One of the things I plan to do in early 2009 is to brush up on my skills, as well as learn some new ones, in some dedicated practice sessions. My goal is to become skilled in all areas of game development and management. This is for a number of benefits: if I really have to I can make a game by myself; I can attract freelancers’ interest better with higher quality working prototypes; and I hope to find good synergy and innovations between the combinations of all the different fields.

A big area I need to work on is my art skills. I did some somewhat undirected doodling and scribbling throughout the last few years and brought my skill up to “poor”. After a lapse of the better part of a year, my art skill has deteriorated down to “very poor” or possibly “terrible”. It needs some serious work, and that means serious practice.

I think this time I will try more digital art practice than before. I used to just doodle around on paper with pencil, but things hardly ever got finished that way. I have never been very good with ink due to my somewhat bad left handed pencil grip; everything smudges so easily. With digital it is easy to correct mistakes, plus I get more practice with my Wacom tablet and actually getting images into the computer.

At the moment I am only reasonable at using Inkscape, the free open source SVG editor. However a vector editor like Inkscape may not be the best tool for this job. Therefore I am looking for another good tool for a relative art beginner to learn with. I am currently reviewing a few that I have heard are good for this.

A brief checklist of the properties I am looking for:

  • Good as an equivalent for freeform rough pencil sketching, brainstorming ideas and building up interesting characters. Typically I do this with a pencil on A4 paper when trying to figure out what works and what doesn’t. For a software tool to emulate this, the interface should stay out the way and make it easy for the ideas to flow.

  • Good for sketching the basic skeleton of an image. When I draw a typical Inkscape image, I usually start by doing a rough sketch as a basis. Currently I do that within Inkscape itself using the calligraphy tool, but importing raster images works too. A high quality finished result is not necessary for this stage, but it needs to be good to use as a reference image or as an underlay.

Highly desirable additional properties are:

  • Ability to ink the rough pencil sketch into a final version. The more I can get done in one tool the better.

  • Ability to extend further to make full pieces of concept art. Not essential, but would be extremely useful if I get good at a particular tool.
  • Any other features that I think would help in learning art - shading, colouring, use of different styles, ex cetera. This is not mandatory, but every extra useful feature for this helps.
  • And obviously, price is a factor too. I am more likely to buy useful software if it is cheap.

In short, I am looking for something that offers a fun, easy to use interface for rough pencil sketching and hopefully inking and other art features as well. A zillion extra professional features is not required.

Over the next week, during the periods I can stand my un-air-conditioned office space during the current hot spell, I will trial some software to see how it meets this criteria. My art skills are a bit shot, so I’ll do a few quick doodles to see how it feels then try a cartoon figure. I’ll spend maybe a few hours on each tool, then post a review up here with my comments. Once I’m done, I’ll buy whatever I think makes the grade.

My list of software to trial has expanded a bit since I posted a query in the art forum:

  • ArtRage 2.5 - emulates natural media, especially oil paint but also has pencils and markers. Comes in a free Starter edition with less features, and a cheap US$25 Full version.

  • Autodesk Sketchbook Pro - designed to be a digital sketch pad. Is very popular with artists for the role I am looking for. US$100 for North Americans, unknown price for me.
  • Corel Painter Essentials 4 - Painter X is the leading product in natural media software. Essentials is the toned down version for a fraction of the cost. Essentials costs US$100 from Corel, although Apple Australia is offering it for A$100. (Painter X is about seven times the price).
  • Adobe Photoshop CS3 - The big brand name art tool. CS4 is the current version, but I already own Creative Suite 3 (I got it to get Flash plus all the other Adobe tools with an educational discount). Costs about as much as Painter X, but you can get the stripped down Elements for less. For me, cost is moot as I already own it.
  • GIMP 2.6 - The open source raster art editor. I have had misgiving about GIMP, but for fairness and completeness I will add this into the trial. Cost: free!
  • Inkscape 0.46 - Last but not least, my favourite vector editor, Inkscape. I currently do sketches with Inkscape’s calligraphy tool. I am putting this in last just for comparison, plus I can compare a vector editor to all these raster editors. Cost: free!

That’s probably enough for a series of handy tests, unless I find out about another good tool out there. I’ll post each individual review here when I am done with the test.

Permalink • Print

August 20, 2008

What’s in a name?

Another post to say I aten’t dead. One month to go on the PhD write-up, and everything still feels only half done. Still, you’ve got to submit with the thesis you have, not the thesis you’d like to have. I’ll be in crunch mode from now until mid-September. I’ll still be posting now and again on the forums so I have some contact with the outside world, but don’t expect such luxuries as “coherence” in the stuff I type in the next few weeks, m’kay?

The only game related stuff I’ve done in the last month or two has been business planning related. Since I’m the only one who needs the whole plan I’m using a personal wiki on my computer for the planning. It’s great at the moment as it’s very informal, and if an idea pops in my head I can quickly jot it down so I can focus on other things, safe that the idea is recorded. These personal wikis are great for any non-linear document, and I only wish I started using them earlier.

The other business related thing I’ve been doing is more brainstorming of business names. Since I’ll be operating on-line I’ve made it a rule that whatever name I own must also have the dot-com web address available. I’d also prefer it if I didn’t have to tack an extra word like “Games” on the end, like having to register because is already taken. I don’t particular mind having something like “games” or “studios” at the end, but it does make it longer and it also limits me to using the business name in one area; if I decide to branch out to do a bit of consulting on the side I’d probably need a second name.

Unfortunately I’m bad at picking names. I spent ages trying to decide on “Trapper Zoid” for example. A good name needs to be memorable, relatively unique yet identifiable and spellable, represent something about you that you want to project to others. And on top of all that it needs to something you can live with for a while without you hating it.

My current plan is to register half a dozen or so dot-com address (already done) and then sit on them for a couple of months while I finish up my studies and set things up. During this extra time I can mull over the names in my subconscious and try them out on random people until I get a good feeling over which name I like the best. Then I’ll register that one as my business name. I’ll also have a few backups which I think are almost as good in case something goes awry when registering.

I’ve currently got three names that I think would be workable. However an issue has cropped up: while I like all three names and think any of them could be suitable, they all do project a slightly different image. Ideally I’d like to pick the name that projects the image closest to what I want the business to be, however I’m currently quite flexible about that. I don’t particular need on an artistic level to make a specific sort of game; I like nearly all genres and would love to work on any of them. So it’s not as if there’s an obvious choice based on my future vision of where I want to be.

I reckon that something as simple as the choice of name I go with could shape the future direction of the business. The choice of name will shape the logo I make, which will in turn shape the coloration and style of the webpage. And since I’ll be spending a lot of time working with that logo and style, it’s bound to have some effect on my inspiration and creativity. A certain style could suggest playful, cartoonish casual games, or it might skew me towards stylish niche indie games instead.

But then again, it could just be that deep down in my subconscious there’s a particular direction I want to go in that I don’t realise, and that my preference in name will reflect that. Which comes first, the chicken or the egg? It’s an interesting question.

Permalink • Print • 12 Comments
Made with WordPress and Semiologic • Trazoi Bounce Box skin by David Shaw