Thought I'd share my interesting Mario game engine with the GLBasic community, source code and all!
With it you will find the beginning of a really lame Mario knockoff called Ultra Marioid! (I intended for it to be an Android game, it works nicely on Kindle Fire HD 7")
What it does:
* full worldmap system with entirely customizable layouts in the same fashion as Super Mario Bros. 3. Levels are automatically linked by level number.
* infinite level size, not bound by a grid. Place objects freely on the screen!
* supports per-level music customization via ini file
* infintiely expandable object arsenal. make a bitmap named obj_(number).bmp and it's usable in-game if it's in the media folder.
Test the demo level by pressing new game. On the world map, you can either click a position to move to or use the arrow keys. Stepping on a level indicator will initiate the level.
Arrow keys to move
X to jump
Being optimized for touch screen mechanics, some blocks are "tappable" to break them, so you can simply use the mouse on a PC. When compiling for android, remember that your screen MUST support 1280x800, such as the Kindle Fire HD, unless you rewrite some of the code to alter it. Compiling for Android automatically switches on the NES-style on-screen controls.
Editing a level: Press "EDIT" at the start screen. Use arrow keys <--- and ---> to select a level, enter to pick what one. A yellow "?" will appear if the level has not been made yet - so just press enter to make it!
The arrow keys fly you around the map. Shift + arrow key = fast move. SPACE bar saves the level.
In the editor: press "O" to open the objects list. You can select an object from here, or simply press the + key or the - key on the numpad to "scroll" through objects available. Click to place an object. Snap objects to the left, right, top, or bottom of other objects by selecting them with the mouse and using W,A,S, or D on the keyboard.
Scroll with the scrollwheel on the mouse to change the properties of the next object to place. Mousing over any object and using the / or * keys on the numpad changes the SELECTED object's properties. By default, objects act as solid blocks. They can become moving platforms, breakable by jumping under them, or act as coins. In game, you can break ANY block on PC by holding shift and clicking it. In the editor, delete a block by mousing over it and pressing delete. The shift-click thing is more of a beta-testing feature, it's obviously not for the final product.
Keep in mind Mario will start in the middle of the screen on a newly loaded map, so build accordingly. Pressing T opens a slider to select how many "taps" the next object placed requires in order to explode it in-game. Set this back to zero to disable it.
Remember: this is not a finished product. With some additions it can be made into a fully finishable game, but as it is, it's just a sort of fun little experiment.
Download full project: http://www2.zshare.ma/yrudnqo1weiq