Final Fantasy Hacktics

Modding => Non-FFT Modding => Topic started by: Vanya on September 05, 2012, 11:32:50 am

Title: [Engine] Generic Platformer
Post by: Vanya on September 05, 2012, 11:32:50 am
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
(http://i256.photobucket.com/albums/hh189/koala_knight/Platformer%20Engine/snapshot00.jpg)

I allow for double the capabilities of the Game Boy Color
(http://i256.photobucket.com/albums/hh189/koala_knight/Platformer%20Engine/snapshot01.jpg)

That mean up to 16 BG palettes and 16 sprite palettes at once
(http://i256.photobucket.com/albums/hh189/koala_knight/Platformer%20Engine/snapshot02.jpg)

Still need to adjust the colors to match the GBC's 8-bit color depth
(http://i256.photobucket.com/albums/hh189/koala_knight/Platformer%20Engine/snapshot03.jpg)

I'm also allowing for uo to 8 layered backgrounds
(http://i256.photobucket.com/albums/hh189/koala_knight/Platformer%20Engine/snapshot04.jpg)
Title: Re: [Engine] Generic Platformer
Post by: Kaijyuu on September 05, 2012, 10:48:32 pm
Saw this on the SMWC boards. Neato.


Curious: You're making this engine entirely yourself? Tools (such as a level editor) and all?
Title: Re: [Engine] Generic Platformer
Post by: Eternal on September 05, 2012, 10:50:19 pm
How newbie-friendly will this engine be? I'd love to create a Castlevania-esque platformer someday.
Title: Re: [Engine] Generic Platformer
Post by: Dome on September 06, 2012, 02:54:33 am
Quote from: Eternal on September 05, 2012, 10:50:19 pm
How newbie-friendly will this engine be?
Title: Re: [Engine] Generic Platformer
Post by: Vanya on September 06, 2012, 07:18:06 am
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.
Title: Re: [Engine] Generic Platformer
Post by: Alaris on September 12, 2012, 01:47:01 pm
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!
Title: Re: [Engine] Generic Platformer
Post by: Vanya on September 12, 2012, 04:43:11 pm
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?
Title: Re: [Engine] Generic Platformer
Post by: Jon on October 01, 2012, 06:28:57 pm
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:
Title: Re: [Engine] Generic Platformer
Post by: Vanya on October 02, 2012, 01:05:12 am
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.