• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

[Engine] Generic Platformer

Started by Vanya, September 05, 2012, 11:32:50 am

Vanya

Hi, all. I'm working on a platformer engine at the moment that is based on the physics of SMB1, SMB2j, & SMB3. The primary purpose of this is for me to eventually have a generic engine I can use to make pretty much any kind of platform based action game I desire for my company, but in the mean time I'm starting it out as a recreation of the original SMB with enhanced graphics, music & a compilation of all stages from SMB1, SMB2j & SMB Special.

To start things off here are some screens of the new graphics:


8-bit Stye Graphics


I allow for double the capabilities of the Game Boy Color


That mean up to 16 BG palettes and 16 sprite palettes at once


Still need to adjust the colors to match the GBC's 8-bit color depth


I'm also allowing for uo to 8 layered backgrounds
  • Modding version: Other/Unknown
¯\(°_0)/¯

Kaijyuu

Saw this on the SMWC boards. Neato.


Curious: You're making this engine entirely yourself? Tools (such as a level editor) and all?
  • Modding version: PSX

Eternal

How newbie-friendly will this engine be? I'd love to create a Castlevania-esque platformer someday.
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

Dome


"Be wise today so you don't cry tomorrow"

Vanya

Thanks. It's being made in GM so all the basic tools are there for you by default. I suppose I should specify that. However, thinking about it I suppose I could eventually modify this into a stand alone engine as a light version that doesn't depend on having Game Maker.

For now it's going to be a GM based engine that will more than likely require the Standard Edition to function. For my purposes I'll eventually be porting it over to GM Studio.

That said. I'm going to be making this as noob friendly as I possibly can. The bulk of the engine will be coded, but I'll include some D&D to make it clear to the user the spots where you can make quick & simple changes to the physics.

The stages will use a system a friend of mine came up with for his Castlevania 3 engine for automatically creating solid objects. It's pretty simple. One tile layer is designated for the routine to use. You place your tiles in the corresponding layer. And when you run the game it makes all the solid block object during the creation of the room.

Right now I have it set up like this:
Layer 100: non-solid tiles that move with the ground layer and appear behind the player. (Bushed, fences, trees, etc.)
Layer -100: solid ground tiles that will produce ground objects, anything unbreakable you intend the player to collide with should be here. (Ground, stone blocks, etc.)
Layer -200: non-solid tiles that move with the ground layer and appear in front of the player. (Bridge rails, ground decorations, etc.)

By default the player's depth is set to layer 0. Most other objects you can interact with will be set to later -1 so they always appear above the player. Speaking of these objects, I'll be programming in the entire repertoire of SMB1, SMB Special, SMB2j, SMB2u, & SMB3 objects as I go along. You'll only need to place said objects in your rooms for them to function.

I intend to use this engine to make my dream fan game that combines SMB1, SMB Special & SMB2j into one big Super Mario adventure. But in it's most basic form it'll be the basis for all the platform game I make for my game development company in the future. As a matter of fact I'm also going to be further modifying the basic engine to be used as a beat'em-up engine for another project I'm working on. Once I get my website up and running I'll be posting more info there.
  • Modding version: Other/Unknown
¯\(°_0)/¯

Alaris

And I see shiny.  That's actually the kind of thing I've been working my way up to in Python, or at least, plan to work my way up to.  Best of luck to you, Vanya!
  • Modding version: PSX

Episode 42 is out! Click above to watch!

Vanya

September 12, 2012, 04:43:11 pm #6 Last Edit: September 12, 2012, 04:54:20 pm by Vanya
Thanks. And good luck to you too, Alaris!

I'm trying to get the basic engine done with by the end of the week as I had some urgent matters to attend to.

While thinking on the possibility of making this a stand alone engine I came up with some basic goals for it.
> All basic objects from SMB1, SMB2j, and SMBspecial.
> All power ups from said games.
> A complete tile set based on said games.
> Complete set of backgrounds based on the SMAS version of SMB1 & SMB2j.
> Pre-made levels from all three games organized into their own 'games'.
> A simple system for creating new 'games'.

How does that sound?
  • Modding version: Other/Unknown
¯\(°_0)/¯

Jon

Just saw this, looks awesome, and to answer one of you questions:
QuoteA simple system for creating new 'games'.


Do you mean a level editor? That would be really awesome, especially if it is user friendly for people who don't know how to code 100%, or some kind of simple tutorial is provided on how to create new games. This would make your engine golden :mrgreen:
There ain't no gettin' offa this train we on!

Vanya

Yeah, I mean a level editor. I guess if I wanted to give you the feel of making your own game I'd also give the user the ability to make a simple title screen, intro, ending & credits sequence.

Thinking about it, I could also put in the ability to hide all the level creation tools by letting you create a key code of your choosing that locks all those functions once you're ready to distribute your creation.
  • Modding version: Other/Unknown
¯\(°_0)/¯