Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   PlayerWorlds Main Forum (https://forums.graalonline.com/forums/forumdisplay.php?f=15)
-   -   Mario is Missing! (https://forums.graalonline.com/forums/showthread.php?t=134257825)

DustyPorViva 01-31-2010 05:53 PM

Mario is Missing!
 
Not really, he just found Graal! Seriously, I pity him now.

Anyways, what's the point of this post? To advertise a little side project I've decided to undertake for fun. The project is to clone Mario to the best of my ability. This will include making the physics accurate and the controls natural. I've spent a lot of time crunching numbers and running comparative tests against Mario to come up with gameplay that feels and plays faithfully to Mario. The goal is to make playing this feel like you're playing a Mario game. I'm doing this because I can honestly say I've yet to see any Mario clone/fangame ever, even outside of Graal, feel like an actual Mario game.

Oh yes. This is all in GS1, and will be a completely offline project. In the end I will take it, zip it up and upload it for people to play with. I don't think I will make an actual game with it. Chances are I will make a couple maps that showcases the reproduction and gameplay in lots of ways. Also, another reason this is offline is because I intend to rip and steal the hell out of Mario, thus I want to avoid any legal problems. Every time I try to do something like this I end up not being able to fulfill the graphical needs(especially sprites), and thus the whole project falls apart. Now it will hopefully feel AND look like Mario.

Where am I at right now? I think I'm pretty much done with the controls and physics, and now to add more interesting things like springs, boxes, powerups, enemies, stomping enemies...

Hiro 01-31-2010 07:48 PM

doomsday used to have a side scroller that was an attempt to imitate mario, i think jubei made it. it wasn't very good though - it was really choppy and the jumping was way different

is this going to be released like the zombie game, or are you trying to put this on UN or something?

DustyPorViva 01-31-2010 07:50 PM

Released like the Zombie game. I can't put a rip online :P

Soala 01-31-2010 08:14 PM

Nice ^^

Stephen 01-31-2010 08:18 PM

Nice, you should get the mario sprites, sound effects, and music going. There seems to be something a little off about your critical-peak of your jump; drops off too suddenly (something else?).

DustyPorViva 01-31-2010 08:21 PM

Quote:

Originally Posted by Stephen (Post 1553427)
Nice, you should get the mario sprites, sound effects, and music going. There seems to be something a little off about your critical-peak of your jump; drops off too suddenly (something else?).

Well, Graal only runs at 20fps while Mario runs at 60. From what I could tell, the heights and such are right, but since Mario runs way smoother things will probably look stuttered or sudden on Graal. Also because of that I had to increase speeds to compensate for Graal only running at 1/3 of Mario's speed, which probably doesn't help. Sadly this is out of my control.

I just finished mapping the sprites out, now I need to create the gani's and implement them into the script.

Stephen 01-31-2010 08:31 PM

Quote:

Originally Posted by DustyPorViva (Post 1553428)
Well, Graal only runs at 20fps while Mario runs at 60. From what I could tell, the heights and such are right, but since Mario runs way smoother things will probably look stuttered or sudden on Graal. Also because of that I had to increase speeds to compensate for Graal only running at 1/3 of Mario's speed, which probably doesn't help. Sadly this is out of my control.

I just finished mapping the sprites out, now I need to create the gani's and implement them into the script.

You'll have to make the Yoshi mount too. :cool: (epic mount)

geneticfrog 01-31-2010 10:17 PM

lol neat.

DustyPorViva 02-01-2010 06:17 AM

Update:
  • Added simple object interaction, like the boxes.
  • Fixed a lot of bugs with the hit detections and other random things that I missed.
  • Fixed the oversight of slopes not slowing the player. Now they do, as before they had(silly) actually increased the player's jump power if they ran up a slope and jumped. However, I noticed this was not true in Super Mario World.
  • Added sprites and sound, and I gotta say it makes a lot of a difference :)
  • Added a camera system to help focus on the level unless out of the 'boundaries'

cbk1994 02-01-2010 06:19 AM

Puts this to shame :(


12171217 02-01-2010 06:58 AM

Did you make that? That's terrible :(

SwimChao 02-01-2010 09:55 AM

Dusty, you have done a phenomenal job at replicating the game. It looks a lot better than it did when you showed me the sandbox you had going!

maximus_asinus 02-01-2010 02:21 PM

looks great Dusty, now add pressing down on slopes make you slide on your butt, pressing down on ledges let you drop through them, running and walking.

Demisis_P2P 02-01-2010 02:25 PM

looks good. looks very ok.

DustyPorViva 02-01-2010 04:50 PM

Quote:

Originally Posted by maximus_asinus (Post 1553558)
pressing down on ledges let you drop through them

This is not a feature of Mario :P

Quote:

Originally Posted by maximus_asinus (Post 1553558)
running and walking.

That's been done since the start lol... I just never walk.

DuBsTeRmAn 02-01-2010 05:01 PM

Dusty's Mario looks better Chris!

fowlplay4 02-01-2010 05:04 PM

Quote:

Originally Posted by DustyPorViva (Post 1553569)
This is not a feature of Mario :P

Thinking he's talking about something like this.. (Skip to 2:12)


DustyPorViva 02-01-2010 05:09 PM

Oh... can't do that. No way to draw the player behind the scene.

DustyPorViva 02-01-2010 05:47 PM

Update!


Quite a few changes here. Added breaking bricks, a lot of level design and started on enemies. Right now you can't damage enemies and vice versa but soon enough. Also worked on the camera a little, as it will pan and focus on the bottom of the currently levely you are in(for example, you start out on the bottom level of the gmap, if you travel up to the second level it will focus there instead of on the player, like when you go too hight). Fixed a few bugs again, like not being able to run across small gaps(D:) and getting stuck in jump-through platforms when approaching them horizontally. I should also mention player height has already been scripted a while ago, to support variously heighted Mario's, like when he powers up or ducks.

I wish offline supported join npc.txt; to join a text file to an NPC, and putnpc2 :( Right now I have to sit and edit each NPC that shares the same script each time. It really is a pain!

Crow 02-01-2010 05:57 PM

Quote:

Originally Posted by DustyPorViva (Post 1553580)
I wish offline supported join npc.txt; to join a text file to an NPC, and putnpc2 :( Right now I have to sit and edit each NPC that shares the same script each time. It really is a pain!

Use putnpc, should work with .txt files.

DustyPorViva 02-01-2010 06:01 PM

Quote:

Originally Posted by Crow (Post 1553583)
Use putnpc, should work with .txt files.

I plan to, even though I don't want to. However, I'd like join; so I could just join it to NPCs that' don't need to be uniquely created(like enemies).

fowlplay4 02-01-2010 06:15 PM

Very nice.

Should drop the GraalUI/Stats from your demos already :P

DustyPorViva 02-01-2010 06:20 PM

Quote:

Originally Posted by fowlplay4 (Post 1553586)
Very nice.

Should drop the GraalUI/Stats from your demos already :P

I keep forgetting to lol

Dnegel 02-01-2010 09:22 PM

xD

Ahhh... The Super Mario World memories. ^^

Pretty sweet too by the way. ;)

Crono 02-01-2010 09:33 PM

niiice

DarkReaper0 02-01-2010 10:57 PM

The nostalgia is killing me, you sir are about to make me fire up my snes :(

Stephen 02-02-2010 12:43 AM

Aw man, that's awesome.

maximus_asinus 02-02-2010 04:11 AM

hurry and release it, I want to make levels D:

DustyPorViva 02-02-2010 09:54 AM

Been working a lot on AI. What I've done is created a system that controls the physics of globally. This means I don't have to worry about scripting each NPC to walk on slopes or fall when they walk off a cliff. It's still fairly buggy, however. Some NPCs will consider a slope a wall, or will maybe miss a wall.

Also worked a lot more on NPC interaction. Turtles can be jumped on and such. I'm not entirely happy with it though. Right now I'm doing hit checks from the player's movement, which means I have to communicate to the NPC that it was hit. This means it's always going to be a frame behind, which really feels off(you'll see my player goes about half-way through the NPC before it reacts, this isn't bad detection). I might just rescript and add collision detection to the NPC's themselves, which would mean they'd act instantly, and I can alter player status(like his velocity) instantly just as well since it's all global.

Also, changed the music for now so I can introduce... DANCING TURTLES. I've scripted dancing much like enemies in New Super Mario Bros. I can easily make any NPC I want dance with the song. The reason I change songs was because the Super Mario World tune didn't really have anything in it that I thought would seem right to the turtles dancing to.


James 02-02-2010 01:16 PM

that is awesome dusty. nice job.

Stephen 02-02-2010 03:06 PM

Quote:

Originally Posted by DustyPorViva (Post 1553743)
DANCING TURTLES.

How are they detecting that element in the song - or are they synchronized?

DustyPorViva 02-02-2010 03:41 PM

Quote:

Originally Posted by Stephen (Post 1553767)
How are they detecting that element in the song - or are they synchronized?

There's a map(basically just an array) of times that I made that determines when they should dance.

PHP Code:

// NPC made by Dusty
if (created) {
  
setstring this.dancemaps_0,5.9,6.3,10.6,11,33.8,34.2,57.1,57.5,61.1,61.5,61.8,62.1,65.7,66.1,66.4,66.7,70.4,70.8,71.1,71.4,80.6,81;
  
setstring client.song,;
}

if (
playerenters) {
  
playlooped nsmb_overworld.mp3;

  
setarray this.dancemap,sarraylen(this.dancemaps_0);
  for (
i=0;i<sarraylen(this.dancemaps_0);i++) this.dancemap[i] = strtofloat(#I(this.dancemaps_0,i));

  
timeout 0.05;
}

if (
timeout) {
  if (
aindexof((int(musicpos/.1+.05))*.1,this.dancemap[0]) >= 0) {
    for (
n=0;n<npcscount;n++) callnpc n,dance;
  }

  
timeout 0.05;


A cleaned up copy of the script. It's actually way more complicated than it should be, because of GS1's ability to make simple things impossible.

Dnegel 02-02-2010 04:31 PM

That song was catchy. xD

Imperialistic 02-02-2010 05:20 PM

I've been playing Super Mario ALOT lately. And I think the physics you've created are a bit wrong.. I think when Mario jumps he goes way higher than normal, and it has more hang time it seems like.

Other than that, I love it, keep up the good work!

DustyPorViva 02-02-2010 09:03 PM

Quote:

Originally Posted by Imperialistic (Post 1553790)
I've been playing Super Mario ALOT lately. And I think the physics you've created are a bit wrong.. I think when Mario jumps he goes way higher than normal, and it has more hang time it seems like.

Other than that, I love it, keep up the good work!

Well I can't say the physics are 100%, but I sat playing with Mario and jumping, and I used a grid system to map out his jumps and as far as I can tell the heights and such are fairly similar to Mario's.

Ultimately, the physics would be one of the easier things to change if I need to revisit it. All I have to do is change some values here and there, the detections and such are the real hassle. But while I was hoping to match Mario physics, just making it feel like a tightly-controlled game similar to Mario would be just as well. And like I mentioned earlier, the difference in fps makes a lot of a difference. Mario actually moves fairly slower and smoother in the air, but because of the higher fps, covers more distance in his jumps and such. If I were to change the numbers to make my Mario more 'floatier' and slower like the real Mario, things go way out of proportion.

Crono 02-02-2010 09:17 PM

***** dusty i love that :3

joel34 02-02-2010 09:32 PM

Next time: Super smash bros. Brawl

DustyPorViva 02-02-2010 11:11 PM

Man, GS1 just isn't good at handling NPC's on a gmap level :(
If I weren't ripping graphics I'd convert it all to GS2 online and use putnpc2 and join in a heartbeat!

Luda 02-03-2010 12:06 AM

sonic & knuckles pls with online support

DustyPorViva 02-03-2010 03:17 AM

Updates!

Physics engine has been drastically improved, and errors are almost nonexistent. Most errors occurring are in the NPCs wall detection themselves, but they're fairly decent now too. Changed Mario's height for debug purposes, and added ducking. Thankfully I had to make nearly zero changes to the script to change his height, which was nice :)

Also added more enemies, like the Goompa. Green turtle was changed to red turtle(red turtles don't fall off platforms), and I added a green turtle. I do have to fix turtle wall detection though, as they should be able to fall through 1-width pits and they slide over them. Not entirely sure how I will fix that, though... Will hopefully be adding sliding and maybe wall jumping next!


All times are GMT +2. The time now is 04:08 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.