Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
v3 Arcade - Game Modification Guide & Releases
John's Avatar
John
Join Date: Mar 2002
Posts: 1,543

 

Norwich, UK
Show Printable Version Email this Page Subscription
John John is offline 01-23-2004, 10:00 PM

How v3 Games Work

v3 Arcade games are a little different to those in the original Arcade and futureal's proArcade.

Instead of a simple getURL which sends all of the variables to the next page, the v3 Arcade uses a completely different system - a series of sendAndLoad events where data is sent and received between the Flash file and vBulletin. As a result, converting games for the v3 Arcade is a little more complicated.

To get games working with the v3 Arcade, a piece of code needs to be inserted which will run on every frame of the Flash movie. (I.e. one looped movieclip which is active across all frames.) A variable also needs to be set to tell the v3 Arcade code when to end the game.

EDIT: INSTRUCTIONS UPDATED TO MAKE THE PROCESS A LOT EASIER!

Converting Games

Converting a game is quite simple, providing you have some basic knowledge of Flash.

Step 1.
Create a blank movie clip, containing two keyframes.

Step 2.
On frame 1 of this blank movieclip, insert this code (not forgetting to change the gamename value to something unique - THIS PRESUMES THAT _root.score CONTAINS THE SCORE VALUE!):
Code:
// HERE THE ARCADE SESSION IS INITIATED
// DON'T FORGET TO CHANGE THE GAMENAME VALUE!
if (this.sessionstarted != 1) {
    this.arcade = new LoadVars();
    this.sessionvars = new LoadVars();
    this.arcade.gamename = "towerball";
    this.arcade.sessdo = "sessionstart";
    this.arcade.sendAndLoad("arcade.php", sessionvars, "POST");
    this.sessionstarted = 1;
}

// IF GAMEOVER=1, SUBMIT THE SCORE AND REDIRECT THE PAGE
if (_root.gameover == 1) {
    if ((this.askpermission != 1) && (this.sessionvars.connStatus == 1)) {
        this.prequestvars = new LoadVars();
        this.pranswer = new LoadVars();
        this.prequestvars.gametime = this.sessionvars.gametime;
        this.prequestvars.fakekey = this.sessionvars.initbar;
        if (_root.score == 0) {
            this.prequestvars.score = -1;
        } else {
            this.prequestvars.score = _root.score;
        }
        this.prequestvars.id = this.sessionvars.lastid;
        this.prequestvars.sessdo = "permrequest";
        this.prequestvars.note = (this.prequestvars.id*this.prequestvars.score*this.prequestvars.fakekey);
        this.prequestvars.sendAndLoad("./arcade.php", this.pranswer, "POST");
        this.askpermission = 1;
    }
    if ((this.pranswer.validate == 1) && (this.finalsent != 1)) {
        this.burnscore = new LoadVars();
        this.burnscore.microone = this.pranswer.microone;
        this.burnscore.gametime = this.prequestvars.gametime;
        this.burnscore.id = this.prequestvars.id;
        if (_root.score == 0) {
            this.burnscore.noscore = 1;
        }
        this.burnscore.sessdo = "burn";
        this.burnscore.send("./arcade.php", "_self", "POST");
        this.finalsent = 1;
    }
}
Step 3.
Now, you need to let the game know when to finish the game and redirect the page. This is done by the setting of a new variable, "gameover". When _root.gameover==1, the game will end.

Find the frame of the "Game Over" page, and add this actionscript to the frame:
Code:
_root.gameover=1;
Save, and export the SWF movie to the appropriate place.

Releasing Games

When releasing a game, please try to stick to the same format as the other games provided below. (I.e. with the installation script.) It should be fairly easy to figure out what goes where. Try to release all games in this thread!


Additional Games So Far

? Pacman (by Paul Neave) - https://vborg.vbsupport.ru/showpost....&postcount=102
? Simon (by Paul Neave) - https://vborg.vbsupport.ru/showpost....&postcount=130
? Breakout - https://vborg.vbsupport.ru/showpost....&postcount=350
? Target - https://vborg.vbsupport.ru/showpost....&postcount=359
? Maeda Path - https://vborg.vbsupport.ru/showpost....&postcount=469
? Helicopter - https://vborg.vbsupport.ru/showpost....&postcount=504
? Curveball - https://vborg.vbsupport.ru/showpost....&postcount=506
? Miniclip Snake - https://vborg.vbsupport.ru/showpost....&postcount=537
? Towerball - https://vborg.vbsupport.ru/showpost....39&postcount=7
? Alien Clones - https://vborg.vbsupport.ru/showpost....3&postcount=12
? Penguin Bashing - https://vborg.vbsupport.ru/showpost....9&postcount=72
? Mars Rover - https://vborg.vbsupport.ru/showpost....&postcount=109
? Disco Racer - https://vborg.vbsupport.ru/showpost....&postcount=138
? Joust - https://vborg.vbsupport.ru/showpost....&postcount=144
? Hexxagon - https://vborg.vbsupport.ru/showpost....&postcount=938
? Monkey Lander - http://www.v3arcade.com/play/showthread.php?t=55
? Pingu Slap - http://www.v3arcade.com/play/showthread.php?t=53
? Bloody Pingu - https://vborg.vbsupport.ru/showpost....&postcount=295
? Radial Snake - https://vborg.vbsupport.ru/showpost....&postcount=300
? Kill Kenny - https://vborg.vbsupport.ru/showpost....&postcount=304
? Alien Attack - https://vborg.vbsupport.ru/showpost....&postcount=314
? Ron North's Jewels - https://vborg.vbsupport.ru/showpost....&postcount=329
? KickUps - https://vborg.vbsupport.ru/showpost....&postcount=363
? Altex - https://vborg.vbsupport.ru/showpost....&postcount=403
? Enemy Shooting - https://vborg.vbsupport.ru/showpost....&postcount=403
? Jail Break - https://vborg.vbsupport.ru/showpost....&postcount=403
? Snow Paul - https://vborg.vbsupport.ru/showpost....&postcount=403
? Space Hunter - https://vborg.vbsupport.ru/showpost....&postcount=403
? Plasmanaut on Fire - https://vborg.vbsupport.ru/showpost....&postcount=443
? Simpsons Shooter - https://vborg.vbsupport.ru/showpost....&postcount=447
? Plasmanout V2 - https://vborg.vbsupport.ru/showpost....&postcount=464
? Pinball - http://www.v3arcade.com/play/showthread.php?t=182
? Juggler - http://www.v3arcade.com/play/showthread.php?t=207
? Starship Legend - http://www.v3arcade.com/play/showthread.php?t=208
? Aim & Fire - http://www.v3arcade.com/play/showthread.php?t=206
? Plops - http://www.v3arcade.com/play/showthread.php?t=184
? Tie Fighter Shooter - https://vborg.vbsupport.ru/attachmen...chmentid=17650
? Witch Hunt - https://vborg.vbsupport.ru/attachmen...chmentid=17651
Reply With Quote
  #1072  
Old 05-04-2006, 05:14 PM
ragtek ragtek is offline
 
Join Date: Mar 2006
Location: austria, croatia
Posts: 1,630
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

does someone know where i can get a good pinball game (for free)?
i only found a pepsi-sponsored version, wich i dont like.
thx
Reply With Quote
  #1073  
Old 05-04-2006, 09:06 PM
Zidane007nl's Avatar
Zidane007nl Zidane007nl is offline
 
Join Date: Jul 2004
Location: The Netherlands
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by trickedoutpc
Hello! I installed pacman from the zip above and followed all the instructions but I am confused at this part Point your browser to /admincp/pacman.game.php. (E.g. http://www.yourforums.com/forum/admi...cman.game.php).
Don't forget to delete the script once you're finished!
Do I point my regular browser to the link or do I make a link and add it in a folder? and what scrpipt do I deleat. Thanks for all your help I am new to this. also will pacman work on the newsest v3 arcade for 3.5.4 please help thanks,
Kurt
Running the file from your browser won't work. It gives an php error. Best thing to do is upload it in admincp/games and go to Game Tools and click on "Start" under "v3 Arcade - Mass Game Import". That will import the game into the database.

Does anyone know if the game Party Animal is converted, and were I can get it?

Oh, and rjordan, thanks for the Ice Age games, they're cool!
Reply With Quote
  #1074  
Old 05-05-2006, 04:28 AM
trickedoutpc trickedoutpc is offline
 
Join Date: Apr 2006
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where can i get a good pinball game and is ice age a good game? Thanks for your help,
Kurt
Reply With Quote
  #1075  
Old 05-05-2006, 05:02 AM
trickedoutpc trickedoutpc is offline
 
Join Date: Apr 2006
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Zidane007nl
Running the file from your browser won't work. It gives an php error. Best thing to do is upload it in admincp/games and go to Game Tools and click on "Start" under "v3 Arcade - Mass Game Import". That will import the game into the database.

Does anyone know if the game Party Animal is converted, and were I can get it?

Oh, and rjordan, thanks for the Ice Age games, they're cool!
Thanks I got it!
Reply With Quote
  #1076  
Old 05-08-2006, 10:08 PM
rjordan's Avatar
rjordan rjordan is offline
 
Join Date: Sep 2004
Posts: 326
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You guys are welcome I must apologize for not having those requested games done. A lot going on here that is requiring my full attention. I will try to get them out as soon as possible! I promise!
Reply With Quote
  #1077  
Old 05-09-2006, 05:26 PM
ijob ijob is offline
 
Join Date: Sep 2005
Posts: 109
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rjordan
You guys are welcome I must apologize for not having those requested games done. A lot going on here that is requiring my full attention. I will try to get them out as soon as possible! I promise!
Thank you - I an looking forwards to 'em :banana:
Reply With Quote
  #1078  
Old 06-02-2006, 06:29 AM
analog-x analog-x is offline
 
Join Date: Nov 2005
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just for the sheer challenge and curiosity I've been trying to get a game of frogger to work in v3. So I started by first looking at the code used with the already included games in the v3 Arcade package. I noticed that the code example given in this thread are seperated.

Code:
if (_root.sessionstarted != 1)
{
    _root.arcade = new LoadVars();
    _root.sessionvars = new LoadVars();
    _root.arcade.gamename = "Game Name";
    _root.arcade.sessdo = "sessionstart";
    _root.arcade.sendAndLoad("arcade.php", sessionvars, "POST");
    _root.sessionstarted = 1;
} // end if
I found the above code usualy placed where the game begins playing.


Code:
if (this.askpermission != 1 && _root.sessionvars.connStatus == 1)
{
    this.prequestvars = new LoadVars();
    this.pranswer = new LoadVars();
    this.prequestvars.gametime = _root.sessionvars.gametime;
    this.prequestvars.fakekey = _root.sessionvars.initbar;
    if (_root.score == 0)
    {
        this.prequestvars.score = -1;
    }
    else
    {
        this.prequestvars.score = _root.score;
    } // end else if
    this.prequestvars.id = _root.sessionvars.lastid;
    this.prequestvars.sessdo = "permrequest";
    this.prequestvars.note = this.prequestvars.id * this.prequestvars.score * this.prequestvars.fakekey;
    this.prequestvars.sendAndLoad("arcade.php", this.pranswer, "POST");
    this.askpermission = 1;
} // end if
if (this.pranswer.validate == 1 && this.finalsent != 1)
{
    this.burnscore = new LoadVars();
    this.burnscore.microone = this.pranswer.microone;
    this.burnscore.gametime = this.prequestvars.gametime;
    this.burnscore.id = this.prequestvars.id;
    if (_root.score == 0)
    {
        this.burnscore.noscore = 1;
    } // end if
    this.burnscore.sessdo = "burn";
    this.burnscore.send("arcade.php", "_self", "POST");
    this.finalsent = 1;
} // end if
and I found the above code just like it is mentioned in this tutorial somewhere in a clip. But the placement of the above code eludes me. I'm a novice to flash animation and not sure how these clips are placed. I didnt notice a cominality.


and finaly I cant find "_root.gameover=1;" anywhere.

Seems a lot of work. Now I found a set of instructions on how to make a game work for IPBA, which consits of 3 lines of code.

Since v3 Supports IPBA games, should I go through the trouble of trying to figure out how to convert a game with the above code? or try the IPBA code?

Any advice would be appreciated.
Reply With Quote
  #1079  
Old 06-03-2006, 12:47 AM
analog-x analog-x is offline
 
Join Date: Nov 2005
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd like to eventually help out by converting games, so I'm trying to learn.

At the same time, I contacted a friend of mine in the U.K. and have passed information onto him to convert he's game for v3 Arcade.

Will post it here when its ready.
Reply With Quote
  #1080  
Old 06-03-2006, 02:23 PM
ijob ijob is offline
 
Join Date: Sep 2005
Posts: 109
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There's a new Yeti Game out:

http://www.pro7.de/games_handy/onlin..._kick/game.php

Homepage

http://www.yetisports.org/
Reply With Quote
  #1081  
Old 06-04-2006, 02:14 AM
analog-x analog-x is offline
 
Join Date: Nov 2005
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I like Penguins so naturaly I dont like seeing games where they are depicted as getting hurt.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:36 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05479 seconds
  • Memory Usage 2,345KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete