Professional Documents
Culture Documents
SMB3 Engine Help Guide by Pwyskowski: Game Controls (Keyboard)
SMB3 Engine Help Guide by Pwyskowski: Game Controls (Keyboard)
Bosses:
Thus far, there are 3 types of bosses in the SMB3 engine. Boom-Boom: This is the boss that you see in the fortresses. The basic strategy to defeating him is to either stomp him 3 times, use 3 fireballs , or 1 hammer. Boom-Boom comes in four variations. 1. Stompboss (he just follows you and can be stomped without any worry) 2. Stompboss2 (follows you, but temporarily grows spikes on his back after stomping) 3. Jumpingboss (same as above, but randomly jumps at you) 4. Flyingboss (This boss takes flight and flies randomly around the room) SMB1 Bowser: This is the boss that you would see at the end of a world in the castle in the first Super Mario Bros. He cannot be stomped. To defeat him, it will take 3 fireballs, 3 hammers, or Mario hitting the axe to the bridge he stands on. SMB1 Bowser comes in 3 variations. 1. Bowser01 (Randomly jumps and shoots fireballs) 2. Bowser02 (Randomly jumps and throws hammers) 3. Bowser03 (Randomly jumps, throws hammers, and shoots fireballs) Larry Koopa: (This is the boss from the first world in SMB3) He can be stomped 3 times or fireballed/hammered 10 times to be defeated. Larry will climb stairs (not too steep) to get to Mario and shoots magic from his wand. When making a lair for Larry try not to make too tight of spaces or make any steps too steep otherwise he may get stuck.
Page 2/13
BGFlasher
This is an invisible object that you can place in a room where you want the background to flash at regular intervals. An example of this would be a doomship. The bgflasher has 2 variables that must be set. The first is myflashcolor which default is c_red . This is the color that you wish to have flash in the background. The second is mybgcolor which default is c_black . This is the color that you wish the background to be normally. To setup the bgflasher object, put the following code into the creation code of the room. instance_create(0,0,bgflasher) //or place them in the room using the room editor with instance_find(bgflasher,0) { mybgcolor=c_black myflashcolor=c_red } *Note as of 3/12/05, there is a 2 nd Bgflasher that makes cannon noises available for use as well.
Bridge/Axe
When Mario makes contact with the bridge axe, each Bridgepiece is destroyed one at a time (in order of instance). If Bowser exists in the room, he will be destroyed as well. An animation of him falling off the bottom of the screen will occur when all of the bridge pieces are destroyed. Since the Bridgepiece(s) are destroyed in order of instance, it is best to place them in the room in the order that you wish to have them destroyed.
Page 3/13
Page 4/13
GameInit object
This must be placed on the title screen of any game you make with this engine , otherwise you will run into many errors. This object sets up and resets many global variables. You can find this under objects/other. lives=5 (Sets the number of lives a player starts with) global.getcoin=0 (Sets the number of coins the player has) show_score=false global.savepowerup="small" (sets the starting powerup) global.BigRed=false (Toggle for Big Red Switch) global.BigGreen=false (Toggle for Big Green Switch) global.BigYellow=false (Toggle for Big Yellow Switch) global.Music=true (Toggle for Music being on/off) global.current_map=TestMap (Sets the room/map that Mario returns to when he dies) global.just_died=false global.gamepad=false (false for keyboard, true for gamepad) global.outpipe="right" global.stomp_tally=0 global.card1="blank" (initializes the card system) global.card2="blank" global.card3="blank"
Page 5/13
MapFortress/MapLocks
The MapFortress object has 2 variables that can be set: Destroylock Setting this to True will destroy an object on the MapScreen which is set by using the mylock variable, usually this is a MapLock but you can get creative with it if youd like. For example, in the engine demo: destroylock=true mylock=114649 mylock is set to 114649 which is the ID number of the instance of the MapLock on the MapScreen. So when the fortress is destroyed, the lock is destroyed as well. Last Updated 10-22-05 Page 6/13
MapPipe:
This has 2 variables that can be set. Roomdestination is used just like any MapLevel object to set the room you wish Mario to travel to when enter is pressed while standing on it. If it is not set to a room name, the pipe wont send Mario to another room. Instead he will be sent to another location in the same room by using the pipe_exit variable. Pipe_exit is set to an objects ID number (usually another MapPipe) that Mario will be teleported to when enter is pressed while Mario is standing on the MapPipe. * See TestMap or TestMap2 creation code for example.
Maze Pipes:
Maze Pipes have 2 variables that can be set Pipedestination must be set to in the rooms creation code to set where Mario emerges when he enters this pipe. This variable MUST point to another Maze Pipe or Mario will not emerge from anywhere. If this variable isnt set at all, Mario wont enter the pipe. This can be helpful in making a one-way pipe. Example (from Maze Room Creation Code): with (118448) // Instance_Id of the first end of the pipe { pipedestination=118452 } // Instance_Id of the other end with (118452) // Repeat with the other end and set its { pipedestination=118448 } // destination to the first pipe Now you have a 2-way pipe. J Scrollspeed is an optional variable that can be set. Its default is 16. This is used to adjust the scrolling speed used when Mario is moved from one end to the other. If you dont want any scrolling (instant jump to the other end), just set the variable to 1. Also remember that if you adjust this variable, you must set it to the same variable in both connected pipe maze objects or one will scroll differently than the other.
Page 7/13
NoteBlocks:
Mario bounces when standing on these blocks. If jump is held down while Mario bounces, he will bounce much higher. Warning: DO NOT PLACE ANY OTHER OBJECTS (LIKE OTHER BLOCKS) UNDERNEATH A NOTEBLOCK BECAUSE IT WILL GET STUCK WHEN BOUNCED ON!
Quicksand:
Mario sinks when standing on or in quicksand. Also, walking through quicksand will slow Mario down. If Mario falls too deep (about 6-8 pixels from the bottom) into a quicksand block, he will fall out of the bottom of it. If you have quicksand at the bottom of room, I would recommend placing an extra layer of it underneath it off the bottom of the room to keep Mario from falling through prematurely.
Roulette Block:
These are used at the end of levels. When Mario hits one of these from underneath, he will get a card and then return to the current mapscreen. When Mario gets 3 cards, he will be rewarded with extra live(s). If all 3 cards match, you will be rewarded as follows: Mushrooms (2 lives), Flowers (3 lives), Stars (4 Lives). If they dont match, you will receive only 1 extra life.
Page 8/13
Scroller object:
Place the scroller object on the 7th square up and 7th square in for best results. Change View 0 to follow scroller object. Keep Mario fairly close to the starting point of the scroller object to avoid any bugs. To get the scroller moving just use vspeed(negative values to scroll up) and hspeed(positive values to scroll forward). The best place to do this is in the room's creation code. As a side note: I added what I call a "scroll trigger" to the engine example (vines_to_climb room). This shows how you can make an object quickly change to a scrolling screen when Mario reaches a certain point to give an extra effect or to activate a boss. 2/21/2005 Added an example of how to do complex scrolling using paths (See Ship_Test room)
Start Pipes:
Start Pipes are for levels where you want the level to start up with Mario coming out of a pipe. Simply place the start pipe that you want Mario to begin the level at wherever you want but do not place a Mario object in the room. Also, you need to set the view_object for view 0 to the start pipe that you used in the room. For example in the pipe_corridor rooms, since Mario is coming out of a startpipe_down that is the object that view 0 is set to.
Switches:
There are 3 types of switches. The first is the coinswitch. This switch turns all coins into dud blocks and all dud blocks into coins. The second type is the Bluebuttonu. This switch will destroy all of the Blueblock(s) in a room. The third type is the giant switch. These switches will turn empty blocks of the corresponding color into powerup blocks of the corresponding color. Since the giant switches use a global variables, any empties in other rooms will also be effected when Mario steps on it as well as any other giant switches of the same color. This was designed to help make multi-room puzzles.
Page 9/13
Teleport Doors:
These teleport Mario to another Teleport Door in the same room. To use just set the destination_door variable in the rooms creation event. This variable MUST point to another Teleport door or it will not work. It works exactly the same way the Maze Pipes do. For example: with (118487) { destination_door=118486 } with (118486) { destination_door=118487 } By using the proceeding code in the rooms creation code event, 118487 and 118486 are two Teleport Doors and they are now linked to each other. When Mario is standing in front of one of the doors and up is pressed, he will be teleported to the other door.
Page 10/13
Water:
When Mario comes in contact with water, he will go into swim mode. There are 3 different sized water blocks to make placing it easier than ever. When Mario is at the top of a body of water, the player may press up and jump at the same time to jump higher out of the water. As a cautionary note, Mario will fall out of the bottom of a water block if he is too close to the bottom of it(about 8 pixels). In a level where you have nothing under the bottom of the water (like a pit), it's a good idea to put a couple of the smaller water blocks underneath it off the bottom of the screen to keep Mario from falling prematurely, the same goes for quicksand.
Page 11/13
Special Enemies:
Angry Sun: Best placed about 8 blocks up from where Mario Starts. The Angry Sun will follow Mario and randomly dive down at Mario. The Angry Sun can only be destroyed by a hammer or by an invincible Mario. There are 2 versions of the Angry Sun. Both behave the same, however angrysun2 will repop shortly after being killed. Bob-Ombs: These little buggers will start flashing and then explode after a random amount of time. They can be stomped to stop them from moving and then kicked around by Mario. The only way they can be destroyed is by hammer or by an explosion by another bomb. There are 2 versions that can be placed in a room. The first starts its countdown to explosion immediately after being created. The second waits until it comes into view. I would recommend using the second version for most stages. The first version is generally used with the Lakitu_bomber object. As a side note:explosions from bob-ombs destroy breakable bricks. Bombing Lakitu: This guy drops bombeggs down at Mario. There are 3 versions of it. The first drops bombeggs that become bob-ombs. The second version drops bombeggs that explode on impact with any solidblocks. These explosions will destroy any breakable bricks that they come in contact with. The third version of the lakitu_bomber randomly drops bombeggs that explode on impact and those that turn into bob-ombs. Bombing Lakitu's just like any Lakitu, is best placed above Mario about 9 squares or about 11 squares from the bottom of the view. Blooper: These squids will stalk Mario wherever he is. There are 2 versions. The first can be placed anywhere in a room and will start moving towards Mario when they come onto the screen. The second type are best placed outside of the room (far left or right, I don't recommend having them off the bottom of the screen) and they will periodically repop if destroyed. Cheap-Cheaps: Cheap-Cheaps come in 4 versions. The first is a stationary fish. The second moves left and right (use blocks or blockers to keep in an area). The third works like the second except that it moves up and down. And finally the fouth just moves to the left from off the screen and repop periodically. These are best placed off the right of the screen. Flying Fish: These cheap-cheaps continually fly up from the bottom of the screen towards Mario. Place them off the bottom of the screen and they will continue to repop after being destroyed by Mario of by falling off the screen.
Page 12/13
Invincible Flowers: These baddies cannot be destroyed. There are 3 versions available for use. The first do not move and can be walked on by an invincible Mario. The other 2 move up and down (best placed inside mini-pipes). The moving invincible flowers by default will always pop in/out at the same time. To get them to come out at different periods use the following code in the room's creation code. with (instance_find(invincible_flower02,0)) {alarm[2]=105} alarm[2] is the alarm used for the initial delay before the flower first starts moving up/down. Please see the flower_room for an example JellyFish: These are completely indestructible and do not move. Mario will take damage it he comes in contact with one (unless he is invincible). Paragoombas: These come in 2 versions. The first moves like a regular goomba except that it hops every once in a while. The second hovers in the air, dropping baby goombas like they were bombs. Ptooie Plants: These come in 2 versions. One walks back and forth, while the other is stationary and should be placed atop of a pipe. Spiny: Use the Spiny2 when placing them directly in a room. The other is used by Lakitu and self destruct when out of view.
Page 13/13