The Blog of Ryan Foss

It's a start!
frontpage

Fireman Run Dynamic Water Spraying Geometry


WaterSprayer1

I built some custom editor extensions in Unity to help me make geometry for use in level creation.

The spraying object’s mesh is generated on the fly with a number of settings. It automatically generates the geometry, assigns UVs and adds additional colliders for game interactions.

Rocket Builder Prototype

This Rocket Builder Prototype is something I’ve been playing with. Inspired by Kerbal Space Program and my kids interest in Bad Piggies’s sandbox mode, I built a quick prototype for testing. When I showed my kids its was a hit, and I’ve never experienced better motivation.

CLICK TO PLAY

This prototype was built in Unity 3.5 and works on Android, PC and web. I used Unity’s built in physics of rigid bodies and joints for the parts which I think works great.  I’m aware of a number of bugs or strange behavior, and the interface needs work, but it is a prototype after all.

There is still a lot I want to do with this, and my kids have more ideas too. Hopefully I can get back to it in the near future.

If you have any ideas or comments, or a cool design you want to share, send me a note!

Young Blenders

I introduced my son Aidan and Nathan to Blender today. Blender is a free 3D program for making geometry, renderings, animation, etc. It’s pretty popular and fairly complicated. I showed them a youtube video of someone making Minefraft stuff and this is what resulted.

Halloween 2012 Minecraft

I really enjoy Halloween. Of all the holidays, this one is the most fun for me. This year I went with another costume theme for me and my sons, our favorite game Minecraft. Last year we went as Plants vs. Zombies

 

Minecraft Halloween 2012

I regret not getting more pictures and video, but there is always next year!

Adventure Time Gamemaking Frenzy

Play The Game

Jake in the Land of Falling People is a simple game where you play as Jake the Dog and you have to save people who are falling, as well as keep from being bombed. To do this, you use Jake super strech ability to punch and grab things in the sky.

You can play the game in a browseror on your Android device (download the APK).

When I heard about the Game Making Frenzy with Adventure Time, I mentioned it to my kids, three boys ages 9, 7, and 5. They were very excited. When the jam started, we spent about an hour Saturday morning talking about game design and ideas. The design had a lot of crazy ideas, which I feared I couldn’t program, but the basic idea was pretty good. Having Jake punch things out of the sky was a great idea with lots of potential. Inbitially you were supposed to switch between modes, for punch and grab, but that was unwieldy and confusing. The idea of punching, instead of grabbing, falling people in the sky was funny, but also frustrating. Development took place mostly on Sunday. The boys would run up and scan in a picture of an airplane and bombs and ask me to put it in the game, so I would. And the loop went like that, with me developing other core stuff as we went along.

The game is unfinished, but functions in a complete game loop. There is a lot that I didn’t get to, but I didn’t get a good start until Sunday. The “boss” and “power up” items were not implemented. Sound is missing and very needed. It’s also sometimes confusing as to why you lose the game.

The Unity3D framework was used as the core engine. Code was written in C# using MonoDevelop. Art was drawn on paper, then scanned and edited in Photoshop. Playtesting was done on PC, Web, and with Android on Kindle Fire and a Nexus 7.

There are a few known bugs (mostly showing up in the Android version because of timing and touch inputs), but for the most part the game should function on most resolutions.

I worked with my three sons to make this game.  Instructions are lacking, but quickly its punch the bad stuff, catch the falling people, and don’t die.


Play in your Web Browser

Download the APK for Android

Fireman Run Menu Development

Over the last week I’ve started implementing the menu and interactive buttons into the Fireman Run game. Rather than describe some of those changes, I recorded a quick video to show how my development is going.

Fireman Run is a game I’m developing with a few friends. It’s made in Unity, using C# and primary testing is on Android devices at the moment.

Project: Fireman Run Reveal

This isn’t much of a post I admit, but I’m so overdue and I have to much to say about it that I’m boiling over. So for now, I just want to say that I’m working on a Android mobile game called Fireman Run. It’s a rooftop running game, but with fire, and you can spray to put out fires if necessary.

Automatic Road Geometry Generation in Unity

I’ve had an awesome project at work developing a simulation in Unity3D that builds a test track, a road essentially, right before your eyes.  Technically, we’re using some pretty hefty data, including OpenCRG and Power Spectral Density data as inputs, but I also added a lower weight random algorithm that can make for some roads more appropriate for game play.

In the image above you can see a long length of track that I generated with a few inputs.  Additionally, it creates road rails to help keep the vehicle on the road.  It also creates a simple ditch on each side of the road from a simple profile. Additional options include material selection, which changes the road appearance.

It’s not often that I get to share stuff from work, but this is only a taste of what it can do. The project will eventually be released to the public. Hopefully some day I can share a video of everything it does.

The vehicles are from the Car Tutorial project provided by Unity.

Unity Skyboxes Help

I’m building a simple weather system in a Unity simulation at work and I’m using the supplied Skybox shader along with some of the supplied skybox materials.  The supplied standard asset skyboxes do a good job for part of what I need, but I needed a few more variations.  I decided to use one of their texture sets and make a few quick atmospheric modifications.  As I expected, doing this in Photoshop can come with some problems.  Texture alignment at the edges and corners required special attention, along with the box distortion.

I made this helper image as I worked to remind me of how things should work.

Global Game Jam

I can’t believe I let this go without mention, but man I’ve been busy!  I have so much to say and reflect on it overwhelms me to think about it.

The Global Game Jam 2012 is one such event.  Way back in January I spent 48 hours making a game and it was awesome.  Of that 48 hours, I slept four!   The result was a game we called “Boogie Fling”.  It was developed in Unity, and you can play the web version here: Boogie Fling

Much credit has to go to Ty Burks for most of the art and Tori Kamal for the hilarious sounds and music.

The Game Jam was awesome and the local IGDA group had an outstanding attendance with over 27 participants on 11 teams!  It was awesome fun to jam with so many cool and interesting people.

 

Young Ryan and PCs

I love old photos, especially when they are with me and a computer.  Every picture like this captures me in a trance, locked in on the PC with an unmoving gaze that I see in my own children today.   The difference though, I was using DOS while they are making worlds in Minecraft.

I have no idea what I may have been doing in this picture, but I’m guessing I’m around 9 years old.  I was probably playing a game, but its also likely I was playing around in BASIC.

10 Goto 10

Bleep Menu Prototyping

Interactive Unity Menu System Prototype

This is a quick mockup to demonstrate and test out the level menu system for The Bleeps, a mobile game in development with Battery Powered Games. I added the other menu screens to give a complete experience of the UI flow.  I made it to explore the menu design concepts we’ve been discussing, as well as to communicate some of the ideas better than through explanation.

This level selection concept is different than what I would consider the standard model, where the levels are sequentially earned. The concept for The Bleeps connects levels in a more dynamic and selective way. But, this also comes with a potential problem, since a Next Level button doesn’t really make sense any more. How does it feel for a player to go back to the level select screen?

Hungry Monsters Prototype

While on my recent business trip, I spent my time at the airport and on the plane programming a game concept I’ve been thinking about a lot lately: Hungry Monsters (the first prototype). Fair warning, there is no game play yet, but merely a rapid prototype of the game play elements, specifically the resource management of employees, work stations, ammunition and the actual playing field.

Hungry Monsters is very similar to Plants vs. Zombies, but with my own engineering spin on it. What’s different, at least in my design, is that the player will have to decide how to spend their resources differently by running a bakery to provide the food (the ammunition), as well as place weapons to fend off (feed) the onslaught of hungry monsters. Players will have to decide if they place another muffin shooter, an oven, or another employee for instance.

The prototpye at this stage doesn’t allow the player to do anything yet, but was built to allow me to investigate the idea. Through the Unity Editor I’m able to try different combination of things. Considering this took me about 6 hours (built from scratch in airports and on the flight for a recent business trip) I’m pretty happy with the outcome and excited to move on. Please excuse the Microsoft Paint artwork and simple geometry, it is a first pass prototype!

In the next version I hope to have the basic interactive elements working to allow placement of work stations, workers and weapons. (I need a better word for weapons too!)

Booth Bunny Me

I was out of town this last week, employed as a booth bunny for a simulation demonstration we made to showcase a number of our systems. It’s fun and frustrating and exciting and boring, all in one!

Minnetron 10,000 Arcade Viewer

I’ve made a Unity Web Player version of my Arcade Viewer for the Minnetron 10,000 Arcade Cabinet I’ve been building.  My intent was that this would both show how the cabinet goes together (since I built it digitally in Blender first, why not use it?) and to allow others to try out paint job concepts.

To see the “game” click on the image.  You may need to install the Unity Web Player, but it will be worth it!  Or just download the Windows executable.

http://ryanfoss.com/games/prototype/arcadecab/
FYI, the name “Minnetron 10,000″ is a play on the Minnesota nickname “Land of 10,000 Lakes”.

Halloween 2011

I went crazy with costumes this year and got the family to do a Plants vs. Zombies theme.

We even made it onto the Plants vs. Zombies Facebook page!

More pictures in my Google+ Plants vs. Zombies Halloween 2011 gallery.

Blocks that Fall in Unity

If you’ve been to the IGDA Twin Cities meetings, or have seen any of the videos (here and here) where I presented the idea of collaborative game developing, you know that the group is off and running.  We’re moving forward with a Mr. Driller inspired climbing game of block destruction.

We’ve done a lot of development over the two months we’ve been at it.  However, at the last meeting a number of bugs showed up during the live demo.  Due to certain circumstances (my laptop fell to ground and quit working) I ran the game demo on a netbook.  Although the game still played well, a number of bugs appeared more often than in my play testing, probably related to framerate and physics calculations.

As a game developer, something I’ve always wanted to do was program a Tetris clone.  Why?  Well, because although its simple, its also a good exercise in programming for a novice game programmer.  Alas, its also one of those things I’ve never done (but always think about).  Given the troubles we’re experiencing with the existing block falling code in the game, I decided it was time to take a crack at it.

Three Riker Picard

I made this last night for the IGDA Twin Cities Podcast Episode 9, titled Three Riker Picard.  Listen to it if you want to hear how this idea came to be.

Lady Killer T-Shirt Design

Check out “Three Wolf Moon” on Amazon if you don’t know what it is to see the inspiration for this work of art!

Arcade cabinet in action

I’m getting ready for the IGDA meeting. I’m presenting again, this time with props.

Arcade Design

I’ve made some interesting progress with my Arcade cabinet design.  I’ve experimented with the idea of it being more modern that typical arcade cabinets, and emphasizing the smaller depth that I can get using newer and smaller hardware, such as a flat screen monitor.  I built it in Blender to help me visualize it, as well as think about how to put it together.

I took it a step further and built an approximate 1/3 scale model using foam board.  I measured the thickness of the board and assumed it would be equivalent to 1/2 inch thick MDF and scaled from there.  It stands 27 inches tall, where the real design is 6 feet tall.  The “monitor” in this case is just black and blue construction paper the scale size of a 24 inch monitor.

Arcade Controller Progress

2 Player Controller

I finished my test game controller some time ago.  My intent was to build it both for function, as well as to see how the construction would go.  The general construction was fine, using MDF and shelving boards, however the painting was a learning experience.  I wanted it to be super smooth and glossy, so I spent a lot, I mean a lot of time sanding.

Stick and button configuration.

I started using a semi-glossy latex wall paint which went on well, but left a lot of texture.  It was also sticky, even after drying for weeks, such that if you rest your hands on the paint you had to peel them off.  I painted about 7 coats of the latex paint, each with a thorough sanding after drying.  The tackiness wasn’t right so I sanded again with a real rough grain and switched to an enamel gloss paint.  It turned out great!

The controls are pretty simple using the I-PAC 2 from Ultimarc.  It works great, acting like a keyboard plugged into the computer.

Arcade Controller

I’ve finally built and arcade controller. It was pretty easy, though I changed my mind about using a KE72 and decided to use I-PAC 2 from Ultimarc instead. It was brilliantly simple to assemble and has been a lot of fun.  I’ve also toyed with Hyperspin as a front end, but without many games and content, Hyperspin is a chore to find games that work.  However, it does come with a lot of documentation and helper programs to organize lists and everything, so I’m going to go forward with it.

Zombie Game Prototype

I’m working with Robert Green at Battery Powered Games on another game, this time its a action game. About 4 months ago, Rob and I got together for a meeting to discuss our next efforts and discussed ways to learn from our mistakes on Deadly Chambers. We each came with five game ideas and pitched them to each other, back and forth. At the end we picked one idea and went with it. The idea we picked was mine and goes something like this:

Combine Flight Control with Tower Defense, best described with with humans and zombies. You control the humans and try to get them to a safe house, they may or may not have weapons. The zombies try to eat your humans. I’m not going to go into the details beyond that because, along with a designer we’ve hired, we working on many of the details to make sure the game is fun, engaging and rewarding.

Since the pitch, I’ve been thinking about the game play and I’ve come to many conclusions. This is a problem, since we have yet to see the game in prototype form. Rob (and me to some extent) has been busy on some other projects, one of which is Battery Tech, and another is an android game that will be hitting the market within the month (fingers crossed). (My friend Bill and I did the art for this soon to be released game FYI so look for future blog posts about it). Rob hasn’t had the time to make a prototype as he’s also executing some other business ventures and contracts.

As I said we hired a designer but he has become confused about the game which is primarily my fault. With so much time thinking about the game play its hard to keep an open mind, to be flexible. It’s hard to explain things well and succinctly, at the same time to not seem contradictory to previous statements. We’ve gotten buried in communication issues and semantics. It has been interesting to see the designer’s interpretations and opinions, and his designs given our flawed descriptions and requirements. Its also been problematic because we each have our ideas we’re pretty adamant about, but no way to see them in action, get a feel for what works and further the discussion. I was contemplating making some level drawings and animating them to show how I expect game play to work, but then I decided I should just program a prototype.

This is what I love about programming. I started at about 9pm and fired up some XNA sample and just had at it. 6 hours later the clock reads 3am and I reluctantly call it quits. But at the end is a partial prototype allowing for human path drawing, basic zombie AI seeking/attack, a safe house, turning (human becomes zombie), weapon pickup, and human AI targeting.

 Ryan’s Zombie Prototype Version 1

In the above picture, the grey blue lines are paths for the humans. The purple diamonds are zombies. You can also see some of the humans are armed with little guns. The lines from humans to zombies show that the humans are targeting and within range of a zombie. I’ll be adding some code to do shooting next as well as see what Rob and the designer say.

Needless to say, I’m excited to program again and wonder why I never really get into it when its so much fun. I’m excited to build up some momentum on this project as well. I’m art lead with two artists on my team, so I’m anxious to get them working.

More Logo Work

We’ve finalized the logo’s.  Here’s some of the work that was done.