Tag Archives: Game

Seize the Sky – Building Virtual Worlds, Round 1

Introduction: Seize the Sky was built during Building Virtual Worlds at Carnegie Mellons Entertainment Technology Center. The world was constructed using Oculus Rift, and Leap Motion. Using these technologies we put our guest into a virtual reality space with an ability to use a natural interface in our world.

Story: A mighty giant heads towards a town with murderous intent. A country side boy notices, and cries to Zeus for help to defeat the giant to save the city. You are Zeus, save them all!

Platform: Oculus Rift + Leap Motion in Unity 3D | Time: 2 weeks |  RolesProgrammer – Game Designer

Design Goal: Our design goal with Seize The Sky was help character A (the boy) who is afraid of character B (the giant).

Design Challenges:

  • Incorporating a satisfactory use of Leap motion.
  • Achieving our a sense of character A is afraid of character B.
  • Level design.
  • Game-play design.

My Contributions: As the lead programmer on Seize The Sky I made large contributions to the code base for this project. I also took an active part in the design process with working with the team to develop various aspects including game play, and level design.

Development

Iteration 1

The development process started with being assigned teams. In our first team meeting we made clear our skills, started brainstorming ideas, and kept good development processes in mind.

This slideshow requires JavaScript.

During brainstorming we tried using several appropriate methods, such as gesture centered brainstorming (due to our use of Leap Motion). Finally we had five initial ideas:

  1. Help mend relationship between characters.
  2. Play piano to make baby sleep.
  3. Use light to guide a character home.
  4. Keep animal safe growing to adulthood.
  5. Hold characters hand to guide them.

This slideshow requires JavaScript.

With our initial ideas we further boiled them down to three concepts with the following reasoning:

  • Concept one was hard to conceptualize compared to our other ideas which seemed simpler and more clear.
  • Concept five could be incorporated into concept three.

Creating sketches of each concept we then sought out the advice of our professor Jesse Schell.

bvw_round_1_initial_three_concepts

With Jesse Schells feedback we went with concept C, because we wanted to explore squeezing in Leap Motion.

bvw_round_1_post_meeting_notes

We then began further conceptualizing the idea with sketches, and research into the capabilities of Leap motion and Oculus.

This slideshow requires JavaScript.

With this in mind we began assigning tasks to complete, considering game play, and used a scrum board to assist us in tracking tasks.

This slideshow requires JavaScript.

On the technical side we used a NavMesh, and simple A.I. to run the behavior of the Hunter and Deer. The behaviors of the two agents were essentially:

  • The deer always moved to nearest tree that has an apple.
  • The Hunter patrolled around fixed points, and if it came close enough to the deer it began chasing it.

The result of our hard work was the following.

We then received feedback at interim, which sadly wasn’t good…

Iteration 2

Continue reading Seize the Sky – Building Virtual Worlds, Round 1

Building Virtual Worlds – Round 0

Building Virtual Worlds at Carnegie Mellon University starts with each student being assigned a role in Round 0. Since I have a Computer Science background, my role was that of programmer; this entailed I build a world that employed a number of basic features in Unity, such as:

  • Loads models and textures.
  • Play animations.
  • Use intervals, lighting, collisions, and multiple scenes.

The world can be downloaded here.

Concept

When considering the world, what I noticed was the amazing talent of the artists and musicians around me. It occurred to me what a shame it would be for their work not to be seen. I decided then that my virtual world would be a gallery of other peoples work. My first task was then to coordinate of assets with artists, and sound designers.

Creation

Artists were initially required to create animated lunchboxes, then dragons, and sound designers were required to create music for a clip of game play from a previously made world. I decided to meld the two by attaching audio sources to several of the artists assets that would constantly play music made by our sound designers.

This slideshow requires JavaScript.

Continue reading Building Virtual Worlds – Round 0

Masochisia – Games Testing Project

Browsing Reddit’s PlayMyGame subreddit I found a post by Jon Oldblood asking for QA testers for his upcoming game Masochisia. Wanting some experience having a look at game analytically I volunteered to help out,  and ultimately performed two rounds of testing.

My first round of feedback was based on my first impressions of the game. While playing I took notes on noticeable details that jumped out at me in areas like:

  • Technical issues.
  • Game Aesthetics.
  • Game Audio.
  • Game Story.

masochisia_screenshot

Continue reading Masochisia – Games Testing Project

FEAR’s NPC A.I.

FEAR has been cited as one of the most influential A.I. games. FEAR’s claim to fame was its implementation of NPC A.I. using a system called Goal Oriented Action Planning.

Since I have some experience with planning in games, I wanted to have a look at the techniques used. After some digging I thought I’d put together a brief summary of what I learnt.

fear_logo

Continue reading FEAR’s NPC A.I.

Hero of Allacrost

Reddit is where this story begins. Trawling around I joined the /r/gameDevClassifieds sub-reddit. A place of gathering for game developers advertising paid, and un-paid game project work.

By chance I came across a post asking for a game designer, to which I replied. Unfortunately the position had already been filled though fortunately additional help was happily welcomed.

allacrost_logo_medium

The project in question is Hero of Allacrost. Its an ‘open source single player 2D role-playing game inspired by classic console RPG’s, and I’m thoroughly impressed with the standard of this project. It’s use of BitBucket for source control, a Wiki containing lots of information/documentation, a forum, and welcoming project members! I’ve worked on this project for approximately a month, and my contributions to this project have been enhancements to the battle code.

Here’s the latest Hero of Allacrost gameplay footage.  Check it out!

Shogun 2 Total War – A Recommendation

I remember nearly not buying the first Shogun Total War since it required four CD’s, which meant three other games I couldn’t have.

I remember sitting infront of my desktop impatiently. Expectantly flicking through the manual while the game installed, CD to CD.

shogun-2

I remember a journey. Fighting alongside the Shimazu, rising from Kyushu, besting the great clans of Japan to ultimately ascend as Shogun.

I remember years of waiting for a worthy successor to one of my life’s best games.

In 2011. I found Shogun 2.

I’ve been looking at Shogun 2s Campaign Map UI. Check it out here!

Game Maker – Dynamic Teleport

When searching for a teleport system in Game Maker, I often find the following  suggestion. When object A collides with object B at position (x,y) change object A’s position to (x_new,y_new). This works perfectly if you require a fixed position teleport system.

Though, what if you wanted (given any character position) to be able to teleport to a location that is not pre-defined. A dynamic teleport. What do you do? I asked myself this, and here’s a simple solution that I used for my puzzle platformer Multi.

multi-title-screen

First lets define a few terms and variables:

  • Ideal Teleport – A teleport  which results in the character being where you most want in a regular scenario.
  • Teleport – A boolean variable that determines whether the character can teleport or not. It is reset with the use of an alarm.
  • Teledist – A fixed integer that determines the position change of the ideal teleport. I used the value 96 pixels.
  • Par_solid – The fundamental solid object of my game (I did not use Game Makers solid variable, this article explain why.

It also helps to know  the basics of Game Maker Language’s (GML), and how one of its functions place_meeting works. If not I suggest you check out this great post in the Game Maker forums by Torigara.

Continue reading Game Maker – Dynamic Teleport