PHP Game Development in Flash and PHP

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Game Development in Flash & PHP

Presenter: Tianyang (TYLER Projects)‫‏‬


For PHP User Group 21-02-2008
Overview
FLASH
  Embedding

  Preloaders

  Communicating with PHP

  Security

PHP
  Database

  Security

Q&A
Embedding Flash
<embed
src="file.swf"
width="300"
height="300"
flashvars="myvar=99&myvar2=200"
/>

Eolas and XHTML problems

- Use free SWFObject javascript to create embed


code
Preloader
Large files – Important to show download progress

function loadClient() {
var loader:Loader = new Loader();
configureListeners(loader.contentLoaderInfo);
var request:URLRequest = new URLRequest(url);
loader.load(request);
addChild(loader);
}
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
removeChild(loaderClip); // Remove preloader progress clip
}
IOErrorEvent.IO_ERROR // File not found etc...
HTTPStatusEvent.HTTP_STATUS // 404 error etc...
ProgressEvent.PROGRESS // Update progress bar
Misc other events: Event.UNLOAD, OPEN, INIT etc...
Communicating with PHP

var req:URLRequest =
new URLRequest(“submit.php”);

var variables:URLVariables = new URLVariables();

variables.op = "getResource"; // Data to send


req.data = variables;
req.method = URLRequestMethod.POST;

var loader:URLLoader = new URLLoader(req);


loader.addEventListener(Event.COMPLETE,loadInfoHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR,ErrorHandler);
Communicating with PHP

function loadInfoCompleteHandler(event:Event):void {
var xml:XML = new XML(event.target.data);
var tobj = xml.elements('myoutputlist');
mydata = xml.elements('myoutputlist')[0].attribute("var1");
}
Security

  Client-side
  Not secured

  Variables easily changeable via memory editors

  Single-player games vs Multi-player

  Decompiler

Solution
  Obfuscation

  Manipulating variables

  Server-side processing
Storing Player Data
Data to store:
  Highscore List

  User IDs, Name

  Resources: Cash, Items etc...

  Game variables

Table Types
  Static

  MyISAM vs InnoDB

  Memory

Do query caching for highscore



Proper indexing
Security

Clean Inputs:
 Use intval() for all integer values

 Filter special characters for strings


Q&A

To show:
Demo from battlestations.
Contact: contact@mobileweapon.net
Try the game:
http://apps.facebook.com/battlestations

You might also like