Please "left click" on the image to view fullscreen.
Latest Update April 2010

Trapped!

Project Review: Trapped is a multiplayer top down tank shooter which I made for my "Multiplayer Online Game Development" course. It took me roughly about two months (during winter semester) to complete the project.
Task and Responsibilities:
Game Design, Programming (Netwroking, GamePlay, Shader Effect (Gaussian Blur, Blur effect), GUI, HUD, VFX, Database, Sound, etc....), Art Design, Sprite Animation,Technical Design Document. All the assets are made from scratch. I haven't designed any of the sound effects. I only selected the appropriate sound effects that I thought go well with the game.
Game Engine and Programming
: The game uses Gadget2D Engine which has developed by my friend Brent Cowan.
Game Demo (Beta Version):
Please note that this Beta does not represent the final quality or gameplay and may contain bugs. Download Demo
Sample Video:
Download Demo (Coming Soon)
Special Thanks
: 1- Brent Cowan (for helping me out with all my coding questions and problems) 2-Ali Najafizadeh (for heliping me out with Hash (SHA-1) coding and letting me know about using LogMeIn Hamachi.
Screenshots:
Followings are some of the screenshots. Please "left click" on the image to view fullscreen.
The tank is divided to two different parts ( Turret, Body). The tank body is being controlled by keyboard while the turret is controlled by the mouse. The tank tread and turret are both animated which was simply done in Maya. All the menu, muzzle flash, icon, splash screen, level design, etc  were done in Photoshop.
Networking in Trapped has been implemented using UDP (User Datagram Protocol). UDP has less overhead leading to greater efficiency.The client can only send messages to the server, and by default, the server sends messages to all connected clients. Every message has a “type”. This number is used to tell the receiver what the message contains. You will need to define your own message types. The “message” is a string containing the data you want to send. You build this string by serializing your variables.
Following shows some of the features used in Trapped:
Smoothing:
-Course correction implementation
-Rotation implementation
-Visual appearance of smoothness
-Consistency among players
Collision Detection:
-Collision detection for player-player
-Collision detection for player-object
-Collision reaction upon detection
-Consistency among players
Compression Algorithms:
char FloatToChar(float X, float min, float max);
float CharToFloat(char X, float min, float max);
short int FloatToShort(float X, float min, float max);
float ShortToFloat(short int X, float min, float max);
float DirectionFixRange(float X);
The engine allows for the creation and maintenance of relational databases using SQL. Gadget2D has a simplified wrapper class encapsulating the SQLite API. I also used SHA-1(Secure Hash Algorithm) to prevent users from accessing others passwords.
 
 
 

All contents copyright © 2008-2012 Hamed Sabri ALL RIGHTS RESERVED