First up is to make a 3d platformer on a 2d view, and before even that, the player movement. Anyone who’s used unity will probably know this, but there’s a lot of confusing threads and such when you search something as simple as this, so here we go. Also note that I’m new to unity myself, so this is probably far from the best possible way to do it, but it works.
1. Create a Gameobject
Cube, sphere, whatever. You can also import a model to use as your character.
2. Select your object, then in the menu go Component > Physics > Character controller
3. Create a javascript file and insert this script: (the script is somewhere in the unity documentation, not my own)
var speed : float = 6.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;
private var moveDirection : Vector3 = Vector3.zero;
function Update() {
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
// We are grounded, so recalculate
// move direction directly from axes
moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
controller.Move(moveDirection * Time.deltaTime);
}
Now it should work, however with nothing below it the player will just fall off the screen, create a cube and go Component > Physics > Rigidbody. Scale the cube to make a floor and turn off gravity for the cube in the inspector. You should now have a simple movement system for a platformer-esque game with unity! Ofcourse your going to have to make the camera follow the player and much more till its a proper game!
]]>The theme was pretty cool this year, I wish I could have done multiple games and messed with it in different ways, we did a bit of an.. alternative approach, which is cool, because i never saw myself making a typing game in a million years. One of our team members is a PHD in something or other and tied in Benzene with the theme and our game. Another perspective which was interesting to see
What did I learn?
Big super major thing i learn’t was sleep really well on the first night. It will save tonnes of time and lost productivity. I started to crash at around 5am into the second day at the jam, and after a terrible attempt at sleep in the hallway behind a bin i felt like crap all the second day and didn’t get much done (the 48 hrs stretched over three days). On the first day i did about 62 or so 3d assets, coloured them and got them ready for rigging and export, the second day however i got pretty much nothing done and just had to sleep to recover from that mistake.
I also learn’t a few shortcuts in maya, making letters quickly, exporting in a format that ogre3d can use and how to manage size for models etc. It was my first time dealing with ogre3d/c++ from scratch, really cool to get to work with hardcore programmers instead of just my script kiddie abilities.
Ogremax exporter is awesome, exports maya’s basic colouring which saved me a tonne of time since i didnt need to texture any of the models, which would have taken up more time than we had.
The product of our efforts
Sadly we didn’t really manage to finish on time, the core of our game is there, but our scope kinda overshot the 48 hours… at least, with the major bug we ran into in the last couple hours setting us back. You can read more and download the game here: http://hollowminds.com/?page_id=655
Perth developers made some super duper top stuff this year!
]]>I’m going to San Francisco for the GDC this year.
It hasn’t exactly been a secret (relevant people know), but I haven’t been talking about it much. I’m just extra paranoid about jinxing things, I guess. The trip took ages to organise (had to get my Australian citizenship, passport, flights, etc), but it’s finally all confirmed.
I didn’t think so many people I know would be going, so it’s been awesome to hear from you guys over the past couple of weeks. I may not get to catch up with everyone because of all the hecticness (I’m mostly just focusing on learning without my brain exploding everywhere), but am sure that I’ll see a bunch of you at least in passing! Also note to post-IZ-calypse attendees: I hear Joseph may not be making an appearance. This comes from a credible source (uh…Joseph himself). We should all harass him until he agrees to show up because we are that mature. Las Vegas is not that far, dude. Oh god I just said “dude”.
Anyway, on to what I’m actually doing at GDC:
I was tossing up between the Main Conference or Summits and Tutorials pass and opted for the Summits and Tutorials. I haven’t been in the US (or out of Australia, in fact) since 2005 and the trip itself is going to be busy enough as it is without feeling like I have to try to cram everything full of main conference talks. Instead I’ll do tutorials on the first two days and explore the expo at my own pace for the remainder of the time.
Even with just the S&T pass, there was so much to choose from during registration. The AI Summit was the first thing that caught my eye, but I decided that the technical side of it would still be somewhat over my head (for now). This is unfortunate as one of the AI summit talks is by Mike Lewis, senior server programmer at ArenaNet, about AI in MMORPGs. ArenaNet + AI + MMOs? Yes, I’m pretty sure the stars just aligned. And I won’t get to see it. Crap. But I think in the end skipping this summit this time is for the best.
Next I looked into the 2-day game design workshop, but the first day was already full so it seemed pointless to register for the second day without having the knowledge from the first.
Then it came down to picking between Learn Better Game Writing in a Day and HTML5 Tutorial Day for the first day. The choosing between code and design or writing thing seems to be becoming a pattern in my learning process. The general feeling I get is that I am drawn to programming as a means to an end – to build my ideas. But it also just feels so fricking good when your stuff actually runs.
Anyway, for the first day I opted for HTML5. Because I figured I can get my design fix in the next day by registering for the Level Design in a Day tutorial, which I did. I would’ve preferred writing to level design, but really really wanted to do HTML5 and this schedule gives me a good mix of coding and design.
Elaborating on the above programming vs design thing…People normally assume that I would lean more toward art and design as opposed to programming and design (and that’s often what I end up doing), but while I’m definitely better at drawing than I am at coding (by “better” I mean I can draw something other than a stick person), it just doesn’t seem to give me the same feeling of accomplishment. Even I find this odd as I was always a very art-leaning kid. Not sure why, but programming seems more fulfilling for me despite being the total opposite of everything I’ve grown up doing and being a complete n00b at it. And when I finally grasp a concept, try it, and see what I just wrote run without throwing a bunch of fatal exceptions it’s probably one of the best feelings in the world. It’s like “Holy crap I made this and nothing broke!”
It’s as if coding forces you to use a part of your brain that’s totally different from anything you’ve used before (for me, anyway) and makes you look at the feature you just imagined, maybe specced out, from a totally different perspective. Like using a muscle that’s atrophied and feeling it get stronger as things finally start to click and turn over in your brain. Or like looking at two photos of a scene taken from completely different perspectives. It’s making me want to start learning math again, darn it. I don’t even like math.
I’m not sure if wanting to focus on both a left brained and right brained practice is a good thing or not over the long term, what with having to switch between two different modes of thinking all the time (and it really does feel like flipping a switch back and forth for me. Much like switching between English and Russian – there’s an area of retardation somewhere in the middle until the gears start to turn in the other direction). Maybe a day will come when I’m going to have to pick one. But learning how to build my ideas as well as how to design the things I want to build seems like the most comprehensive approach.
In the end programmers seem to have the most power in indie development. They can build things on their own. It may have programmer art and the writing may not be very inspiring (although I know programmers who are ridiculously creative and have amazing ideas), but a programmer can build something that works and seems to be the most self-sufficient role in the development ecospace. A designer who can’t code needs to rely on coders to do it for them. Having people in niche roles and having them stick solely to those positions may be fine for a studio that can afford to hire all the dedicated pieces of the puzzle, but this kind of separation of roles is often unrealistic for small independent and/or hobbyist developers. It seems necessary to become a Jack (or Jill) of all trades. Which is cool. It just means there’s more to discover.
So who else is going?
This is the game I worked on for the 48hr Global Gamejam 2012 with a programmer and some outsourced music. It’s more of an ~interactive experience~ than a game at the moment, but we hope to make it more fun in the nearish future.
]]>I ended up with more of a virtual world or virtual ecosystem than a video game. I ran out of time to put probably the most important thing into the game - game mechanics. Also no time for sound, the player has very little agency in the world, and there are no win or lose conditions.
Overall it was a lot of fun to build though, and I got some pretty neat new technology for jsGameSoup out of it, namely the isometric camera library, and a lightweight vector math library.
GGJ was also really fun just because of the social aspect of being crammed into a room with like minded people for 48 hours. Can't wait for next year!
]]>The theme for this year’s game jam was this image (of the Ouroboros):
I was working alone (again :/) since I wasn’t able to attend for any real length of time (but I could work at home on my laptop).
Concept
My initial game idea was a sort of “serpent rocket” game in which the player had to launch a rocket in such a way that it would eventually hit it’s own tail (launch point). While interesting, the feat of aligning the rocket’s path turned out to be horrendously difficult for a player (me) to achieve.
Design Iteration
The game design then proceeded in more of an abstract direction. The serpent “tail” was visually distracting, so I just left it out (changing the serpent to an “Orbitorus”). I still wanted to communicate the feeling of return, but didn’t want to burden the player with the onerous task of a perfectly aligned return flight. So I changed the goal to activation of nodes (attractors) and made the return automatic after the goal was complete.
These changes made the game feel much better, but it had little replay value. Inspired by cyclical level sets (prevalent in early 80s games such as Gorf), I figured that I could further reinforce the feeling of “infinity” by creating a looping set of levels which would be classically easy (ish) to complete, but difficult to master. A simple way to encourage this was to record the player’s score when they first complete the level, and to later require them to beat that score the next time they encountered that level.
The beat-your-last-score mechanic worked surprisingly well. It introduced a fair amount of replay value because it created another consideration and challenge. Players realise that they should progress incrementally (beating the existing high score by as little as possible) in order to progress further and further into the game. Over time, I found that I could not only pass every level, but also pass them in different ways with a relatively controlled path and score.
Player Experience
The theme of incremental progress resonates strongly with me. It seems that people often want to wildly proceed in large bounds, but often burn themselves out and fail to achieve their larger goals. So I’m happy to have created a game that encourages and rewards measured actions, practice, experience, and thoughtfulness.
When I started playing the game, I didn’t think that I would make it past level 11. However, my current high-score is level 39 and I’m already thinking of strategies to get even further:
Final Thoughts
Overall, I’m very happy with this game. Unlike my previous Global Game Jam games, I focused more on gameplay (rather than story or message) and I feel that Orbitorus is much more enjoyable as a result (which isn’t always the end goal, but was important to me on this occasion). Moreover, the game conveys a stronger message as a result of greater gameplay depth. So I feel that it’s a success in that regard as well.
]]>
Got some sleep. Lots of on the TODO list for today. About 7 hours left. :)
]]>

I have a reasonably concrete idea of where I am going. Hopefully there will be time to iterate on my idea and "find the fun".
]]>