Just put up my first game banner. Hopefully much more to follow. By the time you’re reading this the game probably already started. Look up you fool! While the timer is ticking move the mouse around. Each black box your mouse crosses over will be destroyed.
This was my first “game” built in the PushButton Engine. The interface to the side of the game is a separate swf built in pure flash and is embedded inside the PBE swf at compile time. The preloader (a separate swf), the game swf, and the interface swf all communicate through a custom event system.
I plan on building a lot of these little minigames as prototypes for larger experiments and continuing work on the interface object. I have lots of crazy ideas. Let me know what you guys think.
For the past few weeks I’ve been struggling with understanding the Pushbutton engine. When I first discovered it I instantly saw all the potential, but was quite underwhelmed by the lack of documentation this complex code base had. The bad news for me (and now you) is that PushButton is in a kind of transitional state as the PBE engineers focus on what is to become PBE 2.0 and what to do with Molehill. I think it’s safe to assume the PBE guys are investigating Molehill closely and trying to figure out how best to implement it.
Well none of this helps us very much. I want to make a game now and I want to take advantage of PushButton’s integrated physics, xml based level and object generation, and component architecture. We will just have to hope that the majority of the effort we do today will carry through to the newest versions of PushButton. This tutorial only covers setting up a PBE work environment, however should any step in this process change I will try to alter the tutorial accordingly. As always use the contact link up top to let me know if you see some updates that can be done, or dead links, or bad code 🙂
Get The Latest FlashDevelop
First go get Flash Develop if you don’t already have it. One of the really awesome things about PushButton is that it doesn’t require you to own a license of flash. So us poor sauce developers can still rock out some games and make that crazy indie money. So we will be using Flash Develop to compile our swfs for us.
Get The Latest Flex
Go get the latest Flex SDK from adobe. Make sure to save the Flex SDK somewhere safe that you will remember. Now we need to link FlashDevelop to Flex. Launch FlashDevelop and select Tools->Program Settings from the File Menu. Click the “As3 Context” button to the left and navigate to the Flex SDK in the “Flex SDK Location” section.
Get The Latest PushButton
Go to get the latest PushButton build from GitHub. This tutorial is about setting up the PBE 2.0 build which is the most recent and most in flux. Its important to note that you may want to setup your own github repo pointing to this branch or at least be aware that updates occur often and might be critical. Make sure you have PBE 2.0 selected by clicking the “Switch Branches” button and selecting “PBE2”. After that click the “SOURCE” button just above the Branches button and then “Downloads” button to the right.
You Got PushButton In My FlashDevelop!
Create yourself a new “As3 Project” in FlashDevelop Project and delete the Main file FlashDevelop dumps in the src folder. Copy the src folder from the PBE branch you downloaded to your new project’s src folder. Your FlashDevelop Project should now have a com folder in it. We’re not done yet. We have to add some command line arguments to FlashDevelop or nothing using PBE will compile. Hit Project->Properties from the File Menu. Select the “Compiler Options” tab and the ellipses (…) next to the “Additional Compiler Options” field. Put this code in the resulting dialog:
Running the Examples
We’re done! (with the setup) So how about we actually do something? Copy the contents of the examples folder from the PBE branch you downloaded into your src folder. Now your src folder should have a com folder, a demos folder, and a PBEDemos.as file. Right click the PBEDemos.as file in the FlashDevelop Project Explorer and select “Always Compile” from the drop down. This will tell FlashDevelop to use this file as your Document class (it will define the swf). Hit Ctrl+Enter on your keyboard and the examples should launch for you.
We have the latest build of PushButton setup in the latest build of FlashDevelop running from the latest Flex SDK. Now all you have to do is learn the API from the example files, and thats cake! Ok maybe not so much, but the examples are heavily commented. As I continue my personal studies I will continue to update with new tutorials. Although I highly suggest you follow the above processes yourself to get the latest versions of all the files and learn the process you can get a copy of my final empty FlashDevelop project below.
Empty Flash Develop Project with PushButton 2.0
Welcome to BHBooker.com. For those of you who don’t know me, I’m a game programmer thats been developing in Flash since I graduated in early 2006. My career in the games industry has afforded me little time to dedicate to my own concepts and my own projects. Contractual obligations have also prevented me from being able to share many of my higher profile or more interesting work. This has left me with a fairly undeserved and uninspired portfolio (in my own humble opinion). So, I intend to use this site to promote myself, share code, build a respectable portfolio, play with some new API’s, build some games, and hopefully meet some of my contemporaries. I don’t pretend to be an expert so any and all feedback is welcome as I fumble about with new technology and API’s. My first goal is to start with the PushButton engine. I hope to deliver my first beginner’s tutorial on the site within the week. On top of learning PushButton I’m having to learn WordPress – so bare with me as I butcher the site in an attempt to get something out.
I want to throw a big thanks out to a few people who helped make this site happen. First is Emily Carlin who took precious time out of her busy day to create the site you are now eyeballing. I highly suggest you visit her company’s site and get her to make you a blog. SwankWebStyle.com I assure you she is far more professional than me and any oddities that occur as you view the site are my fault and not hers. I also want to thank John Harman for the awesome logo at the top of the page. He has a cool geek culture web presence at GeekLore.net, go check it out. And lastly I want to thank Charles Fairchild for agreeing to be my Project Manager in all this. He’s agreed to take time out of his day to yell at me until I work on things. I still have yet to discover what he gets out of this, other than the ability to yell at me and somehow make me feel guilty about it.
So that’s it. Thanks for visiting. It’s still very much in production so be wary.