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
  #872  
Old 04-20-2005, 11:12 AM
T3MEDIA T3MEDIA is offline
 
Join Date: Dec 2004
Posts: 944
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by incka
As long as you don't change any coding or remove links, you can add the submit score and other code needed to run on v3 arcade to my games at www.gamesforyourwebsite.com. If you need the .fla's PM me (If you have a high post count I'll trust you and send them to you).
Oh man that word game is AWSOME! I would LOVE I mean LOVE to have that one...
Oblivion are you going to upload the 23 games here????
Ohh I cant wait!
Reply With Quote
  #873  
Old 04-20-2005, 11:19 AM
Oblivion Knight's Avatar
Oblivion Knight Oblivion Knight is offline
 
Join Date: May 2002
Location: Sheffield, UK
Posts: 1,757
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by T3MEDIA
Oh man that word game is AWSOME! I would LOVE I mean LOVE to have that one...
Oblivion are you going to upload the 23 games here????
Ohh I cant wait!
If there's a couple in particular that you would like, list them and I'll post them in this thread later tonight. I'm not going to do them all because I simply don't have the time at the moment.
Reply With Quote
  #874  
Old 04-20-2005, 11:47 AM
T3MEDIA T3MEDIA is offline
 
Join Date: Dec 2004
Posts: 944
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I respec that...

ok
quick rotation
lol under madness
word search
snowball warrior
n dats it.

THANK YOU!
Reply With Quote
  #875  
Old 04-20-2005, 02:53 PM
Oblivion Knight's Avatar
Oblivion Knight Oblivion Knight is offline
 
Join Date: May 2002
Location: Sheffield, UK
Posts: 1,757
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quick Rotation is rather awkward, since there's no score to monitor.. Unless I made the levels count as the score, but I'd have to add a submit button of some kind to it..

Here's Udder Madness and Wacky Wordsearch to keep you occupied..
Attached Files
File Type: zip v3 Arcade - Udder Madness.zip (338.8 KB, 205 views)
File Type: zip v3 Arcade - Wacky Wordsearch.zip (126.5 KB, 211 views)
Reply With Quote
  #876  
Old 04-20-2005, 05:31 PM
Oblivion Knight's Avatar
Oblivion Knight Oblivion Knight is offline
 
Join Date: May 2002
Location: Sheffield, UK
Posts: 1,757
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Snowball Warrior..
Attached Files
File Type: zip v3 Arcade - Snowball Warrior.zip (1.26 MB, 220 views)
Reply With Quote
  #877  
Old 04-20-2005, 07:54 PM
T3MEDIA T3MEDIA is offline
 
Join Date: Dec 2004
Posts: 944
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ahh man! Thank you
Reply With Quote
  #878  
Old 04-25-2005, 03:53 AM
Xil Ze Xil Ze is offline
 
Join Date: Mar 2005
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hey guys...i have both

sothink swf decompiler mx '05 (swf > fla)
and flash mx '04

but, i'm a total noob at flash..so can someone pm me and try to walk me through modding a fla to work with vb? thanks
Reply With Quote
  #879  
Old 04-25-2005, 03:35 PM
sim tech sim tech is offline
 
Join Date: Jan 2005
Location: Georgia
Posts: 140
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Xil Ze
hey guys...i have both

sothink swf decompiler mx '05 (swf > fla)
and flash mx '04

but, i'm a total noob at flash..so can someone pm me and try to walk me through modding a fla to work with vb? thanks
It's pretty simple...

First, you take the main file and look for the bipolar tangent, it should be located in the 2nd frame next to the beginning of the output data mode (FLA).

If it isn't then create a block BEFORE THE VAR! Make sure it's an integer or a factoid!!

After the clip as complete (before the root) you will need to look for the minime. You will need some knowledge of Flash to do this. It's usually associated next to the "laser" output string.

Once this is done you will need to go through the history file and make note of all the statements recorded by the "boosh" protocols. The boosh statements change often but the rest of the program does not seems to understand this. Boosh also outputs various statements that don't make sense... so you will have to redefine them to meet your needs.

If that is not done the gameplay will always cause problems, and the correct score will not always be displayed. This will damage the integrity of every gameplayers data storage!

Lastly, remember to modify the "game_id" and check
if the score of the game is stored as "_root.score".


-----------------------------------

It's that easy! :cross-eyed:
Reply With Quote
  #880  
Old 04-25-2005, 03:49 PM
sim tech sim tech is offline
 
Join Date: Jan 2005
Location: Georgia
Posts: 140
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That post above makes about as much sense to me as the real hints. I'm in the same boat.... I have an swf decompiler (swf > fla) and flash mx '04, but I am a noob as well who needs a walkthrough... once I understand the basics I can run with it.

I went through Google's cached storage of the now deleted v3arcade forums and found the following random hints. I think that I may beginning to grasp it, but I'm missing the zipped files it talks about.

I'll post my full list of (real) bits of info below.... perhaps someone can put them in perspective for us. I don't know who the authors of these are, so I cannot give the credit to the gurus who originally posted this:

random notes taken from v3arcade

TIPS

If the score is not being submitted, check the following:
the page will not be redirected if the score var is invalid

the score var must be:
- A Number
- Integer
- Stored as a: _root.score

Check if the score is stored in that var name,
if not, you can add a small line of code into the
mc_arcade movieclip to track our score:
Code:
PHP Code:
if ( Number(_root.game_score_var) > _root.score) {
_root.score Number(_root.game_score_var); }
this assumes that the game stores the score 
in the custon 
var: _root.score_game_var 
This code saves the "Best Score" of the user (not the last one)


If you don't know which var stores the Score,
go to the Game Over Page, select the text that shows
What Was Your Score... Click on the text,
open the "Properties" Window and there you will see the "var" name
-------------------------------

How To Convert Games to v3 Arcade
Edit: From John's guide on vBulletin.org.
please use this New Guide in instead of the old one
since this has new actionscript code to improve new games
to work with the challenge minimod... (that you should install btw)

Converting Games
You will need the .FLA file (game source) to convert a game.

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:
PHP 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 "tetris";
this.arcade.sessdo "sessionstart";
this.arcade.sendAndLoad("arcade.php"sessionvars"POST");
    if (
this.sessionvars.sessiontype ==2)
    {
_root.is_a_challenge=1;}
    else {
_root.is_a_challenge=0;}
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;
_root.score=int(Number(_root.score));
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.
create a new Layer in the flash movie that
starts on frame 1 and goes to the last frame of the movie.
Insert in the first keyframe the movieclip you just created

Step 4.
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:
PHP Code:
if (_root.is_a_challenge) {
_root.gameover=1;
replay_button._visible=0;

Step 5.
Submit and Replay Buttons
you have to create two buttons:
(you can draw a rectangle an convert it to a button symbol)

Replay Button
select the the button you just created,
paste it in the gameover page,
click on properties, and change the "instance name" to replay_button
select the button, and then in the Action window insert this code:
Code:
PHP Code:
on (release) { if (_root.is_a_challenge) {
// nothing here 
} else { _root.gotoAndPlay(1); }

Submit Button
select the button you created (or you can create a new one),
drag it from the library again and paste it in the gameover page,
select the button, and then in the Action window insert this code:
Code:
PHP Code:
on (release) {
_root.gameover=1;

Optional
Insert this actionscript in the FIRST frame of the movie, to disable Right-Click on Games... (to prevent cheating)
Code:
PHP Code:
Stage.showMenu=false
Now You're Done

------------------------------------------------------------------------------

(note from simtech) Now this one is a bit easier, I was able to see how to create a movieclip & how to insert a blank keyframe but I could not download any attachments because I pulled this list from Google's cache of the now closed website:

1 Attachment(s)
More Detailed Instructions for Flash Newbies

How to Create a New Movieclip
in Macromedia flash Menu: Insert / New Symbol... (Ctrl+F8)
Behavior: MovieClip
name: mc_arcade

Right click on the second frame of the movieclip
and select: "Insert blank Keyframe"

Select the first frame and add the actionscript
posted in the first message of this thread

remember to change the "game_id" and check
if the score of the game is stored as "_root.score"

Note: i just created a movieclip that i think you can import into your movie,
remember to edit the actionscript on it. check attachment
SIMTECH NOTE: THIS ATTACHMENT IS THE PART THAT I AM MISSING

How to paste the Movieclip on the movie:

Create a new layer, rename it to "arcade"
you will have a blank keyframe in the first frame of the movie.
go to the last frame of the movie (in the same layer), right click on the frame
and select "Insert Frame" (not keyframe)
Open the library (Ctrl+L)
drag and drop the "mc_arcade" movieclip into the first frame of the layer "arcade"

there you go
--------------------------------------------------------------------


If anyone can offer any input on the above two (real) methods it would be appreciated!
Reply With Quote
  #881  
Old 04-25-2005, 04:14 PM
rjordan's Avatar
rjordan rjordan is offline
 
Join Date: Sep 2004
Posts: 326
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Still Greek to me on a lot of it. As much as I would love to sit down with a $80 book on Flash and how to use it, I just do not have the time to do that right now. I wish I could contribute conversions myself, but until I buy and read a book or someone comes up with a true step-by-step, I am going to have to try to figure it out on my own.

It has been a couple months with me trying to convert a single game and I think I might now know how to insert a frame in a particular scene, but am almost scared to try it and it actually work!
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 10:10 PM.


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.06546 seconds
  • Memory Usage 2,412KB
  • 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
  • (2)bbcode_code
  • (6)bbcode_php
  • (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
  • (3)postbit_attachment
  • (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
  • postbit_attachment
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete