Giter Site home page Giter Site logo

rafaelcp / super-mega-engine Goto Github PK

View Code? Open in Web Editor NEW
94.0 19.0 19.0 39.21 MB

Mega Man GameMaker Studio 1.4.1760 Engine

Home Page: https://cdn.rawgit.com/rafaelcp/Super-Mega-Engine/master/demo/index.html

NSIS 3.83% Game Maker Language 83.50% GLSL 12.67%
game-engine mega-man game-maker gamemaker gamedev megaman

super-mega-engine's Introduction

Super Mega Engine

Join the chat at https://gitter.im/Open-Mega-Engine/Lobby Twitter Twitter Facebook Facebook Discord Discord

Super Mega Engine - Open-source Classic Megaman engine for Game Maker Studio!

Run the HTML5 DEMO inside your browser!

Download the Windows DEMO (EXE).

Download GameMaker Studio 1.4.

Open Mega Engine

This is a fork of Mega Engine 1.3 for GM Studio by WreckingPrograms, intended to improve the code and incorporate contributions from users.

The engine has several features, including:

  • 60 FPS Classic Mega Man gameplay
  • Flexibility in adding or changing content in the engine
  • Accurate movement, physics, object interaction and more
  • Sliding and buster charging (can be disabled with ease)
  • Collision with solids, jumpthrough solids, ladders, spikes and water
  • A “section system” as present in the Classic titles, including proper screen transitions
  • Several built-in special weapons, with flexibility in adding new ones or changing existing ones
  • Built-in enemies, as well as flexibility in adding your own
  • Various example gimmicks included in the engine, and flexibility in adding your own
  • An example Robot Master with full AI, and flexibility to add your own bosses
  • A customizable title screen, stage select, boss introduction screen, weapon get screen, game over screen and pause screen
  • E-Tanks, M-Tanks, health drops, weapon drops and extra lives
  • Fully functional checkpoints

The following features are exclusive of the Super Mega Engine fork:

  • More flexibility in adding or changing content in the engine (code is more modular and less coupled; configurations are more accessible)
  • More built-in enemies
  • More gimmicks and effects, like wind, screen shake and flash and, optionally, allows moving platforms to persist on screen transitions (like MM5/MM9 bubbles)
  • Vertical boss doors
  • Automatically adds boss names to the stage select screen
  • Adds W-Tanks, screws and a fully functional shop (optional) with some built-in items, like the energy balancer, shock guard and guard power up
  • Modular and event-driven weapons and projectiles system
  • Fortress system, including drag & drop placement of paths and dots
  • Automatic collision objects placement according to tiles
  • Mini bosses
  • Enemy weak spots
  • Multiple characters system (Proto Man built-in)
  • Keyboard / Gamepad config (desktop only)
  • Game saving / loading system
  • Password system
  • Intro stage support
  • Dialog text system
  • HTML5 support (if you have the GM exporter, you can generate a browser version of your game, like the HTML5 demo available here)
  • Gamepad support (desktop only)
  • No FMOD (sound library) dependency
  • More bug fixes, even in relation to the latest versions of the original project
  • Maintained by the community
  • Cons: GM Studio 1.4.1760 only.

Open Mega Engine playthrough video
Open Mega Engine playthrough video
(Super Mega Engine playthrough coming soon)

Mega Engine 1.0 playthrough video
Mega Engine 1.0 playthrough video

Tutorial
Tutorial

F.A.Q.

Guidelines for Contribution

How To

Goals

  • Ideally, the engine should be an empty game, and levels, weapons and bosses (from examples or created by the user) should be added by the user according to his individual game
  • It should be possible to replicate any of the 8-bit MM games with the engine

super-mega-engine's People

Contributors

ethervil avatar gitter-badger avatar leereilly avatar rafaelcp avatar xrtariq2594 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

super-mega-engine's Issues

Small hop when transitioning upwards on top of moving platform

Mega Man hops when transitioning upwards on top of a moving platform. Probable bug location: prtMovingPlatformSolid > Step, first lines.

if global.frozen && !dead && instance_exists(objSectionSwitcher) && instance_exists(objMegaman) && place_meeting(x, y-1, objMegaman) {
x += objSectionSwitcher.playerSpeedHor * sign(xspeed);
y += objSectionSwitcher.playerSpeedVert * sign(yspeed);
}

Works perfectly when transitioning downwards.

Other possible source of error: objMegaman > Alarm 1.

if ground == true && plt >= 0 {
plt.y = bbox_bottom + plt.sprite_yoffset + 1;
}

Shop

When screws are enabled, the shop room should be reachable from the stage select screen through the select button or a selectable option below the bosses. The screen should load all buyable equipment automatically. Icons and prices must be shown, and descriptions as well when the item is selected. Usability must be better than in MM9/10, which suck.

Time Slow

Example of time manipulation weapon.

Screws

a.k.a. "money" (optional)

Screen Shaking

For Guts Man, for instance. Knocking Mega Man out or freezing him should be optional.

Tornado Blow

Example weapon (Tornado Man, gravity hold + super jump).

Code Refactoring

There is a lot of code replication that should be eliminated.

Key Config Screen

User selects a function (jump, shoot, etc...) and the game prompts for a key.

Weapon archive

Should be added, as a fortress boss,wich appears in 3 different places of the stage.

Wave bikes,Splash bubbles,Blocking bosses,etc...

You should add:
Wave bikes
Bubble poppers(AKA splash/wave bubbles)
Bosses wich can block bullets
a homing weapon
a direcctional weapon(like magnet mine from mmx2)
and the magnet enemies in magnet man's stage

Teleport Hatch

  • objTeleportOrigin: invisible. has a destination variable which must be set to a objTeleportDestination instance. Has a Mega Man collision event which activates the teleport-out animation, fade out, moves MM to the destination, activates the teleport-in animation and fades in.
  • objTeleportDestination: invisible and does nothing. Just to configure objTeleportOrigin's destination.
  • add proper example tiles too.

Fortress Map System

Not a specific fortress map, but the necessary functions and resources to build one. Paths must be constructed from the actual levels' layouts, the engine user just configures the scale. Controls completed levels.

Fix ladder mechanics

From the Reddit discussion at https://www.reddit.com/r/Megaman/comments/520y3d/open_mega_engine/d7gvbx9:

Grabbing the ladder seems to happen too soon, as soon as his sprite touches it vertically. The real collision point is a bit lower.

If Mega Man stops climbing at the top of a ladder, his animation doesn't reset, which it should.

To clarify about the ladder collision point: I'm talking about the spot on Mega Man's sprite that's checked for collision with the ladder tile. It's not at the top of the sprite, but a bit lower.

Wire

Example weapon.

Intermediate Stage

Optional. Just a num_defeated_bosses() script should be enough, so the engine user can check it at the stage select screen and add the intermediate stage. It should be possible to block other stages too, and unblock after finishing the intermediate stage.

Landing animation

From the Reddit discussion at https://www.reddit.com/r/Megaman/comments/520y3d/open_mega_engine/d7gvbx9:

There's no short animation when Mega Man lands from a jump/fall, though.

There's no specific landing sprite, but depending on the game Mega Man has one or more frames from a different animation before standing still. In Mega Man and Mega Man 2, they're frames from his running animation. From Mega Man 3 onwards, it's the single accelerating/deaccelerating 'animation'.

You can see what I mean if you use Rockman Copy System and tab through the frames as Mega Man lands on the ground while it's paused. :)

Vertical transitions when on top of upwards moving platforms

Currently, vertical transitions are possible only when climbing ladders. It should be possible to perform vertical transitions while on top of upwards moving platforms too (bubbles from MM5 and MM9).

According to WreckingProg:

Go to Scripts > Player > playerSwitchSections and go to line 75.
replace "climbing == true" by something like this:
(climbing == true || ground == true)

Initial Stage

Optional. Just a variable to set an initial room instead of the stage select screen, and a way to go to the boss selection screen after finishing the level (objBossControl modification?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.