FourCast

FourCast is a project that I worked on with a team of three other students for our Game Concept and Development class at Northeastern.  The idea for the game revolved around the use of weather patterns as attacks and powers to use in puzzles, and having four characters that two players would switch between.  The characters would embody the weather elements of wind, sunlight, rain, and lightning, and each would possess a unique power that would be used to solve environmental puzzles and defeat enemies.  Players could switch which power they possessed at shrines that were scattered around the level, and you could only switch to the power that was stored within that shrine.

Original concept design for the wind character

Original concept design for the wind character

The game was created using Unity's 2D tools, with animations done using sprite sheets created in Photoshop.  Two other programmers and I shared the responsibility of writing the game's scripts in C# using MonoDevelop, and I aided in some of the initial concept design and art for characters, which were transformed into the playable characters by our artist.

For each programming member of our team, this was our first in-depth project in Unity.  We had all used the software before, but creating a game using the 2D tools, and creating a game at this level of completion, was a new experience for us.  Most of our challenges came from having to script most of the interactions from scratch, as many of Unity's built in scripts didn't suit our needs at the time.  One such script was the one we used to swap which power your character is controlling, which had to replace the character currently being used by that player and switch which shrine appeared in that position.  We also took some of the scripts that Unity gave us and reworked them to suit our needs, such as when we translated the SmoothCameraFollow script, which follows a character as they traverse the level, from JavaScript into C# and changed it to follow a point between the two characters on-screen, so both would always be visible.