Showing posts with label Red5. Show all posts
Showing posts with label Red5. Show all posts

25 December 2010

Project Snow Fight

Snow Fight Game
Another internal case-study project of Pyco Flash team to research multiplayer game with Red5. This is a 2D top-view real-time shooting game whose gameplay is similar to CS2D – you control your character moving round with WASD keys and aim and shoot with your mouse. The game showcases real-time synchronization among clients in a precision and fast-pace environment. The team have learnt a lot from the book ActionScript for Multiplayer Games and Virtual Worlds and apply what we learnt successfully to this game.
I designed and proposed the game concept and detailed requirements. I also joint to develop the character control and foundation of client-server synchronization.
My roles: system designer, technical supporter
Tech notes:
Click here to try the game. (Because this is a multi-player game, make sure you invite your friends to join).
Login screen Battle room screen Game over screen

12 March 2010

Case Study Isometric Multi-player Virtual World

mattel

This is my team’s case study to demonstrate our capability to build a MMORPG (Massively Multiplayer Online Role Playing Game). The site features 2.5D isometric scene and realtime multiplayer virtual world utilizing SmartFox server.

My role: key researcher, team leader

Tech notes:

  • Flash Player 9 / Actionscript 3
  • AS3IsoLib Isometric engine
  • Red5 server (in first phase)
  • SmartFox multiplayer server (Java backend)

18 December 2009

Red5 Data Mapping

Red5 LogoWhen sending data to Red5 handlers, it is important to know the counter-part data types used in the server’s Java code.

There’s is one article mentioning about this at http://jira.red5.org/confluence/display/codecs/Data+Type+Mappings

However, for an unknown reason, the page is not accessible any more. I have to produce a test and observe the conversion of data as following:

From Flash to Red5 (valid to Red5 0.8 / 0.9)

ActionScript 3

Red5

Boolean java.lang.Boolean
String java.lang.String
uint (< 2147483647)
int (-2147483648 to below 2147483647)
Number (integer value within int range)
java.lang.Integer
uint (>= 2147483647)
Number (integer value out of int range)
java.lang.Long
Number (fraction value) java.lang.Double
Date java.util.Date
Array java.util.ArrayList
Object / Custom Object org.red5.io.utils.ObjectMap
XML, XMLDocument org.apache.xerces.dom.DeferredDocumentImpl
(this class seems not to be in Red5’s lib folder)
ByteArray org.red5.io.amf3.ByteArray
Special Values:  
NaN NaN

Notes:

  • Negative integer value is limited at –2147483648 even if the variable is declared as Number. If you try to send a value less than this number, it will be rounded up to –2147483648.
  • If one of the params in the remote call is null or undefined, the handler will not be executed.