Wednesday, May 2, 2012

More Mari0

Because otherwise some of you'd think I'd be a freak.


Well Easter 2012 is (way) over, and I got a new PSVita and (to top it off) a rather painful visit to the dentists'. Don't you just love the feeling of some guy ripping through your gums to defeat the evil plaque that rests underneath? Sure it's for my own good but I ended up afterwards with sore gums that are still continuing to this day, but thankfully it ended quickly.


Then comes the good stuff. Thanks to a custom tileset I created for Mari0, I've gained a bit of a positive reputation agmonst the forum members of Stabyourself, mainly for how many different alternative colors the sheet provides, including non-portable grey SMB-styled tiles that don't feel out of place when placed with other SMB graphics, unlike the default Portal tilesets included in Mari0. At this time, I know of three map packs that utilitize my tileset, and I betcha more will eventually come out after I write this.


Speaking of Mari0; one of the issues I have with Mari0 itself is the difficulty adding additional content (and I have to agree in some ways, but in others not so much) to make it better and more interesting. Many of the problems seem to come from the harsh limitations of Löve, the engine used to develop Mari0, but even there a game constructed with an engine should take it to the extreme by experimenting with Löve's boundaries. There are loads of free, open source titles potentially built on fan-creations, and by the near future, someone could approach Mari0 and give fans the ability to create great levels and entities, without having someone say "no this feature will not be in for no reason other than it was not in the first Super Mario Bros. (ignoring Lost Levels, Special, and Deluxe, official modifications to the original game to add new features and make for an interesting experience.) or either Portal game." mainly for adding in content that's not a tileset, nor make it easy to add background images or music for levels. There's more, but I'll jump on something else in the meantime.


By the many "problems" this game has, they are more along missed or misused features. Based on the million hacks of Super Mario Bros. hacks I have played since late 2010, here are the scenarios I have found.


Now keep in mind I'm not trying to be too critical and demanding here. If at any point you feel uncomfortable, my sincerest apologies. Also I tried to come up with ideas that would actually be beneficial and keep the players happy with new objects to allow for more challenging puzzles. I love Mari0 to death, as it passes off the limits of many editors for the original Super Mario Bros, mainly SMB Utility. I know the game is open source and with a lot of creativity and knowledge of Löve, one could insert these into the game themselves. However I should point out I'm not into programing at this time in my life, and except for a sound-effect mod, I couldn't run any mods created for Mari0, even with Löve installed on my PC. Plus I'm not saying if god forbid these suggestions get into some version  of Mari0 that Maurice has to do all the programing work; just include the data of co/fan-developers in a future version of Mari0, without having to load up another executable file if possible (and hey, even if an "advanced" version of Mari0 with a more detailed editor had to be made for the true designers at heart).


*Pipe entrences and exits are excessively limited when two different pipe exits in the same sublevel lead to one main level (or vice versa), you could end up very well being sent back to the beginning of that level. That and the pipe entrance and exit entities should be overlapable, so you can exit into or enter from a single pipe, or have exits from two different sublevels lead into the same pipe, without it looking awkward having Mario come out of the left side of the pipe. Firebars should also be overlapable as certain ROM hacks of Super Mario Bros (such as Paper Sai) have dual fire balls.


*The properties of certain enemies and objects are missused. When bopping an enemy with a shell from below with either a brick or "?" block, normally they'd flip upside down in their shell, and be knocked back a small width (same with a mushroom, however the shell is not mobile unless kicked) Here, shelled enemies die instantly when striked from below. Enemies can also stand on top of one another, and kicked shells do not lose speed when they drop, easily noticeable in Mari0's Lost Levels DLC pack, where a kicked Red Koopa shell flies over an area where it is supposed to drop and kill a series of enemies; enough to score an 1UP. Lakitus are effected by Mario's movement, where in the actual SMB, they are only affected by the screen scrolling. Koopa/Buzzy Beetles are meant to come out after being in their shells for sixteen in-game seconds (this could be a toggle on/off feature), and their shells can also be canceled out in methods they shouldn't be able to, like striking an enemy that is off screen by four or five blocks, even if it is not a moving shell. Koopa and Buzzy Beetle shells can also harm you if one is hanging over an edge and you try to kick it with a quick jump up. If you use a portal that is placed on a pipe where a Pirana Plant resides, there is a very good chance (99%) that you will take a hit, even if the Pirana Plant is not outside it's pipe.


*In underwater levels, no enemy should be stompable, and on overworld levels with flying Bloopers present, they should be stompable. Anyone that has played Lost Levels should know this.


*Any enemy sporting a shell immediately retracts and gets back up after 16 in-game seconds of being still. Allowing the shell-based enemy to recover from sliding resets the timer.


*Collecting a Star shows no point value nor plays the "Power Up" sound effect.


*The castle theme does not start at the proper time, starting about 20 milliseconds later. The overworld theme also ends early, and does not loop correctly.


*When a mushroom (Either Super or 1UP) moves into a hit "?" or brick block, it does not bounce back like it should. It only bounces if it is ontop the hit brick, and not both ways. Same goes for hitting Paratroopas with a block.


*Mari0 lacks an entity that allows for brick blocks with only a single coin hidden inside. I doubt this was actually in the original game(s) but it could help somehow. Speaking of, in the current version of Mari0, if an invisible brick is assigned to be an multi-coin block, it will remain invisible until it is done coughing up money.


*Allow invisible 1UP Mushroom blocks to be placed as a separate entity without requiring the player to place a 1UP Mushroom on an invisible coin block.


*You seem to be able to net out way too many coins from a multi-coin block. Adding a delay of 40 milliseconds/centiseconds between each hit/coin may do the trick.


*The color palettes of underwater "?" and brick blocks (plus pre-hit "?" blocks in castle levels) are incorrect. You need to open up a utility for hacking the original Super Mario Bros ROM (such as SMB Utility) and add a "?" block and a brick block to an underwater level (2-2 or 7-2, for instance) to see the proper palette for those blocks. Other tiles are missing their alternative colors normally not seen in an unmodified SMB ROM, like the red J pipe or the orange trees. Just mess around in SMB Utility for hours until you find everything (and I repeat, everything) possible, and if you place an "hex edit map block" somewhere along the bottom, you may be able to find additional color palettes; like light blue or lava red.


This tileset I whooped up includes every non-mobile color palette pulled from SMB Utility. I am aware there are others (like for characters, "?" blocks, and coins) but these are for the normal solid/background tiles. There are some differences with the colors here compared to Mari0, as they appear a lot brighter in SMB Utility. The one that goes in contrast with Mari0's color scheme(s) can be found below.



*There is nothing in the game that prevents the player from being able to jump over large walls or other boundaries built with no ceiling by simply going up to the top of the screen, where the editor cannot place additional objects. Even Hello's Super Mario Engine for Game Maker has a tool that can be placed to prevent the player from bypassing parts of the level by leaping over stuff off-screen.

*A minor complaint, but in Portal 2, Light Bridges make a sound when the player jumps off them. Red Lasers do not kill the player instantly in the same game, only after several collisions, with each one simply shooting Chell back a few steps until she falls from first-degree burns. In Mari0, collision with a laser is instant death, even if you've collected a Mushroom and achieved Super size, or even worse, invincible thanks to the Starman. Collision with a laser in Mari0 should simply fling the player back and after three touches, Mario takes damage like he normally would, then after another three collisions, he dies. Energy balls, not present in Mari0 nor Portal 2 but in Portal, are instant killing hazards.


*With proper use of portals and self-canceling them out (and in some cases not canceling them out; Mario and enemies can get into areas they shouldn't be able to reach. This seems to happen most often when one portal is placed horizontally and the other is placed vertically.


*In single player, the camera should always be centered on Mario with two other keys being used to look further in either direction. The camera as it is at the time I'm writing this makes it hard to see ahead; brutal for some puzzle-based levels, especially if the player has to head left.


*In my opinion, there are too many on-screen Bowser fires at once. Portaling ahead can make you almost accidently run into a Bowser fire and get hit. Speaking of the flames, if Bowser's flames do not come on early, he will never spew fireballs unless the "Fire Start" entity is placed alongside the Bowser entity, which the later triggers when he appears.


*If moving/falling platforms are aligned with a solid tile(s) or another platform, the player's position gets extremely wonky and can lead to the player getting stuck inside solid ground or ultimately fall to their death.


*The different Gel verities seem to be too blotched together in a stream after exiting a portal, adding better collision when sideways-traveling gel goes through a horizontal portal and also adding a bit of a "fountain" or "spray" effect on gel after going through a portal will do the trick.


*Allow Orange Gel to boost the player's speed in underwater levels, as it can in any other level.


*Fix a glitch regarding levels loading up the wrong background (i.e. one of the current level's sublevels).


*Portal 2 has a feature where if the players runs into a blotch of Blue gel after gaining speed with the Orange Gel, the player will auto-jump. Speaking of, jumping while standing on a surface Blue gel propels you a little higher than you can jump normally, and there is a minimum jump height with the Blue gel.


*If Bowser is on a flat surface, every solid tile (including the one in the space to the lower-left of the axe, which represents the rope) placed between and under (not above) the Bowser and Axe entities should collapse, just like basic bridge and rope tiles. And I say solid tiles only because it'd be weird if the lava drained below Bowser as the bridge collapses.


*In underwater levels, if a portal is placed as high as possible on the ceiling on the top row, and another anywhere else, Mario cannot enter through it.


*In levels with looping mazes, Portal-based entities (Companion Cubes, Doors, Buttons, Lazers) can appear in odd places when an area of the level loops, either too early or too late, where they can somehow obstruct the level's path and make in unsolvable.




So those are the flubs I were able to find; Now comes the suggested improvements. A lot of people have suggested features to make Mari0 more enjoyable, only to have them rejected because well, I'll just say anyone's game, whenever or not it's meant to load in custom stuff easier or allow for more complex and/or better level design. (Note: A few of these may be listed above)


Original:


SMBEnemySprites.png
*Allow players to map portal aiming controls to the keyboard. Just unlock them for keyboard use and add the option to set sensitivity. Two easy steps; I dunno why it shouldn't be done, but maybe it's because it'd make the game a little complicated for keyboard-only players, plus the possibility of programing issues. So scrap that if it's too complex.
*With pipe entrances and exits, there can be more than one separate destination pipe entrances and exits within only two areas, a main level and a sub level. Here is a thread with more detailed info.
*If the player grabs a 1UP mushroom, goes to another screen, comes back, and tries to release the same 1UP mushroom again, it should be (toggle On/Off) replaced with a single coin. Same for multi-coin blocks.
*Platforms that are solid only from above.
*The player should be able to adjust the world when the princess appears. It'd be cool if one could add a few additional worlds (9, A-D/10-13) either as bonus, sometimes secret worlds (ala Lost Levels) or worlds you do right after the others. On top if that, the ability to extend a normal world up to eight stages would be a cool feature, plus adjust how many levels a world should have, so you don't go into blank levels.
*Red Paratroopas can be set to fly horizontaly.
*Have of all thing a copy/paste feature, where you drag a box around what you want to copy, click somewhere else, press the right mouse button (or maybe Alt or Shift), select Paste, and there you go. Plus a quick erase button by holding Backspace/delete and dragging with the mouse to remove tiles on the level.
*Items other than Coins can be placed outside without hiding them inside blocks, however they will be immobile.
*Via toggle, ?, brick, invisible blocks, coins, and enemies in looping mazes do not respawn untouched if the player hits/collects them in any way on a previous lap.
*Modification of enemy speeds, up to 5x. Green Paratroopas, Hammer Bros, and Bowser's vertical speed cannot be changed.
*Enemies that do not set off moving platforms/lifts via toggle.
*Bullet Bills that you place anywhere on non-solid/blank tiles that fire only once in that location once it's spawn point is on screen.
*Cheep cheeps with a movement pattern similar to Podoboos, can be stomped.
*The option to pick the background color with RGB sliders.
*Change the speed of firebars between normal, x1.5, x3, or even x5.
*Climbable ropes/ladders. It's possible to do this in the original game with anything but a vine, but it's super buggy, and you need to open a utility to make it happen.
*One-way tiles that act as walls if the player touches them from the side the arrow points to.
*A faster method of linking Portal's "light paths" which illuminate orange when something is triggered or turned on.
*Allow players to view the movements and placements of moving platforms and lifts while in editor mode, can be toggled on or off.
*Better Podoboo customization, like where in the lava will it spawn, and also the strength of it's jump.
*Additional gate numbers for looping maze levels.
*The Spike Tops from Super Mario Bros. Crossover, but they can be knocked upside-down from below and kicked, alike Spinies, the only difference with them is they are immune to fireballs. 


Lost Levels:
*By toggle, the game can be set to give a free 1UP when both coin digits and the ones digit in the timer are the same and the player touches any section of the flagpole.
*Poison Mushrooms designed like the original SMB, not Lost Levels. (they are just mushrooms with the pallette of a Goomba; a brown mushroom with black spots and normal skin color for the bottom). If the player is under the power of the Star, the Poison Mushroom has no effect.
*Red pirana plants that come out if the player is standing next to their pipe, but not when he/she stands directly on them.
*Upside-down pipes and pirana plants. However downward pipes use the same pipe end/tip sprites as pipes facing upwards; same for pipes facing right, they use the standard horizontal pipe end sprites.
*Wind that blows either right, left, or alternates between thew two directions.
*Stomping on enemies sends you higher, can be toggled between the normal stomp launch hight and the one in Lost Levels.
*Green super springs that launch you very high.
*False Bowsers with a teal-green palette (identical colors to Green Koopas in underground levels).


Special:
*Add each and every one of Super Mario Bros. Special's exclusive enemies and items. As sucky I know that game's controls (both versions) are in contrast to the original, that one at least had level designs incapable on the NES or Famicom, such as mixing two themes together (both overworld and underwater tiles in one room/level, underwater levels at night, etc). Wario Bros. of The Mario Fan Games Galaxy site has an interesting rip of these.


*The special items are:
 *The Hachisuke, or the now-deflunct Hudson's personal logo. Simply boosts your score by 8,000 points, which is the maximum an enemy can give you if you hit a big killstreak before the 1UPs come into play.
 *The Wing, it simply gives you 60 in-game seconds to "swim" in mid-air, and Mario flashes when the effect is about to die. You can still stomp enemies though, unlike in underwater levels. There should also be a variant that lasts indefinitely until the player dies or enters a new level/room.
 *The Hammer, functions just like the Hammers from Donkey Kong, and can wipe out anything the Fire Flower could only dream of killing, like Buzzy Beetles, Podoboos, and such. It can also be considered an alternative to the Star/Starman, but only protects from the front (where Mario is facing) and right above. It also lasts thrice as much as the Star.
 *The Lucky Star, a powerful item that resembles an atom. Pick it up, and it'll wipe out all enemies on the current screen and one screen behind and ahead, 100 pints for each kill.
 *The Clock, which resembles a miniature desktop clock. Collect it, and it'll award 100 additional seconds to the game's timer.


*The new enemies are:
 *Barrels, a cross between Buzzy Bettles and Spinies: cannot be stomped, or fired. The only way to kill these are with Stars or Hammers. They also move slightly slower.
 *Sidesteppers, crabs that are Spinies with an extra hitpoint. Hit it once (either from below or with a Fireball) and it becomes enraged, speeding up in the process. Hit it again to kill it.
 *Fighter Flies, or Goombas that hop a short distance, and pause in place after every jump for half a second, then jumps again. Trickier to eliminate from below with a brick or ? block.
*Icicles, which hang from the celling until the player travels underneath, at which they fall at a great speed. Can be set to grow back after it falls or not.
*Firebugs/Trouble Bugs, don't really know of an exact definition, they seem to be just Barrels with a different skin. Immune to everything except the hammer and the Star.


Deluxe:


*Separate Challenge mode. Find five hidden Red Coins and the well-hidden Yoshi egg, and aim for a top score. One life per attempt at an level, no checkpoints, 1UPs award points.
*A splitscreen/network versus racing mode (get the flag or axe first, use face blocks to enhance your progress or halt the other player(s) with new maps, if time runs out, the one with the most coins wins. Has its own dedicated thread on the Mari0 forums. Each level can also be attempted solo, where the player races against a ghost/hologram of themselves.


ROM Hacks of SMB:


Note, use these ROMs to get the ideas, incase me making a list below isn't enough.


*Spikes that harm Mario if he comes into contact with the pointed side. Any other side of the spike will simply act as a non-portable solid wall.
*Arrow platforms that moves anything that stands on it to the left or right, like a conveyor belt.
*Slippery surfaces, which reduces traction when on land.
"!" blocks, which turn outlined blocks solid and vice versa. It alternates between two sets, red and blue, with red enabled by default. Aside from the basic solid blocks, there are also arrow tiles that are triggered by "!" blocks. You can pass through them, and they propel/launch you in the direction shown.
*Entities that start or stop auto-scrolling stages, at three speeds.
*A hourglass item that adds 30 seconds to the ingame timer.
*Black Pirana Plants uninfected by Mario standing position and is very speedy when it comes out of its pipe.
*Swinging spike-balls, they work like Roto-discs from SMB3.
*Foreground waterfalls that nullify or badly affect your jump height.
*The Hammer Suit. All it does is change your colors into a grey hat and a dark grey hair. and allows you to throw hammers through solid tiles alike SMB3.
*Spinies that can be knocked over by a hit from below and kicked like a shell.
*Bouncy platforms that look like two wires. They work like moving platforms, except they can also be set to remain still.
*White outline tiles that basically represent and act like an invisible tile; they basically are meant to show the location of a invisible block.
*Climbable ropes that cause the player to automatically slide upwards or downwards when on them, like a moving chain.
*"Poisoned" levels that reverse your left/right movement controls, identified with a purple overlay. You can still aim the Portal Gun normally.
*Special rooms that re arrange themselves by destroying solid blocks in a sequence once all the enemies are eliminated from the screen. With off-screen Bullet Bills, they have 20 seconds to do their thing before they are forced to stop and allow the level to adjust itself.


Portal & Portal 2:


*Amongst ones suggested often (often rejected for programing purposes) like excursion funnels (not that difficult to program, just look Mario in position within the center of it and use left/ and right to escape vertical ones and up/jump and down to escape horizontal ones.
*Decent-drawn turrets. You get hit by one bullet, a small pixel of blood escapes from you, after you take seven to ten bullets without taking cover, you take damage or die.
*Edgeless Safety Cubes, or spheres that are similar to cubes, but are rounded, so therefore they roll if they are dropped while the player is moving. There could also be buttons that would only accept either cube or sphere blocks.
*Gel entities that only drop one large blob of gel at a time rather than a whole pack.
*Gel launchers that can be enabled as well as disabled with buttons, without having to rely on doors.
*Doors that are open at the start, then close when a button is pressed.
*Grey platforms that fold out from the background when a button is pressed, They can also move around, or raise/lower at a certain speed up to a certain height after being in a fixed position prior to hitting the button, examples including the Unstationary Scaffold and Victory Lifts.
*Grates. Blocks/walls you can't shoot portals on but through it, and you can't place gel on it, lasers and light bridges can go through it, and so can the bullets from a turret. However it's solid to anything else.
*Glass walls/tiles that you can shoot portals and guide lasers and light tunnels through, but the bullets from a turret cannot go through it, plus it is solid to everything else, including gel.
*Water that removes gels on surfaces it touches.
*Dunno of it's too complicated with rotating sprites, but the unused violet-colored Adhension gel (search it on Youtube) would be an interesting concept for some levels; it basically sticks Mario (well, almost anything) feet-first onto any wall or celling the gel is applied to, with it being possible to make wall-jumps or jumps to the celling with it.
*Gel can be applied to both enemies and Cubes, just like in Portal 2. On Cubes, blue makes the cube bounce uncontrollably, orange makes it slippery, white does nothing, and violet allows it to stick to walls for whatever purpose. Most enemies also follow a similar, though not exact ruleset.




The Great Giana Sisters(!):


*The only one I have from this game is an boulder entity that can be placed inside brick blocks. When the brick block it is inside is broken, the boulder falls from it and becomes a solid tile (but via toggle, portals can go through it, be grey and non-portable, and so forth). It cannot crush Mario should the boulder hit him, but it can squash enemies, and travel through portals, locking into the nearest tile. Boulders can also be placed outside brick blocks.




I think that should be enough for one day. (-.-¡)