Tempo Tantrum

The music is having a tantrum and can’t decide how fast to play. You move with the tempo, as do the enemies. Watch out for environmental objects like spike blocks, they don’t have ears and will keep moving regardless, so don’t get caught in their tracks when the music stops.

 

Download from itch.io and give it a go.  Here’s how to play:

  • Two players (or one ambidextrous player) race to the end point.
  • Don’t move when the music has slowed down, and avoid anything red.
  • Collect coins to raise your score.
  • WASD moves player 1 (green)
  • IJKL moves player 2 (blue)

The theme for the 2017 Train Jam was ‘unexpected anticipation’, which was pretty challenging to work with. The first thing that came to mind was Johann Sebastian Joust, which fits perfectly but already exists. We bounced some ideas back and forth and ended up wanting to do something similar to Joust or musical chairs with stop and go gameplay, leaving you anticipating needing to stop but not knowing exactly when. The environmental enemies give a nice risk-reward mechanic, do you try to cross their paths and hope you don’t get stuck, or do you go the long way around?

Jammers:

Additional assets:

  • Used the character model and animations from the free Couch Knights sample, which is licensed for use only with Unreal Engine based products

Boops, Beez, and Bears

In Boops, Beez, and Bears, your voice is your weapon: hum, whistle, laugh, or cry – whatever works for you, just do it fast! It’s a cross between between a horde-mode survival game and a participatory art experience; best enjoyed with a crowd, who are likely to be amused by your vocal antics while avoiding the annoying beez.

Continue reading “Boops, Beez, and Bears”

SharedJamUI plugin for UE4

I’ve started a plugin that implements some useful base widgets and a simple menu manager to create game user interfaces in Unreal Engine 4. It’s sort of a spiritual successor to the SharedXNA library used in most of my XNA games.

It’s open source under the zlib license, mirrored to GitHub at https://github.com/joat/SharedJamUI. There’s a bit of usage information in README.md, but it’s pretty early and should be considered ‘jam quality’ code that hasn’t been really battle tested yet. Drop me a line if you end up using it and have some feedback.

Global Game Jam 2017

For the first time, we’ve actually got a couple of sites in the triangle area for the 2017 Global Game Jam, but the one I’m attending and focusing on is the UNC / NC IGDA site. As part of this, I’m giving a two-part talk with Travis Thompkins at UNC about game jams and using UE4 on Tuesday, Jan 17th at 4 PM.

Here are the slides for the first part of the talk (game jam thoughts):

Game Jam Workshop – Part 1

They’re not really meant to stand alone so I don’t know how useful they’ll be in this form, with the exception of the resources links on the last few pages.

Super Simple Slime Kat Slalom

A 1..4 player local multiplayer game where cats (made out of slime) compete to grab snacks and get the best spot on the colored couches, strewn about in a lake of lava because why not.

Created for the Simple Jam in a weekend using Unreal Engine 4.12. Simple Jam aimed to keep things manageable by limiting the number of rules and assets to 5 each. Here is how I spent that budget:

Game rules:

  1. Roll down the ramp
  2. Transform to start flying
  3. The floor is lava, so don’t touch it
  4. Grab some snacks
  5. Secure the best seat on the couch

Imported assets:

  1. Chamfered cube
  2. Sphere
  3. Lake water setup (stretching the definition just a teensy bit)
  4. Cat model [saved for later]
  5. [saved for later]
Menu screen
Menu screen
Gameplay
Gameplay

Turns out learning Z-Brush in a few hours is not actually a thing, so there’s no cat model yet; use your imagination. I’m watching Z-brush tutorial videos now and will probably work on it a bit more post-jam as I had a lot of fun making this.

You can download and play it from itch.io (Windows only ATM).

Angry Duck Diver

Angry Duck Diver was created as part of the 2016 Train Jam (March 10th to March 12th).

It’s a bullet-heavy vertical scrolling shmup/STG which contains neither ducks nor diving. Instead you have to constantly balance your avarice and cowardice, building up bonuses and choosing the ideal moment to bank your points before you are destroyed.

The theme was maximum capacity and I interpreted that as a risk/reward mechanic where you increase your bonus gauge as you approach maximum capacity, but you also increase your hit box and risk destruction, losing all your unbanked points.

Train Jam
The Train Jam was an amazing experience, both as a jam and as a journey. The scenery is gorgeous and inspiring, and jammer disciplines seemed much more diverse / evenly spread than I’m used to at local jams (which tend to skew heavily towards programmers). I’m certainly planning on doing it again next year. However, one downside was the venue for the theme announcement/team formation before boarding the train; it was narrow and loud so it was hard to hear pitches or mingle with different folks pre-jam, and so I didn’t form or join a team before we got on the train.

Continue reading “Angry Duck Diver”

Cowtastrophe

Cowtastrophe is the game I worked on for the 2015 Global Game Jam (Jan 23 .. 25). It’s sort of a co-op cow sandbox score attack thingy.  We start by assuming a perfectly spherical cow…

Premise

Overlord Phil has ordered all of his minions (that means you and up to three of your friends) to bring him cows, lots and lots of cows!

What do we do now? Cooperate to make Phil happiest or compete against the other minions to raise your status. Poor cows…

How to play

  • Gather cows and deposit them into the ‘teleporter’ (marked by a hovering sphere) to gain points.
  • The overlord is a very fickle boss, changing the desired type of cow frequently. If you fulfill his current order, you’ll get lots of points, but any old cow will keep him pleased for a bit.
  • Feed cows hay first to fatten them up.
  • Keyboard+Mouse:
    • WASD to move
    • Mouse to look around
    • Space or Left-Mouse-Button to activate your cowscoop
  • Gamepad:
    • Left Stick to move
    • Right Stick to look around
    • A to activate your cowscoop
Gameplay shot 2
Gameplay shot 2

Team

Additional credits:

Download

Download the full package (including project files) or just the packaged game.

Tested on Windows and Mac, but the packaged release is for Windows only.  Multiplayer requires multiple gamepads (use the ~ key to enter the console and type  to add a 3rd or 4th player).

Tappy Chicken

Tappy Chicken is the first UE4 game shipped on mobile platforms.  It’s a very accessible one-button game, and you can download the entire game source assets and blueprints from the UE4 marketplace for free.

The shipped version targets the following platforms:

  • iOS: iPhone 4 / iPad 2 or above, running iOS 6 or above.
  • Android: Devices with an OpenGL ES 2.0 GPU that run API level 9 (Android 2.3) or above.
  • HTML5: Browsers that support WebGL (Latest Firefox, Chrome, Safari, or Opera)

Download it from the App Store Get it on Google Play See the HTML5 Page

Tappy to Flappy!

Blueprint Macros and Macro Libraries

Originally posted on the Unreal Engine blog.

A Blueprint Macro lets you reuse a set of nodes over and over, and can be created in any blueprint (using the Add Macro button on the ‘My Blueprint’ toolbar). You can also turn a selection into a macro by right-clicking on a selected node and using the ‘Collapse to Macro’ option. A macro works a lot like a collapsed graph; you can define arbitrary inputs and outputs, which will show up as pins whenever you place a macro instance.  Here is an example of a macro named IsValid, which checks to see if an object pin is valid or not:

IsValid macro declaration
IsValid macro declaration

This macro can then be placed as an instance in another graph as ‘shorthand’ for the nodes it contains, allowing you to reuse code and hide complexity:

IsValid macro usage
IsValid macro usage

Continue reading “Blueprint Macros and Macro Libraries”

Managing complexity in Blueprints

Originally posted on the Unreal Engine blog.

As you build larger projects with Blueprints, it’s easy to end up with an overwhelming sea of nodes.  However, we’ve built in a number of different encapsulation and code reuse mechanisms to help you battle the chaos.

To encapsulate something is “to show or express the main idea or quality of (something) in a brief way”; in other words we can hide a complex sequence of nodes with a simple stand-in that conveys the same meaning or idea.  You can still drill down and see how it works ‘under the hood’, but you don’t have to worry about the details when looking at the broader picture. Continue reading “Managing complexity in Blueprints”