Mari0 1.6 (Qcode Unofficial) Online- Released

Mods, guides how to use and install mods go right in here.
User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 23 Nov 2014, 04:21

Sorry, wouldn't be possible.

rodolfo20014
Posts: 4
Joined: 16 Aug 2014, 03:07

Post » 15 Mar 2015, 21:35

Qcode, I'm Tired of 5 People Limit. do you Make a Red "Mari0 0nline Big Network" for 256 people?

User avatar
HugoBDesigner
Posts: 2188
Joined: 19 Sep 2012, 02:23
Contact:

Post » 16 Mar 2015, 00:33

This isn't optional, it's a technical limitation. The engine in which Mari0 runs (LÖVE) wasn't meant for massive multiplayer online gameplay. Also, I'm pretty sure you wouldn't even get more than 10 people online. It's not like that many people would play Mari0 online at the same time...

User avatar
mine209craft
Posts: 91
Joined: 15 Feb 2015, 20:59
Contact:

Post » 16 Mar 2015, 06:56

I like this mod! Image

User avatar
TripleXero
Posts: 892
Joined: 08 Aug 2012, 00:23
Contact:

Post » 26 Mar 2015, 16:15



I've been adding some more stuff to the newest version again, because why not? More stuff to play with with Qcode's awesome mod.

Fixes from the other stuff I added before:
- Made the HUD and the levelscreen code not as shit and support more than 4 players now. (Hugo helped me on this, it was a pain)
- Made the crown get stuck on the players less (closing the game, ending the match, beating the mappack), and if it does stay on, starting multiplayer defaults it to the normal hat.

New stuff:
- You can now drop the crown when you get hurt or die, and anyone can pick it up. It's basically a cube, because that is what it is, but it doesn't collide with anything but the level, and when picked up, it disappears and your hat becomes the crown.
- There's now a level map type thing at the bottom that shows player locations and their deaths (their colors also change when getting fire power and stars), the end of the level (if the sublevel has it, so the underground of 1-1 won't show it), and checkpoints when they are passed. It's much like the NSMB DS/3DS bottom screen stuff.
- Brought over the firecolors code from SMB+ (not that it was impressive to begin with) so that when people get fire power they don't all look the same.
- Also brought over the extra entities from SMB+ if anyone wants to use them in levels. These include the poison mushroom, wing power up that lets you swim in air for a while, that bee thing that gives you 8000 points or something, the clock that adds 100 seconds to the game time, the star thing that kills all enemies on screen (crashes when killing the following two entities), upside down plants, red plants, and green spring. The crown is also an entity on the list too so you could place them in levels to pick up.
- The editor can be used in game by pressing "e" in the mappack menu, so if you wanna make levels you don't have to open a different version.
- New mode that you only respawn at the start or the checkpoint, so if you are racing, you can't kill yourself and cheat.

I'm not sure if this will run nicely with the normal online mod anymore. It's for sure not going to if you add the new entities in, but it might otherwise. I'll have a download soon-ish. There's a few other things I wanted to tweak and added

EDIT: Doesn't seem to crash: https://www.youtube.com/watch?v=dp5N2sx0Fms

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 26 Mar 2015, 20:59

TripleXero wrote:Made the HUD and the levelscreen code not as shit and support more than 4 players now. (Hugo helped me on this, it was a pain)
Hahaha, yeah. I didn't really make the code very pretty or easy to build on, I never thought that anyone was going to be looking into the code other than me. I rushed really on finishing the mod (didn't want to develop after summer break was over) and so there's some really shitty code in there.

Still, glad you're persevering through it, I love the stuff you've done!

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 10 Apr 2015, 03:19

Sorry for the bump but i need to ask, can we switch characters online? if we can, how?

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 10 Apr 2015, 03:51

I don't know what you mean by switch characters, like skins? To do that you need to leave the game you're currently in, change in the options menu, then join once the server is in lobby mode again.

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 10 Apr 2015, 13:03

Qcode wrote:I don't know what you mean by switch characters, like skins? To do that you need to leave the game you're currently in, change in the options menu, then join once the server is in lobby mode again.
I mean switching mario entirely for anew character like koopa or luigi, ect.


Image

like my failed attempt to port it. lol

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 10 Apr 2015, 13:13

Feel free to mod your own character to be something else (i'm sure there are other instructions on the forum for that if you still need help), just keep in mind that the character will only be on your screen. All the people you're connected to will see you as a regular mario on their screen.

I doubt I'll ever add custom character support because of just the general complications of getting everyone to see the same character.

I'll either have to make it so
A) Your character is displayed if the person has the same character installed on their machine, otherwise you're regular mario (like I did it for mappacks)
B) Sync character images in the lobby which could become corrupted from things like packet loss (Then I'd have to have counter-measures to ensure that doesn't happen, even more work for a bit of a trivial feature)

Plus, I haven't really worked on this mod in quite a while. I've been considering adding one last big feature as celebration for recently hitting 5000 downloads, but no promises whether that will arrive or not.

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 10 Apr 2015, 22:17

I actually ported Luigi to this mod, and it works. (Luigi's jump is included along with his green fireballs that also are modified.)
Image

Click here for anyone who wants Luigi.

User avatar
MM102
Posts: 970
Joined: 11 May 2012, 06:08
Contact:

Post » 11 Apr 2015, 18:50

Wait, Luigi's jump? Does that mean he can jump higher? That seems like it would break mappacks also does that work with normal versions as well?

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 11 Apr 2015, 19:42

MM102 wrote:Wait, Luigi's jump? Does that mean he can jump higher? That seems like it would break mappacks also does that work with normal versions as well?
Luigi has his jump yes. he can jump higher, and he has green fireballs which are slower but bounce higher.
It does work with normal versions.
His jump wouldn't break them that much though. it depends on the map.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 11 Apr 2015, 22:45

zorua7551 wrote:he has green fireballs which are slower but bounce higher.
It does work with normal versions.
Sounds like those fireballs would really mess with any games you're playing. Fireballs are handled like 95% client-side so having the physics differ from client to client is a recipe for disaster. Sloppy programming on my part, but to be fair I didn't expect anyone to be modding the physics of the game for some clients and not others.

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 12 Apr 2015, 01:26

Qcode wrote:
Sounds like those fireballs would really mess with any games you're playing. Fireballs are handled like 95% client-side so having the physics differ from client to client is a recipe for disaster. Sloppy programming on my part, but to be fair I didn't expect anyone to be modding the physics of the game for some clients and not others.
Would it work if all the people playing on the server are using the same fireballs?

also, is there a Luigi with no portal gun sprites? i need those because Luigi has messed up no portalgun sprites and there's a Mario on the menu.

And one last thing, how do i change Luigi's fire flower colors? i want to change him from red/orange to green so he looks true to his form.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 12 Apr 2015, 02:22

zorua7551 wrote:
Qcode wrote:
Sounds like those fireballs would really mess with any games you're playing. Fireballs are handled like 95% client-side so having the physics differ from client to client is a recipe for disaster. Sloppy programming on my part, but to be fair I didn't expect anyone to be modding the physics of the game for some clients and not others.
Would it work if all the people playing on the server are using the same fireballs?
Yes

User avatar
MM102
Posts: 970
Joined: 11 May 2012, 06:08
Contact:

Post » 19 Apr 2015, 03:12

Image
someone tried to join but they didn't show up in y lobby and I didn't in their's

Edit:
Image
also I got this after trying to go to the lobby

User avatar
zorua7551
Posts: 193
Joined: 10 Jul 2013, 04:23

Post » 21 Apr 2015, 18:52

MM102 wrote:Image
someone tried to join but they didn't show up in y lobby and I didn't in their's

Edit:
Image
also I got this after trying to go to the lobby
I'm also getting those errors too now.

User avatar
DerickFabro
Posts: 80
Joined: 24 Nov 2013, 22:29

Post » 30 Apr 2015, 21:56

AWESOME! but... its not SE ;-;

User avatar
ElijahZAwesome
Posts: 12
Joined: 31 Aug 2015, 18:11

Post » 05 Sep 2015, 00:02

it crashes when i want to play single player, but i haven't tried with multiplayer because I'm lonely :(

JustANoob
Posts: 2
Joined: 07 Feb 2016, 18:54

Post » 07 Feb 2016, 18:56

Having A Problem...
Couldn't start game for some reason after creating a game
Wish there was a solution

User avatar
Qwerbey
Posts: 1280
Joined: 05 Oct 2012, 07:58
Contact:

Post » 07 Feb 2016, 21:55

JustANoob wrote:after creating a game
Like a mappack?

Anyway, for anyone to help you, we need to know what the crash message said if you got one.

JustANoob
Posts: 2
Joined: 07 Feb 2016, 18:54

Post » 10 Feb 2016, 16:39

Doesn't receive a crash message
When I click START GAME nothing happens and the game stay the same.
Thanks for helping btw :D

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 14 Feb 2016, 22:38

I didn't look through the whole thread, but I am curious does this use TCP or UDP for communication?

Edit 1: I now looked through the whole thread. No mention of protocol being used.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 14 Feb 2016, 22:58

UDP

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 14 Feb 2016, 23:12

Qcode wrote:UDP
How do you think it would perform under TCP?

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 14 Feb 2016, 23:22

Likely terribly. TCP is designed for reliability - every packet needs to get through or else the process is halted. UDP is designed for speed, packets are consistently sent whether they reach the destination or not. The online mod sends a ton of data to be synced over the network, so really getting 100% packet success rate over TCP (with frequent delays) will be a worse game experience than getting most packets through over UDP (with no delays).

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 14 Feb 2016, 23:29

Qcode wrote:Likely terribly. TCP is designed for reliability - every packet needs to get through or else the process is halted. UDP is designed for speed, packets are consistently sent whether they reach the destination or not. The online mod sends a ton of data to be synced over the network, so really getting 100% packet success rate over TCP (with frequent delays) will be a worse game experience than getting most packets through over UDP (with no delays).
I was asking because I want to test to see if this would work in the browser. A game like agar.io uses TCP so maybe its possible? Just would require a lot of work I assume. I think emscripten supplies webrtc for UDP. But I'm unsure if that works everywhere.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 15 Feb 2016, 00:31

Yeah, I have no idea if this would work in the browser. TCP port might be possible, but I'd imagine you'd need to condense a lot of the data I send to make it viable, which would require a lot of work. I wouldn't recommend putting in the effort, mainly because its been a year and a half of this mod being released - I doubt many people play it anymore.

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 15 Feb 2016, 00:50

Qcode wrote:Yeah, I have no idea if this would work in the browser. TCP port might be possible, but I'd imagine you'd need to condense a lot of the data I send to make it viable, which would require a lot of work. I wouldn't recommend putting in the effort, mainly because its been a year and a half of this mod being released - I doubt many people play it anymore.
Love 0.10.1 has a compress function which can be used to compress the data a fair bit. Combined with binser you might be able to pull it off. I could attempt this. Is the code on github?

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 15 Feb 2016, 00:56

Not on Github, but there's a source version on the main post. Good luck with the code, its a mess.

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 15 Feb 2016, 01:01

Lol I'm familiar with Mari0's code lol. Does your mod modifes any of the original source code?

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 15 Feb 2016, 01:08

I wasn't implying Mari0's code was a mess, I was implying the mod was a mess. Anyway, Mari0 doesn't have any sort of modding API, so yeah, the entire mod is just written directly into the original source code. If you're looking for important places check netplay.lua, server.lua, onlinemenu.lua, lobby.lua, and anywhere the variable "networksendqueue" is mentioned.

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 15 Feb 2016, 07:39

Well I got single player working I think but i get an error in multiplayer. I think it has to do with joysticks. I had to add all the changes from the 0.10.0 repo by hand so I could have missed something. If you could find it let me know.
https://www.dropbox.com/s/gmwl6s68zsnrp ... .love?dl=0

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 15 Feb 2016, 15:35

Since you now have the getJoysticks instead of getHat, isDown, getAxis etc., you have to make sure the object actually exists.
Replace your checkkey function with this and it should work

Code: Select all

function checkkey(s)
	if s[1] == "joy" then
		if s[3] == "hat" then
			if love.joystick.getHat(s[2], s[4]) == s[5] then
				return true
			else
				return false
			end
		elseif s[3] == "but" then
			if love.joystick.isDown(s[2], s[4]) then
				return true
			else
				return false
			end
		elseif s[3] == "axe" then
			if s[5] == "pos" then
				if love.joystick.getAxis(s[2], s[4]) > joystickdeadzone then
					return true
				else
					return false
				end
			else
				if love.joystick.getAxis(s[2], s[4]) < -joystickdeadzone then
					return true
				else
					return false
				end
			end
		end
	else
		if love.keyboard.isDown(s[1]) then
			return true
		else 
			return false
		end
	end
end

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 16 Feb 2016, 05:06

that didn't fix it. maybe there is something im doing wrong
Edit 1: I did it!!! Your post didn't fix it with that snippet but it lead me to hack in a fix. thanks
(It still wont fully work. Textbox needs to be updated.)
https://www.dropbox.com/s/gbo2wbzt9mpun ... .love?dl=0

Edit 2: just did a test run in the browser and well. It didn't work. But regardless. I read through some of this chat and saw that due to technical reasons the game performed poorly with more than 4 players. I think if you switched to enet (if it doesn't use it already) and used binser and compression. You might be able to handle the network load. Although the main issue would be performance of the code, I think since love uses luajit now that Mari0 should be able to run fast enough to support more than 4 players. I kinda want to push it to its limits. It seems development on this is stopped, but if you want to push the limits too then I can help. I can even provide a dedicated server that way people can play online with strangers.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 16 Feb 2016, 13:49

I really appreciate your interest in this project, but I feel like I'm no longer in the position where I could help. The majority of this was coded in summer of 2014, back then I could dedicate about 4-5 hours a day working on the project. I barely have enough time to manage my current projects recently, so I don't think I continue development on this as well.
The main problem I'd guess was server-speed. The server was tied to whichever client was hosting, so its performance was significantly impacted by the game also running. You could make the server its own standalone program, but it would honestly take a fair bit of work untangling the two - I used a lot of hacks between server and hosting client to make things run faster.
Feel free to take this and run with it as far as you wish, but I'd rather not dedicate a significant chunk of my time to a project I'm not very passionate about anymore.

User avatar
espioner
Posts: 114
Joined: 09 May 2015, 01:10
Contact:

Post » 18 Feb 2016, 23:30

how do i put skins
programmer qcode
Last edited by espioner on 19 Feb 2016, 16:33, edited 1 time in total.

User avatar
HugoBDesigner
Posts: 2188
Joined: 19 Sep 2012, 02:23
Contact:

Post » 18 Feb 2016, 23:36

Please stop trying to "sound cool" by using swear words, ESPECIALLY since you clearly don't know how to use them properly

User avatar
espioner
Posts: 114
Joined: 09 May 2015, 01:10
Contact:

Post » 19 Feb 2016, 16:34

sry

BobbyJones
Posts: 18
Joined: 14 Feb 2016, 07:03

Post » 21 Feb 2016, 08:47

espioner wrote:how do i put skins
programmer qcode
It's probably a bit involved to make server side skins. If it is possible to have skins it would only be client side.

riahc3
Posts: 8
Joined: 31 Mar 2013, 18:56

Post » 13 Mar 2016, 22:59

Any way to get local multiplayer?

I like your classic mode.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 13 Mar 2016, 23:11

Thanks. If you want to play local multiplier with classic mode, this mod's probably not the best. I'd recommend checking out TripleXero's SMB+ which tries to recreate the original experience as well as possible. viewtopic.php?f=13&t=3096

Nintega21
Posts: 2
Joined: 28 May 2018, 16:56

Post » 28 May 2018, 18:20

I have tried to download Mari0 but it isn't working. I get a 404 error on every link. Could you halp or provide a mirror in Google drive or something?
Thanks.

Nintega21
Posts: 2
Joined: 28 May 2018, 16:56

Post » 28 May 2018, 18:20

I have tried to download Mari0 Online but it isn't working. I get a 404 error on every link. Could you halp or provide a mirror in Google drive or something?
Thanks.

User avatar
Qwerbey
Posts: 1280
Joined: 05 Oct 2012, 07:58
Contact:

Post » 28 May 2018, 18:21

It's pretty much embedded into Alesan99's Entities, so that could work as a stopgap at least.

User avatar
Qcode
Posts: 1479
Joined: 05 Feb 2012, 18:00
Contact:

Post » 29 May 2018, 00:28

Sorry, I'm currently switching between hosts for my website at the moment. I've hosted on Google Drive in the meantime:

Windows: https://drive.google.com/open?id=1aroRG ... FC0eZzSo3t
Mac: https://drive.google.com/open?id=1Cbpv8 ... 9VFxgpWzwn
Source: https://drive.google.com/open?id=19FTkD ... nt_bgPG8U7

User avatar
SirBaconIII
Posts: 39
Joined: 04 Jul 2018, 08:58
Contact:

Post » 05 Jul 2018, 18:18

Qcode wrote:I hope to release it eventually. These videos are just examples of the progress I've made so far.

EDIT:

Got a lot of progress made recently, here's all of world 1:

im suprised you made it through world 1 without anyone trolling anyone

User avatar
MagicPillow
Posts: 1108
Joined: 20 Jul 2013, 04:59
Contact:

Post » 11 Feb 2019, 07:32

So super old bump, but I just wanted to report a bug.
If someone goes into the world 4 warp pipe, they'll correctly be sent to world 4, but everyone who wasn't at that point yet (i.e. the warpzone text hadn't appeared yet) will load world -1. It seems to crash for those people after finishing a level.

Also shells would only break bricks for one person but that's a more obvious one.

Post Reply