Entries in Unity (4)

Monday
Dec152014

Ludum Dare 31 Entry - SUPER FUN FAMILY PRIMETIME TELEVISION SIMULATOR

Click here to visit the Ludum Dare entry page

This is the first Ludum Dare where I’ve had a “full-time” partner through the entire weekend. My brother Spencer was able to work entirely on the art while I focused entirely on the programming. Clark Aboud was also able to contribute some amazing music as he has done in my previous entries like TIMEframe.

We wanted to do something a little outside the box with the theme of “Entire game on one screen” so we took it literally and decided to have the game revolve around an actual TV screen. So, how do you make a game mechanic out of that? How about trying to keep your family happy by finding something to watch.

We set off in this direction with a goal of getting high marks in the Humor category by having lots of really funny little micro-parody shows on the television with unique art and audio. This idea was ambitious to say the least. With a family of four we settled on 16 unique channels and 64 unique shows.

This was probably our biggest mistake setting out. We could have managed to get largely the same gameplay out of a much smaller set of possible shows and it would have saved us tons of time. On the programming side it took me countless hours developing a system to randomize the various channels and shows to have a unique experience every playthrough. On the art and audio side it became obvious that we could not craft each and every show by hand. We settled by creating unique music for about 17 shows and unique art for the channel logos and commercials. The rest of the show images were grabbed and filtered from actual shows and the rest of the audio was done “Charlie Brown Adult”-style with Spencer mumbling hilarious parody versions of all the remaining shows. In the end we were extremely satisfied with the humor we managed to squeak out of concept, but we certainly could have done much more with a smaller selection of shows from the start.

On the plus side I did learn a ton about randomization of game elements. This should really come in handy for some things I would like to do in our professional project, Lacuna Passage. I’m also quite happy with the art style we came up with for the living room and family members. The cel-shaded style lends itself well to the comic-nature of the game and it was extremely fast to create without needing to worry about textures.

The actual scoring mechanic is something that we didn’t actually add into the game until the last 2 hours before the deadline. This was a bit scary not knowing if the game would actually be fun to play, but thankfully we had a pretty solid base built up for tracking which characters liked which shows and a scoring mechanic came from that pretty naturally. The only thing I think feels a bit off is the fact that you are playing as one of the characters that you must also keep happy. That perspective is not the most intuitive when needing to display the scores for each family member. Your score (the father’s) is placed down towards the bottom of the screen which is difficult to quickly compare to the scores of your other family members at the top left of the screen. Ultimately this is a minor issue and with some additional time I think it could be adjusted to make more sense.

I’m extremely happy with what we managed to put together in such a short time and that is in no small part due to the fact that I had a more dedicated team for this jam. I’m looking forward to the next Ludum Dare so that we can apply everything that we’ve learned to a new entry!

 

Thursday
Dec192013

Ludum Dare 28 Entry - Dodgy Ball


Dodgy Ball is, well… something. The idea was to make a TowerFall-like game with dodgeballs instead of arrows. I think we succeeded in our most basic goals, but the result can be a bit buggy and some of the platforming elements aren’t always consistent.

I had never really attempted to do a proper 2D physics platformer before, which is where most of the “dodgy”-ness comes from. Platform collisions aren’t perfect. Floor and wall jumping forces aren’t 100% reliable. And the code for picking up and catching balls is hacked together at best. Actually, there isn’t a single line of code in the whole thing. Everything was done in Playmaker for Unity, which might explain some of the problems. All that being said however, I think this might be the most fun I’ve had with any game I’ve ever created myself.

TowerFall and Samurai Gunn have been on my mind a lot lately. So when I heard the theme announced, I quickly gravitated to the local multiplayer concept. Requiring multiple players and controllers unfortunately rules out a pretty large number of potential players, but hey, it has been a game type I have wanted to experiment with for a while. I also wanted to do something totally different than our last Ludum Dare entry, TimeFrame.

I spent at least 90% of the competition time refining the game’s controls. Only a few hours were spent on the art, animations, sound effects, and music (by the amazing Clark Aboud). The scoring elements and the start screen were literally implemented in the last hour of the jam. Luckily everything fell together just in time.

As much as I love the way the game plays, I think it would be necessary to go back to square one with the controls and physics if we were to release this as a polished game. I learned so much over the course of a single weekend that I’m sure it would be best served to scrap the existing code and retune everything from the ground up. Whether or not we decide to do that is up in the air. For the time being it’s back to full-time development on our primary project, Lacuna Passage.

Wednesday
Aug282013

Ludum Dare 27 Entry - Time Frame

So, I made a game in 72 hours. Well, it's not entirely what I had envisioned for the concept, but I accomplished quite a bit in the time I had so I'm pretty proud of it. Time Frame is a game about exploring a strange world that moves in slow motion. The game takes place over the span of only 10 seconds, which you experience over 10 minutes. LD27's theme was 10 seconds and I really wanted to make something that wasn't fast-paced and frantic like 99% of the other entries. The idea was to have a vast area that you would never actually be able to completely explore within the time limit. I succeeded with that, but I wasn't able to fill that area with as many sights and sounds as I had hoped. I wanted to have all kinds of things happening in slow motion to emphasize the time dialation, but I ran out of time. In the end there are really only a couple things that give you a frame of reference for how slow time is moving. The first is a fountain at the entrance of an abandoned city that has water falling in slow motion. The second is an event that happens towards the end of the game that reveals why the game ends at all, so I won't spoil it for you.

The art style was something that I chose to make asset creation faster. Everything has a very simple, yet high-def look that emphasizes triangles. I actually made all the textures using a really neat application called Hexels. It's an awesome tool that lets you paint using shapes other than just pixels. I used the trixel shape mode and was able to really quickly develop a unique style. Hexels has a free version that I would recommend everyone check out.

Soon after the close of the competition I added in support for the Oculus Rift as well. I have had the Rift dev kit for about a month now and have been wanting to do something with it for a while. It was a great way to get familiar with the setup so that we can use it while developing Lacuna Passage as well.

Depending on the response I get to Time Frame I may invest some effort in improving the game with some of the features I wanted to include from the beginning. Here are some of the things that I would like to add:

  • Birds, insects, and small animals
  • Falling leaves in an orchard of trees
  • Burning pyres
  • Cloth banners in the city flowing in the wind 
  • A small stream with a waterfall
  • Pollen/Particles floating through the fields of flowers

Obviously I've got most of my time wrapped up in developing Lacuna Passage, but I think I will try to keep working on the stuff above when I'm able. For now you can play the web version or download the standard or Rift versions for Windows from our competition page.

Time Frame was created using Unity. Music by Clark Aboud (also our composer for Lacuna Passage). Programming, art, and design by myself, and addtional art by Alex Senechal.

Saturday
Oct062012

Advanced Unity Terrain Creation

I've been working on some art tests for an open-world exploration game and I thought I would share some the resources I have found that help in creating some extremely detailed and realistic terrains in the Unity 3D engine. The main point is custom shaders. Unity's built in terrain shader leaves something to be desired, but there are ways to work around it.

At some point I might get around to creating an actual tutorial, but until then here are some useful links for those of you who would like to get results similar to the images seen above:

  • World Machine - The program I used for generating the terrain.

  • World Machine to Cryengine tutorial - This one is very long and detailed. Even if you aren't using Cryengine I highly recommend watching this to learn how to make effective, realistic terrains before even worrying about importing into a game engine.

  • World Machine to Unity tutorial - This one is much shorter, but specifically references using World Machine and importing into Unity with custom splatmap support.

  • Tom's Terrain Tools - These are a set of tools specifically for Unity that help with importing custom splatmaps generated outside of Unity.

  • ATS Colormap Terrain Shader - This was my starting point for creating a better terrain shader in Unity. Most of the credit for the shader really does go to the creator of this. I simply made a few additions that reduced the visible tiling and improved the support for multiple terrains. The biggest thing here is the addition of a colormap, normalmap, and individual normal maps for each detail texture.

This whole process requires a TON of tweaking and testing. A great deal of artistry is required to get it to look just right. The shaders and terrain generators won't do everything for you, but they get you a much better starting point than if you were to use the built in terrain tools in Unity. If you want to get started coding your own shaders I would recommend you open up some existing shaders and just trying to make a few small adjustments. By doing this I was able to eventually understand what each component was doing and start to work towards the exact look I wanted.