GeorgeGularte
[email protected]
  • Home
  • Blog
  • Projects
  • Resume
Picture
Picture
Picture
Picture
Picture
Picture
Picture

"Megaman Shooter Online"
 PC Tech demo game

Picture
About...
Megaman Shooter Online is very simple 2D head to head shooter That is networked through a LAN. Play as the famous Capcom's Megaman to  blast your opponent away. I used SDL  as my graphical and thread API.

Features
  • LAN game play 
  • Fast multiplayer action

My Role
  • Network and game-play programmer
  • Win-sock TCP/IP connection
  • peer to peer / Authoritative Host
  • Key encryption for safe and fast cycles
  • GUI design and implementation 
  • BIT packed  optimization for network use.
  • Thread Safe structure
  • Game logic
Challenges
     Multi threading became a necessity when receiving and sending data simultaneously, however the challenge was to prevent reading overwriting data. I resolved this by making a Mutex like lock. 

Sample Code

Sample Code
 

"BassWings"
An Art Institute Game Wizards Production Game

Picture
www.Basswings.net
About...
    BassWings is an arcade style, flight rail shooter with an audio twist, where you pilot through a dense Urban City while fighting through a gauntlet of an invading enemy ships. The player will have the ability to select any song from their .MP3 library to play in the game. The color of the city lights, and the density of the buildings will change depending on the tempo of the song selected to play for that level. The enemies will generate in time  to the music as well, giving the player the ultimate control in the pace and difficulty of each level. The main goal of the game is to successfully fly through each level while racking up as many points as possible. 

Features
  • Arcade style Flight Controls
  • Use your own Sound Track to play the game
  • 2 player Co-op
  • You set the pace of the Music
  • Full Controller Support
  • Mac/PC support
  •  .mp3 files

My Role
  • Project Lead
  • All Game logic, Character controller , Xbox Input Code
  • Custom Shaders that interpolated to the music
  • Monitoring Website, Facebook, Twitter and other social media
  • Leading  SCRUM meetings with artist and other team members  
  • Preparing a kick-starter campaign

Challenges
     "Many" is the appropriate word to describe being project lead in a production team, I addressed problems sooner than later. 

Problem: Collision detection  
Resolve: Collision check optimization
  • Doto many non static collidable objects that their scale was being constantly manipulated by amplitude waves and frequency, Unitys default collision detection became expensive to use. I resolved it by activating the building box colliders when we entered a city block(Fixed Dimensions), then doing a mesh collision detection check when inside the building box colliders. After I left a city block/or have not entered one I would turn off all the colliders. Simply put it, 3 checks one after the other; 1:N city blocks - > 1: N Buildings (Box Colliders) - > 1:1 Building (Mesh Collision).

Problem: Dynamically creating and destroying bullets  
Resolve: Bullet pool allocator  

  •  We noticed a spike drop at a benchmark test that indicated a loss in a performance do to instantiating new bullets and destroying them on the heap in addition to a uncontrolled dynamic garbage collection being called by the engine. I resolved this by pre allocating all the bullets that we will ever need in the scene and  then recycling these objects to a standby mode till they are ready to be reactivated again.

SampleCode

Bullet Manager
Building Collision
Top

"Battle Tactics"
An Engine Scripting Tech Demo for IOS/Android Platform and PC

Picture
About...
     Battle Tactics is a very simple mash up of the social popular mobile game "Words with Friends" and Nintendo's Advance Wars. Players logged in to the game, made an account, and upload their actions in this turn based game. This was my earliest experiences using the Unity engine. I extended the assignment by making a Youtube video demonstrating the games features. 

Features
  • Point and click 
  • play at your convenience
  • make an account 
  • SQL Data base

My Role
  •  Game play programmer on client side
  •  A* Star implementation
  • 3D modeler  and animator 
  • Touch Input

Challenges
     We ran into a problem with a rare occurrence with an infinite loop within the one of the Astar  While loops, We resolved it by sprinkling debug logs within all the loops and  then read the crash dump log to locate the problem.

Problem: Astar* Traversing the same path
Resolve: Resting FGH scores on Nodes
  • The Player Character could not re traverse a  previous path.  After stepping into the traversed path and mapping the values on paper we saw that the neighbors nodes score values  did not reset after it was traversed. I resolved it by resetting the values after the path was built. 

Sample Code
A*star
Top

Picture
About...
    A simple mini game where you control colored Capcom's Megaman X to either duck or jump away from incoming enemies. This game is inspired by Microsoft  game "Fusion Frenzy", Twisted System, mini game. This was 48 hour independent challenge to create a game from scratch. Using the  Unity's 4.3 update with their new  2D engine support.

Features
  • Android  4.0 and higher
  • Fast responsive action
  • Simple, fast and fun
  • fully functional and optimized ready for Mobile use
My Role
  • Project Lead
  • Used  Unitys animation Mechanim and 2D collision
  • used 2D tool kit (assest store tool)
  • Android Tested with a Samsung S4.

Challenges
     This Assignment had a learning curve element added to the limited time window. My first time using Unity's mecanim in addition to using the new 2D update and 2D tool kit. The overall challenges was more or less to sync animations to the game to logic influences. 

Problem: Syncing Jumping
Resolve: Animation Curve
  • I needed to sync the jump animation length to the length of the jump. I used the built in Animation Curve system to set the the climax of the jump animation to the peak of the transformation curve, allowing me to manipulate the game object in local/animation space, while abstracting the logic code in tangent to the game in world space.

Sample Project
Dodger
Top

"Nebula"
a PC/ Xbox360 game

Picture
About...
    Nebulas is a simple 3rd person survival shooting game. Where you must survive waves of enemy Robots. Nebula was 4 week group project consisting of 1 programmer and 1 artist. 

My Role
  • Project Lead
  • AI Agents
  • my  own implementation of a Flocking algorithm
  • 3rd person Character Camera
  • All Game Logic    
Challenges
     Tech art was a challenge having objects not being exported properly, Resolve it by communicating the problem effectively to the artist and in addition I parented  the 3D models to an empty game object and re centered it to the origin and aligned it properly. 

Problem: Enemies Look direction
Resolve:

Sample Code
Top

"Star Wings" 
PC & xbox 360 game

Picture
About...
    This game is tribute to the legendary Star Fox 64 game. It is  a 3D rail flight shooter. You must  survive against a gauntlet of enemy ships, lasers, and asteroids. You are StarWing fighter and you are earth's last defense.

Features
  • Xbox controller and PC input support
  • Rumble Feature
  • Health and ammo system
  • Spectacular effects
  • 14 levels of difficulty 

My Role
  • Independent console coding project
  • 360 controller support
  • Difficulty increases as long you play
  • Particle system support
  • Post processing -  Bloom

Challenges
    My first time working in 3D space. I exercised my trigonometry skills, to go between matrix spaces and calculated distances. Also first attempt using a particle system and post processing effects.

Problem: Crosshair 
Movement
Resolve: Translate between several spaces
  • Simulating StarFox movement along with shooting. The Crosshair is far away from the ship. however the user moves the crosshair(NOT the ship, the ship just moves to and looks at the crosshair). I had to translate matrixes into several different spaces such as  camera space and apply my directions with my weights and the translate them back to world space to simulate screen space movement along with rotation.

Sample Project
StarWings

"Blue Wings"
 2D PC &  xbox360 game

Picture
About...
    This game is a tribute to Bizarre Creations  Geometry Wars . You play as young dragon-ling who has to fight against a horde of evil dragons. Race the clock to survive. 

Features
  • Intense Action
  • Race against the clock
  • Fast paced
  • several different enemies 
  • 3 different fire attacks; Single, Rapid, Tri- shot
My Role
  • Independent console coding project
  • 360 controller support, Both Analog joy sticks, rumble support
  • Difficulty increases as long you play
  • responsible  for All animations 
  • health regeneration
  • AI  behaviors

Challenges...
    Creating my own a 2D flip algorithm and then extending it by reading more complex sprite sheets. I had problems with collision not being accurate so drew a debug box that encapsulated the player to visually show the collision box while I was testing.

Problem: Analog stick input sync to the animation 
Resolve: Dividing a circle by 8 parts then offsetting the slices by a fixed amount.
  • Reading the joystick to determine which dragon sprite animations ( 8 direction sprite animations)  I should use. I resolved it by using the function Atan2(), to get the raid-ans of the input and then converting the angle  to degrees , then subtracting  it by a range over 45 degrees.  angle = angle - 22.5f / 45. And finally comparing it to all 8th s of 360 degrees then subtracting or adding the  22.5f offset... Its like 22.f degree cone inside a 45 degree cone. making a circle out of 8 of them. IE:  angle < 45 + 22.5.

Sample Project & Sample Code
Blue Wings
Player Input
Top

"Janitor Game"
 2D PC Game

Picture
About...
    This is tower defence game. You play as a Janitor in a laboratory. While cleaning in a regular routine,  an accidental spill has mutated the aggressive creatures which they are trying to escape. It is your duty to use your array of cleaning supplies to ward them away from leaving the laboratory. 

Features
  • A*star pathfinding
  • Pixel Detection
  • several different and Unique enemies 
  • Array of Weapons to ward off enemies 
My Role
  • Team project
  • Difficulty increases as long you play
  • Game Manager, Animation Manger, Input Controls
  • Weapon Bonus VS Enemies Weakness Comparisons  

Challenges...
     My earliest experiences with XNA and state machines.  I had the pleasure working with a classmate on this assignment. Any problems that arose we were able to resolve it together rather quickly.

Sample Project 
Janitor Game

Powered by Create your own unique website with customizable templates.