4D Life Drawing

NOT REALLY A GAME… instead, it’s life drawing on a dancing figure – time slows down while you draw. I wanted to get across the urgency I’ve felt in some life drawing classes when asked to “draw this moving figure in 30 seconds”!

Links:
Web Build
Windows
Mac OS
Linux

Controls: click and drag to draw, space commits all the current strokes on the dancer to the page, enter removes ALL strokes. Click the watch to “cheat” and stop/ start time for the dancer. Click the eraser to temporarily hide the dancer and the current strokes on the dancer.Screen03

Continue reading

The Cooler

screenA dumb game based on a vague memory of watching The Great Escape as a child. But at least I’m back to making little games! Made it in a few hours this week. It’s very nice to be programming again, with fairly easy stuff I can do quickly. Unity’s sprite tools are pretty fantastic, I’ve got to say.

Play here: The Cooler

The rules are, you have to bounce the ball off the ground, then the left wall, then click and hold to catch it. Don’t pull the ball outside the middle rectangle. The “sparkly” bits get you double points! Points accrue after a short amount of time. Press Esc to see your highscore (updated after you fail).

Sorry if the physics when you let go feel weird! The art is pretty awful but hopefully has a bit of charm about it. Thanks for playing!

Week 4: Jellyfish Toy

Didn’t really have enough time to make a game this week, but I made this little jellyfish toy thing:
screen2

https://dl.dropboxusercontent.com/u/32538545/JellyFishWebBuild/WebBuild.html
You just move the jellyfish by hovering your mouse over a spot and it will come to it. Hovering over the jellyfish will make it face upwards.

I wanted to experiment with physics systems in Unity. The tentacle things are Character Joints (although I tried out Interactive Cloth and Fixed Joints – eh, none of them are great for this) and driven by the first one in the chain rotating. I’m adding slightly random forces to each part of the tentacle every frame to suggest water turbulence, and make them tend away from the main part of the jellyfish. There are interactive cloth parts on every other part of the jellyfish apart from the top bit. (I have no vocabulary for jellyfish parts!) The cloth was the hardest thing to get right probably, it just screws up with 99.99 percent of the available settings.

The vertex shader on the jellyfish distorts it according to its world space position, so it looks like it is being buffeted by turbulence. The fragment shader is various rim lighting effects composited together with some noise and a lambert shader.

The sea background is another weird shader I chucked together with a couple of input colours and using a quad’s UVs (I used some of Shaderlab’s awesome examples again for a few noise functions). The light shafts are basically cubes extruded and distorted with a vertex shader, blended additively. There are some basic 3D particles floating around to make it look like the sea.

Here’s a screenshot from the editor (with none of the image effects making it look nice!):
screen3

Week 3 Game and making of: SCP-1197

This week, I wanted to practice simple first person gameplay, and experiment with minimal graphics – so I created a first person text adventure. Gameplay is a bit like Gone Home, but without the visuals. The story is loosely based on an SCP entry, hence the name, but don’t look at it till you’ve played the game please, unless you want the end spoiled! The link’s at the bottom of this page. Screenshot of the game:

Continue reading

Week 2 Game: Shaderball

This week I wanted to make something with a minimalist look. I totally failed at that. This is Shaderball:

2

It’s a 2 player air hockey type game; you push your balls to the opponent’s side. You have 10 balls you can fire into the goal to get a higher score than your opponent. Player 1 has the ability to pull all balls towards the centre of the two players. Player 2 has the ability to slow down time. Only one ability can be used at any time. The number of balls left for each player is represented by the black part of the circle in the player.

Play here: https://dl.dropboxusercontent.com/u/32538545/Shaderball/WebBuild.html only 50kb!

Here’s a short gameplay video:

Controls

With Xbox 360 controller(s):

  • Left thumbstick – move player 1 (left side)
  • Right thumbstick – move player 2 (right side)
  • Left bumper – player 1 release ball
  • Right bumper – player 2 release ball
  • Left trigger – player 1 ability –  pull balls towards centre
  • Right trigger – player 2 ability – slow down time

With Keyboard:

  • WASD – move player 1
  • Arrow Keys – move player 2
  • Left ctrl –  player 1 release ball
  • Right ctrl – player 2 release ball
  • Left shift/ F – player 1 ability –  pull balls towards centre
  • Right shift/ Comma – player 2 ability – slow down time

The game is called Shaderball because the shaders’ code comprises about twice as much as the gameplay code. There are 2 main shaders, one for the board and players, and one for the balls, sides and number of balls left. The only other things are particles and text. With lots sine and cos functions modulated by 3D simplex noise (all factoring in time), the shaders are near the maximum number of arithmetic instructions. I used a variety of these shaders for reference: https://www.shadertoy.com. Hopefully it will work in your web browser (if you have a decent GPU)!

I did most of the gameplay in one hour, which just shows how nice Unity is! I took lots of coding shortcuts this time, which didn’t have any repercussions. I should definitely spend less time on visuals and more on gameplay next week!

1