Vs. Mario Bros - Another Game Maker project

Started by Jedi Master Baiter, December 12, 2016, 11:07:21 pm

Previous topic - Next topic

Jedi Master Baiter

Lately, I've been working on what is probably the one millionth, four hundred thousanth, seven hundred, sixty fifth fan-made Mario clone. After wasting enough hours on this stupid-looking game, it actually seems like it might come out pretty good (despite the fact that it won't be featured on any actual consoles). This is all made in GameMaker:

         

Here's the concept:

It's an enhanced version of Mario Bros. using SMB graphics and physics (oh God, the amount of time working on physics!). And instead of going on forever, there's an end goal of getting to the surface. The final game will feature several vertical and horizontal scrolling stages and a few boss fights.

The whole purpose of this fan game is to test out an Arcade Computer project I'm trying to start: to create arcade games as PC executable files designed to run on MAME arcade setups. So someone would have their computer housed in an arcade unit where they can run a MAME emulator and several ROMs. In theory, they would also be able to run any fullscreen PC game that supports their joystick setup. Hence, the controls will be fully customizable as possible in GameMaker (I don't want to rely on Joy2key). The executable will also be complete with a menu to adjust game settings like many arcade games do.

This will probably be the only fan game I ever make.

P

Looks cool on picture but I would like to see it in action. Almost all platform engines I've seen on Game Maker were quite buggy or sloppy.

Jedi Master Baiter

I'll post some gameplay footage, hopefully in a week. I want to post a teaser in the style of a commercial and I'd like some help with translating.

One crucial element missing from the game is sound. There's none whatsoever at this point. :blinky:

Psycho Soldier

This is seriously a really interesting project and I hope it gets finished one day. I'd definitely play it.  :)

tonev

I have been using game maker since 2009  and i have made my own platform engine if you want i can share it with you. It's hi res thought and I have not tested with game maker studio ( last time i checked i t worked fine in game maker 8 but they have changed a lot of stuff since then )
I am back everyone :)

Jedi Master Baiter

Thanks, tonev!

Unfortunately, I'm using GameMaker 5.0, and it will probably not translate well here. I don't think the physics are an issue, though.

Here's a short video of the first boss fight. I still need to iron out some issues (notice how some of the sparkies get stuck?) but I think it turned out well.

GIF:


YT:
https://youtu.be/m3wMjK3DC1I

And, what the hey, here's a demo:
https://dl.dropboxusercontent.com/u/82042602/VsMB_alpha0.01.zip

Controls:
CTRL = run
ALT = jump

Debug Features:
ENTER = skip stage
SPACE = make pipes invisible

The score and second player functions are rubbish; The score system is too laggy (I need to figure out a better way to display score using tiles) and no features for the second player are even implemented (entering/exiting stage, ability to scroll the screen, interaction with Mario, etc.). What I'll do is wait until every enemy and their collision data with Mario is complete before cloning the 'Mario' object into Luigi.

P

Good physics! Playing Mario Bros with scrolling levels is a pretty cool feeling too. I liked the strategy required to beat the boss.

BTW can't you use Mario as a parent object to Luigi (although they are really brothers) in Game Maker 5? So that he will get all the properties of Mario, then give him unique input controls, lives etc.

How are you displaying the score since it's so laggy?

tonev

I can help you with the game  and it is a good thing that you are using game maker 5 because 6 is the most fucked up of them all the games can't run on modern hardware unless they are patched :D
I am back everyone :)

Jedi Master Baiter

December 20, 2016, 11:38:01 pm #8 Last Edit: December 20, 2016, 11:45:52 pm by Jedi QuestMaster
Quote from: P on December 19, 2016, 11:17:05 pmBTW can't you use Mario as a parent object to Luigi (although they are really brothers) in Game Maker 5? So that he will get all the properties of Mario, then give him unique input controls, lives etc.

But wouldn't Luigi die if Mario dies? ???

Quote from: P on December 19, 2016, 11:17:05 pmHow are you displaying the score since it's so laggy?

I was using the same thing I used in Russian Roulette, where I took the score (a global variable), divided it by a power of 10, and used mod 10 to determine each digit's value. But, even worse, I used if statements several times over for each value (0-9) to determine which tile to place. :-[

ie. if (variable=0)  tile_add(text at position x,y) nines times over, six times for each digit, doubled for each player's score

So I scrapped it and put placeholder 0's as seen in the demo.

It worked for Russian Roulette because it only needed to update the score each time the trigger is pulled. For Vs. Mario Bros., I'd like the score to update continuously (or when certain sounds play (kicking an enemy, hitting the POW block, etc.).

So what I'll do now is this:

• use string_char_at to convert the score variable to a string and determine the value of each digit
• create variables for each digit that equal string_char_at
• each numeral character tile will be named a single number (ie. 0, 1, 2, etc.)
• I'll use draw_background(variable name (which happens to equal the tile name in value (ie. 0, 1, 2, etc.) :P)); Holy shit, it works! I'm a stupid genius.

Don't know if any of this made any sense.

Quote from: tonev on December 20, 2016, 05:45:44 am
I can help you with the game  and it is a good thing that you are using game maker 5 because 6 is the most fucked up of them all the games can't run on modern hardware unless they are patched :D


I knew there was a reason why I stopped at GM5.0, but I couldn't put my finger on it. What do you want to help out with? There's plenty that needs to be done: ideas for bosses, stage layout, sprite ripping, I don't even want to get into sound yet. :-X

P

Quote from: Jedi QuestMaster on December 20, 2016, 11:38:01 pm
Quote from: P on December 19, 2016, 11:17:05 pmBTW can't you use Mario as a parent object to Luigi (although they are really brothers) in Game Maker 5? So that he will get all the properties of Mario, then give him unique input controls, lives etc.

But wouldn't Luigi die if Mario dies? ???

I see, I don't remember how the objects works in Game Maker. if you can't let them have separate collisions like that maybe you could have a player object that acts like a parent to both Mario brothers, but aren't used on its own? But I guess you still have to clone a lot of routines for both characters.

Quote from: Jedi QuestMaster on December 20, 2016, 11:38:01 pm
Quote from: P on December 19, 2016, 11:17:05 pmHow are you displaying the score since it's so laggy?

I was using the same thing I used in Russian Roulette, where I took the score (a global variable), divided it by a power of 10, and used mod 10 to determine each digit's value. But, even worse, I used if statements several times over for each value (0-9) to determine which tile to place. :-[

ie. if (variable=0)  tile_add(text at position x,y) nines times over, six times for each digit, doubled for each player's score

So I scrapped it and put placeholder 0's as seen in the demo.

It worked for Russian Roulette because it only needed to update the score each time the trigger is pulled. For Vs. Mario Bros., I'd like the score to update continuously (or when certain sounds play (kicking an enemy, hitting the POW block, etc.).

So what I'll do now is this:

• use string_char_at to convert the score variable to a string and determine the value of each digit
• create variables for each digit that equal string_char_at
• each numeral character tile will be named a single number (ie. 0, 1, 2, etc.)
• I'll use draw_background(variable name (which happens to equal the tile name in value (ie. 0, 1, 2, etc.) :P)); Holy shit, it works! I'm a stupid genius.

Don't know if any of this made any sense.

Yeah it might be smart to update the score only when the score value changes as opposed to every frame if it lags.
But even the Famicom can display tiles as score and update them every frame. And the Famicom has no hardware for multiplication, division, modulo or decimal conversion, so all that has to be done in software every frame.

"create variables for each digit that equal string_char_at"? No it doesn't make much sense to me but I'm glad you got it to work.

M-Tee

Why not simply replace assets with original work? I've never understood the desire for fan games instead of original clones, etc.

Jedi Master Baiter


Jedi Master Baiter

After lots of bug fixing and adding extra enemies and objects, I feel a little burnt out and still need to design levels.

And that's supposed to be the fun part! :o

Anybody want to help design levels? I'm going to be borrowing stages from SMB, SMB2, SMB3, Super Mario Land, maybe World, and any good Mario Maker stages people have made.

But sifting to find the good ones is going to take time. So I'm open to suggestions. :bomb: :bomb: :bomb: :mario:

smeghead

hello im looking for people to make a strategy city building game, please pm me if you want to help me with design of buildings, characters, maps and programing...