So, whilst hovering somewhere between leaving and arriving, I've found a minute or two in the midst of render tests to write a post. I thought I'd take the opportunity to briefly outline some of the awesome addons, extensions and resources I have used (or intend to use) in my Unity projects.
I should add that I'm not plugging these resources for any reason other than I really want to. That said, I will take bribes. HAHA! Just kidding! But seriously, bribes. Not really! LOL! But yes.
I should also mention that all of these resources are completely free (or were at the time of posting) so go sign-up/download/bookmark/print-off/subscribe/do whatever needs doing!
This site gets its very own category. It has had a pretty big effect on me, both internally and externally. Whilst it's still new (and ever growing) there's a wealth of wisdom and advice here that can best be summed up by the site's own tag line:
Go Indie. Live Well. Make Great Games!
Nothing has resounded so loudly with me: Particularly the "Live Well" part, which as it turns out (and contrary to what Western media seeks to enforce upon me) does not necessarily mean "Fly your private jet to Paris for a weekend of champaign served by nubile virgins whilst burning piles of money for the ambience." Life happened to me recently, despite my best efforts to tirelessly pass it by, and the circumstances around the collision have given me a new appreciation for just how damned important it is to do what you love. IndieBits.com is the distillation of that wish into something deliciously consumable.
Check out IndieBits' blog entry on resources for speedy game making here.
I actually remember not having the internet. I don't mean just me, I mean I remember nobody having the internet, by virtue of it not existing. I remember being mindblown by the technology involved in using a telephone to connect to this crazy thing called a Bulletin Board. And then someone showed me how to download shit over the wires and I was convinced that technology had reached an insurmountable pinnacle of innovation. Thankfully, I was stupidly naive. Here are some of the online communities I have on my bookmark bar. I check these daily, sometimes seeking help but often just for inspiration and motivation. There's a lot out there, and I'm sure I'm missing some fantastic links, so if it's at all gamedev related (code, art, design, for fun) please post it in a comment!
TIGSource: Independant gaming community with forums and reviews.
GameDev.net: Forums and news.
IndieGames.com: Independant gaming news and reviews.
Freeloader: 1UP's free indie game blog.
GameSetWatch: News, reviews and articles.
VisualizeUS: A kind of social network for image bookmarks. Lots of eyecandy!
GameArtisans.org: Forum for game artists. Lots of sexy artistry.
Polycount.com: Forum and news. Also lots of sexy artistry.
ConceptArt.org: Forum for concept artists. Tonnes of inspirational awesomesauce!
CGTalk: Forum for 3D artists in games, film and TV. More inspiration!
Here be a list of resources which fit into the "cool stuff you can do online" category. The evolution of the internet from a cataclysm of animated GIFs, to a world encyclopaedia of pornography, to a universal application platform (running a world encyclopaedia of pornography) is an exciting thing to see. There are a bunch of resources out there which I make use of either sporadically, periodically, or all the damn time. Here are some of them:
ColourGenerator: Online pixel-art palette matrix generator.
Kuler: Adobe's own colour resource.
ColorLovers: Another community driven site dedicated to palettes and aesthetics.
Color Scheme Designer: An online formulaic palette generator. It's a great place to start if you have a primary colour in mind but aren't too sure of how to complement it.
From the author's website:
HOTween is a fast, type-safe object-oriented tween engine for Unity, compatible with all of Unity's scripting languages.
Allowing you to apply animation to any attribute of any object, this is a really cool alternative to the (also brilliant) iTween. What I really dig about HOTween are both the uber performance (fast!) and the brilliantly simple to use editor. It makes setting up fades or pans or bounces or jiggles or [insert any number of motions] a breeze.
This works in a similar way to Maya's Hypershade (or UDK's material editor) giving you a node-based approach to building shaders. Even if you know some CG/HLSL or are fluent in Unity's shader system, this is a super handy extension, and incredibly functional and flexible to boot!
A framework for AI navigation, making it easy to implement various common enemy behaviours, mostly autonomously. Examples include: Flocking, wandering, persuit, obstacle avoidance and vehicle chains. If you're anything like me (i.e. fail at math and AI scripting) then this is an incredibly useful toolkit.
Very handy. I wrote another post about it here. Go download it!
This is the sound generator I have used for all in-game sound effects up to making this post. It's brilliant fun to play with, and generates authentic 8-bit sound effects at the click of a button. In addition to having a bunch of categories (such as pickup, lazer, jump, etc.) you can create sounds from scratch or finetune randomly generated sounds with complete access to all sound effects properties. Seriously, just download it!
If anyone has any further suggestions, please feel free to shout out and I'll update the post! For now, go leech my awesome links of awesomeness!
Tomorrow will mark one week since I began my 30 Games in 30 days challenge. A week doesn't seem like a milestone worthy of it's own post, but I wanted to pause briefly to make some observations.
Tomorrow, I begin packing for Sydney. On Wednesday, I start my new contract as a lighting artist on a brand new TV series. It has been over a year since I last had industry work, and three years since my last screen job. To say I'm nervous - about the move, the job, and pretty much everything from tomorrow onwards - is an obscene understatement; a truth to which my rebelling digestive tract could attest.
But what I'm most nervous about isn't new job expectations or organising accommodation or being in a strange land with strange customs. My better half and I can even handle the 6 weeks apart*. What makes me nervous is making games. More specifically, trepidation that the immediate future doesn't have much time for personal creative pursuits. I can reassure myself that my heart is in this, but I know Film and Television, and their best friend, Overtime. We're on really intimate terms.
I'm only 6 days and 4 games in (the mathematically astute will recognize a discrepancy) but I genuinely feel like this challenge has already had lasting positive effects on my creative aspirations. Before starting this challenge I had this terror that I would forever be cursed by the first impression. I felt my first game had to be the pinnacle of interactive perfection. Which, to the artistically astute, is the perfect creative paradox to ensuring that nothing ever actually gets done.
But this challenge got me over that. Instead of sitting here forever, daydreaming about releasing The Perfect Game™, I've gone and made a few kinda crappy games and it's too late to take them back. It's done. I imagine it's how celebrities must feel when they accidently post pictures of their junk to Twitter.
The positive result of all this is that I can't really justify worrying about stupid shit any more. And we all get to laugh at photos of some celebrity's junk.
Additionally, I have evolved a spectacular understanding of how much work I can actually get done when I just do it. It's a new clarity, and with it comes a new package of expectations which for the first time since starting this exercise in game making (I mean the greater exercise that began a year ago) feel realistic and positively achievable. I'm brimming with optimism, and I really hope that doesn't get swept away in the inevitable carnage of long hours and production deadlines looming on my horizon.
So, this post is a bit of an assurance. I'm slipping on my t-shirt, and sneaking out the door... but it's only because you look adorable sleeping and I don't want to wake you.
If it's in my lunch breaks, on the train, or at midnight while I feverishly tap away at my keyboard under the lurid glow of the Unity editor, furtively glancing at the clock and wondering how much sleep I really need anyway, I'm going to get these 30 games done, dammit. And I'm going to strategise how to make this thing really work while I'm at it because, you know what? I actually kind of believe it can, now.
People are playing my games. I cannot possibly describe how awesome that is.
* Yet to be tested...
Fourth game is up! It's a puzzler, albeit a pretty simple one for now. Once again, over scoped and spent time on things that could have been left until later. I will learn this lesson at some point!
Arrows or WSAD to move. It's isometric, so the directions don't map to screen coordinates. But on the plus side, you have infinite lives! There are only 10 levels, and the game loops (so if you make it past 10 screens, well done!).
I lost a lot of time on this one to polish: That is, those little bits and pieces that should wait until the game is done. For example, I added a blob shadow under the player, which resulted in a stream of problems to solve, like transparency sorting and other shader issues. That took quite a lot of time.
Then I added animation to the player. Even the simple jumping movement took quite a lot of time to get right. I suck at physics math, and spent too much time trying to solve that route rather than finding quick, cheap ways to just make the ball move in an arc. You'll notice the ball moves on a grid, too: The player provides input once, and the ball is moved before input is returned to the player. What is conceptually simple was actually a bit of a headache to get working.
There's a lot going on behind the scenes in this one. It's funny how simple little elements of a game can take quite a lot of engineering to get right.
On gameplay: I'm not too upset that this didn't turn out to be super fun to play. That might seem a weird response, given how much time I spent on this one, but I actually really dig this concept and I have a tonne of idea for turning it into a complete game: New tile types, new traps, even some enemies. I'm also super happy with what's going on under the hood, because a lot of it is reusable and will almost certainly make its way into future games (and save me a bit of time in the process).
I could spend more time on this and it would definitely be a better game, but I'm absolutely confident I'm coming back to this one, so it's going online as a proof of concept, and I'm going to have a go at catching up. I believe I'm two games behind now. Let's fix that
*Exhausted panting*. Third game down, but I've lost a day! Need to get two games out in a day to catch up!
Arrows move (up and down only). Warning: This one is a little unforgiving. You only get one life! No checkpoints!
This is another game I think might have some potential to be turned into a neat puzzler. Once again, I over scoped. And suffered for it. It's been a mad dash for the last day and half to get this done. The main problem was that the game just didn't work using Unity's built-in physics: Controls felt 'loose', and the ball's movement was unreliable. I had to code my own simple physics solution which involved using a lot of stuff I'd never touched before. This slowed me down a lot.
I was aiming to have another 10 - 15 screens with some additional features, such as buttons which reconfigure the screen's layout, and destructable blocks, similar to Breakout. If I come back to this one, I'll definitely add those features.
There's a fair bit more I could say about the experience, but it's late and I'm tired and have to drive 8 hours in the morning, so off to bed I go! Suffice to say, this was a pretty painful exercise!
Well, another day down and another game 'done'. Check out Mini Brutalabit and let me know what you think!
Arrows move (or you can use WSAD instead). Avoid the lazers. Collect the yellow pellets and keys for points. Try to make it to the super secret end boss*!
I actually really like this one. It reminds me of Castle Adventure, which I talked about previously on my blog here. What I've completed in a day is just the bare skeleton of the thing, but I really like it and think it has potential. I'll almost definitely return to this at some point (hence the "Mini" in the game's title).
It needs enemies. I even designed some puzzles around enemies, but had to replace them with boring corridors because I just didn't have time to get them done. More environmental traps and collectable items with corresponding puzzles would be nice, too. Add an earned ability to fight back, and a boss fight or two, and I'd totally play this game HA! The problem with enemies for this one was pathfinding - I had no easy way to give the enemies some awareness of the player's location. I think I'll create a simple game around an A* implementation so I have access to pathfinding for a future game.
Other than the lack of gameplay elements resulting in a bit of a boring game, my initial scope was a bit out there again. I find that scoping outside reasonable limits makes me work much harder to get it done, but it does mean I spend more time implementing stuff than testing and fine tuning it.
I got some simple sound effects in which is definitely a bonus, but still missing music.
Anyway, even without enemies the game is kind of hard and unforgiving of screw ups. But I like that, too! At any rate, I feel like game #2 is a definite improvement over game #1, but perhaps only because it appeals to me more, being all unashamedly old-school (albeit, only a fraction of what I'd like to do).
* Pro-tip: He's invisible!
First game done! It has been a bit of an epic effort to get this out today, but here it is in all of its playable... er... glory?
Left and right arrows move (or you can use A and D instead). Avoid the pumpkins. Collect the crystals. One point for every pumpkin which splats, along with 10 x Level points per gem collected. Only 3 gems will be spawned at any one time.
What went right? Everything and nothing! I made dumb choices, making this game take much longer than it should have. For starters, the art took up way too much time (probably about 8 or 9 hours on art and coded art effects). Occlusion baking really freaking sucks! This is all made worse by the fact that I had a cursory art pass done in less than an hour. It was functional, but it bothered me, so I ended up screwing around trying to get a baked-AO look to everything. Technical limitations and creative choices slowed me down a lot.
There's no sound. That's a shame. I would have liked to have figured out how to add sound (it's something I've yet to experiment with in Unity) but I just ran out of time.
The gameplay is boring. I expected that. Initially, it was just dodging pumpkins, but then I realised I needed to add something to give the player a desire to move around, particularly in the early levels, so I added the gems.
There's not enough complexity or depth here to really take much away from it other than: Too much art in these short-burst game making exercises is bad and doesn't leave much time for testing and tweaking gameplay. I think it could be more entertaining with just a little bit of tweaking difficulty.
My best score is 2445 btw!
I'm standing at the bottom of a mountainous incline. Joggers on and water bottle hanging at my waist, the view from this vantage point is a little vertiginous. Every little shred of my being is internalising extremely convincing excuses for walking away now. I'm awfully good at finding excuses, the really good kind which totally justify a lack of forward momentum. Intellectually, I know a commitment of this type gets results. Emotionally, I'm squirming, furtively looking for an escape and hoping no one will notice me slipping away. This is (as should be obvious due to my complete phobia of physical exertion) a metaphor. A confusing one, but it's at least visually effective.
Last year was my year to learn game making. It has been close to 12 months since signing my Creative Contract. Despite a lack of public evidence, I really do feel I did particularly well in my goals. Few things have felt as thoroughly rewarding as the progress made in my spare hours over the last 12 months. And I guess like much self-growth, most of the results of that effort have been internal.
But some things remain worryingly unchanged. For starters, my tendency to leave things unfinished. I have a folder full of partial projects, all of which I'm emotionally connected to, but haven't committed to as much as I would like. I intend to return to them one day (probably soonish) but right now there's too much involved in those commitments. Scope or skills or expectations are all outside the realm of feasibility. That's just part of the problem.
Having achieved last year's goals and feeling mighty fine about the achievement, this is my year to make games. There's a new expectation here: To complete. But this is at odds with what drives me to achieve.
When I'm learning new things, I can show up every day. It excites me. If I hit a wall of misunderstanding, I just flex the brain muscles and work my ass off to climb over it. The challenge of overcoming my (many) intellectual shortcomings is more than enough fuel to keep me moving quickly towards my goals. The language I'm using doesn't quite explain how much this gets me going: I thrive on intellectual challenge. The more difficult, the better. Every day a new puzzle to solve, and every day a new achievement, a new goal, a new milestone in front of me.
But something happened recently. The Mountain.
I realised, with a kind of slow-dawning horror, that I knew everything I needed to know to make a game. All that remained was doing it. And that's where I run, face covered, screaming "DON'T LOOK AT ME!" and taking my only solace from the fact that I don't have any regular readers to point out my lack of tangible progress.
Suddenly, it's no longer about learning something new: It's about applying. It's about time, and persistence, and patience, and commitment: All things I am unfortunately kind of terribad at. And this incline is terrifying to me. I'm not using hyperbole here: I actually get physiological gut cramps when I think about how much work is involved in making a game. Even the most simple little 8-bit retro console clone is a veritable fucktonne* of apparently insurmountable effort. It quite literally makes me feel ill.
So my options are somewhat limited. Either I stop trying to make games, or I develop strategies for dealing with my mental issues.
I assume that my problem probably stems from some fear of failure (it seems to be the going neuroses for us creative types) but the good news is that this is the age of hyperchondriacal internet self-diagnosis, and if I'm going to work on beating back the tide of self doubt, laziness, and whatever else is going on all up in my grill, I have a digital fucktonne of resources to help me deal with it.
Thankfully, one such resource (indiebits.com) has had some superbly positive impacts on my mental well-being. The site is run by a totally rad business-y, creative-y game scene babe, Epona Schweer. Her advice has been broad and insightful. But even better, I've found it to be adaptable.
Cherry picking from her plethora of resources, along with bits and pieces from my random internet readings on procrastination and psychological blocks and all that other thinky type stuff, I believe I may have developed a fun strategy that could really assist me to get over it.
I will create 30 games in 30 days.
Here's where I break to breathe into a paper bag for 30 seconds. I wish I was entirely kidding.
So, I'm going to work on making 30 games over the next 30 days. That's playable, start to finish, published to my blog, completed games. My dumb head wants to start throwing out disclaimers, like "But the art will be crap" and "The gameplay will be stupid" and "Probably full of bugs", but I think people get that (see what I did thar?).
And ultimately, it doesn't matter. What matters is that I get the fuck over this stupid fear of finishing things. And with any luck, I'll probably learn a thing or thirty while I'm at it.
Wish me luck!
* fucktonne (fûk - tûn)
n. 1. A very fucking big amount of stuff.
Just a short post tonight. I found and installed a fanfrakkingtastic DebugConsole script by Jeremy Hollingsworth & Calvin Rien. The script adds a fully functional debug console/log to a project.
Binding commands to methods is super simple. In minutes I had a very handy "LoadLevel" command working, with parameters for controlling what happens with the loaded level (and any messages/methods to be handled when the level load is complete).
I can see myself using this script extensively. It has inspired me to spend some time trawling for other handy additions to my Unity arsenal. Giving me another excuse to use the word 'arsenal'. LOL.