Ideas/Things to add to Mari0
-
- Posts: 48
- Joined: 29 Apr 2014, 17:51
Custom Bosses, I personally would add Wario (sml2 6gc) Wart, birdo, and maybe king boo for my luigi's mansion area.
More weapons for mario that don't actually kill enemies kinda like wario land 3, like gravity control switches like on Crazy Gadget at the end of SA2B, or a boo's sheet to make mario transparent
Custom characters: Super Mario Advance Luigi with a monicle and the black top hat, only have one thing to say, "A fine day for mayorin' if I do say so myself!"
Custom Hats: Really REALLY want to make boba fett's helmet
Working doors like in super mario bros 2.
More weapons for mario that don't actually kill enemies kinda like wario land 3, like gravity control switches like on Crazy Gadget at the end of SA2B, or a boo's sheet to make mario transparent
Custom characters: Super Mario Advance Luigi with a monicle and the black top hat, only have one thing to say, "A fine day for mayorin' if I do say so myself!"
Custom Hats: Really REALLY want to make boba fett's helmet
Working doors like in super mario bros 2.
Theoretically possible with custom enemies.
I don't actually have anything to say about this.
You could always make it yourself.
It's an undocumented feature. viewtopic.php?f=8&t=4078
It's already been suggested, so I doubt it'll make it in.
I don't actually have anything to say about this.
You could always make it yourself.
It's an undocumented feature. viewtopic.php?f=8&t=4078
It's already been suggested, so I doubt it'll make it in.
It's already implemented(Though I don't know if Maurice implemented my fixes)
There is just no button to activate it.
Actually, that gif you're showing come from the dev himself.
There is just no button to activate it.
Actually, that gif you're showing come from the dev himself.
I think something similar to alesan99's tile tool should be added, but the tiles should all be shown to be selected, because i think having to count each tile to get its number is a bit annoying.
I second this. Maps like Dimentions are very annoying to make, for example.Tecminer wrote:I think something similar to alesan99's tile tool should be added, but the tiles should all be shown to be selected, because i think having to count each tile to get its number is a bit annoying.
I don't know if we have the following things in Mari0, but i will suggest anyways:
Make Ridable Enemies:
"ridable" = It would make the enemy act like a sort of yoshi, it would stand on the same place and not harm the player, and we could make some functions to this enemy:
"flies" = We can fly around with him, up, down, left and right.
"shoots" = it makes the enemy shoot a certain projectile, the projectile need to have the following name: <enemy name>projectile.png
and another option if the enemy is able to shot is choose: "singleshot","doubleshot","tripleshot"
"breakblocks" = makes the enemy break the block when running, when walking, it do damage to enemies only
"walkonspikes" = it makes the enemy walk on the spikes
That's all i have to suggest for now.
Make Ridable Enemies:
"ridable" = It would make the enemy act like a sort of yoshi, it would stand on the same place and not harm the player, and we could make some functions to this enemy:
"flies" = We can fly around with him, up, down, left and right.
"shoots" = it makes the enemy shoot a certain projectile, the projectile need to have the following name: <enemy name>projectile.png
and another option if the enemy is able to shot is choose: "singleshot","doubleshot","tripleshot"
"breakblocks" = makes the enemy break the block when running, when walking, it do damage to enemies only
"walkonspikes" = it makes the enemy walk on the spikes
That's all i have to suggest for now.
I probably won't add ridable enemies.
I'm capable of making them but it's too much trouble.
I'm capable of making them but it's too much trouble.
He means ridable entities like yoshi.Smear-Gel wrote:I'm certain I've already seen people make rideable enemies.
- gemwrecker
- Posts: 200
- Joined: 16 Jun 2013, 22:30
- Contact:
A small thing to add to enemies: Kill on contact with a portal projectile.
Would be useful for an idea I got.
Would be useful for an idea I got.
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
ANYTHING IS POSSIBLEQwertymanO07 wrote:I'm not sure this is actually possible, but a property for enemies to let them have a power output like boxes would be awesome.
IT MIGHT JUST TAKE REWRITING HALF THE ENGINE
BUT ITS POSSIBLE
Also, gem, killoncontact:entityname would be more flexible. Don't let the goomba touch the gel projectiles.
- gemwrecker
- Posts: 200
- Joined: 16 Jun 2013, 22:30
- Contact:
Alright, thanks! I'm going to start working, then!bubba_nate wrote:Also, gem, killoncontact:entityname would be more flexible. Don't let the goomba touch the gel projectiles.
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
What?
I was suggesting a change to your suggestion.
I was suggesting a change to your suggestion.
- HowToEatGirafes
- Posts: 516
- Joined: 05 Feb 2014, 23:18
- Contact:
I'm not sure but there's a command like "deathbyspikes" or something like this .SauloFX wrote:I don't know if we have the following things in Mari0
"walkonspikes" = it makes the enemy walk on the spikes
- gemwrecker
- Posts: 200
- Joined: 16 Jun 2013, 22:30
- Contact:
Realized that now. It didn't work.bubba_nate wrote:What?
I was suggesting a change to your suggestion.
Alesan, can you add a property to make the enemies not collide with Mario?
Also, can enemies block lasers and light bridges? if not, please make it possible.
Also, can enemies block lasers and light bridges? if not, please make it possible.
With "mask" you can select what the enemy collides with and doesn't.Hans1998 wrote:Alesan, can you add a property to make the enemies not collide with Mario?
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
It's very confusing, though.
Each mask-layer is tied to a NORMAL thing, E. G. a goomba, koopa or hammer.
True means it's masked AGAINST colliding like that. It's like two paint cans trying to paint each other, where they both have to NOT have masking tape on them.
If you aren't using any normal enemies, you can use them for anything unless they're related to mario or tiles or something completely neccecary. (Mario himself, the world, fireballs...)
Hope I helped anyone who didn't know what alesan was talking about.
Also, if the list isn't long enough, it'll (I think) use the last thing (so if thing X is last on the list but thing Y needs to be assigned and it's not, it uses X's property.).
So collide with everything is [false] and collide with nothing is [true] because they all say "okay what's the last one since there isn't one for me in particular oh its true I collide with nothing"
Each mask-layer is tied to a NORMAL thing, E. G. a goomba, koopa or hammer.
True means it's masked AGAINST colliding like that. It's like two paint cans trying to paint each other, where they both have to NOT have masking tape on them.
If you aren't using any normal enemies, you can use them for anything unless they're related to mario or tiles or something completely neccecary. (Mario himself, the world, fireballs...)
Hope I helped anyone who didn't know what alesan was talking about.
Also, if the list isn't long enough, it'll (I think) use the last thing (so if thing X is last on the list but thing Y needs to be assigned and it's not, it uses X's property.).
So collide with everything is [false] and collide with nothing is [true] because they all say "okay what's the last one since there isn't one for me in particular oh its true I collide with nothing"
Last edited by Sunset_Moth on 13 May 2014, 22:02, edited 1 time in total.
I didn't understand a word you just said, but mask works after the box2d model: http://leafo.net/love/wiki/fixture_setmask.htmlbubba_nate wrote:It's very confusing, though.
Each layer is tied to a NORMAL thing, E. G. a goomba, koopa or hammer.
True means it's masked AGAINST colliding like that. It's like two paint cans trying to paint each other, where they both have to NOT have masking tape on them.
If you aren't using any normal enemies, you can use them for anything unless they're related to mario or tiles or something completely neccecary. (Mario himself, the world, fireballs...)
Hope I helped anyone who didn't know what alesan was talking about.
Also, if the list isn't long enough, it'll (I think) use the last thing (so if thing X is last on the list but thing Y needs to be assigned and it's not, it uses X's property.).
So collide with everything is [false] and collide with nothing is [true] because they all say "okay what's the last one since there isn't one for me in particular oh its true I collide with nothing"
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
I was explaining it in non-technical terms.
Well you're not really using the right terms.("layers?")
Here's my try on it :
masks is a variable that control what kind of object your enemy can't touch.
It's a list of booleans(a value that's either true or false) where each say if this enemy can't touch X.
So for example, if the 4rth element(which correspond to goombas) of the mask list is "true", then the enemy can't touch goombas.
An exception is the 1st element of the list. That 1st element represent "everything". So if it's true, the enemy can't touch anything. And it override everything, so if the 1st element is true and the 4rth element is false, the object can't touch goombas(and can't touch anything else).
"mask":[true,false,false,false] [/code]
Also note that you can omit latter elements, it will count as false.(Like I did)
There is 31 categories, including the "everything" one.
Here's my try on it :
masks is a variable that control what kind of object your enemy can't touch.
It's a list of booleans(a value that's either true or false) where each say if this enemy can't touch X.
Code: Select all
"mask":[true,false,true,false,false,true]
Code: Select all
"mask":[false,false,false,true]
"mask":[true,false,false,false] [/code]
Also note that you can omit latter elements, it will count as false.(Like I did)
There is 31 categories, including the "everything" one.
Code: Select all
1.*ALWAYS NOT COLLIDE*
2.WORLD
3.MARIO
4.GOOMBA
5.KOOPA
6.MUSHROOM/ONEUP/FLOWER/STAR
7.GEL DISPENSER
8.GEL
9.BOX
10.SCREENBOUNDARIES
11.BULLETBILL
12.PORTALWALLS
13.FIREBALLS
14.HAMMERS
15.PLATFORMS/SEESAWS
16.BOWSER
17.FIRE
18.VINE
19.SPRING
20.HAMMERBROS
21.LAKITO
22.BUTTON --Not used anymore
23.CASTLEFIRE
24.CHEEP
25.DOOR
26.FAITHPLATE
27.FLYINGFISH
28.LIGHTBRIDGE
29.PLANT
30.SQUID
31.UPFIRE
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
Each of those things there is in a layer of collision.Automatik wrote:Well you're not really using the right terms.("layers?")
I can use that term for it if Algodoo, a physics simulator, can.
I think there should be the ability to give tiles custom collisions, where you should make another image, similar to tiles.png where you can draw the hitboxes of each tile and the transparent pixels dont have any collision
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
I think you should just use Mari0+portal for that...
Though it could be cool.
Though it could be cool.
- Sunset_Moth
- Posts: 781
- Joined: 02 Sep 2012, 23:22
- Contact:
I know think you can do that.
I forget how, but someone has done it.
Animations, I think.
I forget how, but someone has done it.
Animations, I think.
The ability to change backgrounds with animations would be helpful
- Villager103
- Posts: 506
- Joined: 31 Jan 2013, 14:50
- Contact:
The ability to make custom characters in-game. Also, High Energy Pellets!
Villager103 wrote:The ability to make custom characters in-game.
Maybe you don't know how complex can be some image editing programs, and how hard is making something like that in Löve.
I don't see anything wrong with this suggestion, i know you can do them using custom enemies, but energy pellets should be a default entity.Villager103 wrote: Also, High Energy Pellets!
Nice gif. Anyway HEP entities would also need a catcher and launcher entity. HEP can be solo (rightclick to change direction) but spawned via launcher or box dropper too. If scaffolds were fixed to be more like this then that would be great. Also the flip panels should be kept because Portal entities.Hans1998 wrote:Villager103 wrote:The ability to make custom characters in-game.
Maybe you don't know how complex can be some image editing programs, and how hard is making something like that in Löve.
I don't see anything wrong with this suggestion, i know you can do them using custom enemies, but energy pellets should be a default entity.Villager103 wrote: Also, High Energy Pellets!
EDIT:
Perhaps a way to detect portals on a surface (Portal 1 OR 2, and its direction) because that would be cool to make puzzles based around that.
I think you can do the scaffold thing with tiles, though having it stop after reaching its destination is a pretty good idea; It happens in Mario games as well, I believe.
- Superjustinbros
- Posts: 2119
- Joined: 29 Mar 2012, 20:39
- Contact:
Here's one I have in regards to game crashes.
If the very first screen of a certain mappack crashes the game due to something placed in said first screen of the mappack (i.e. it crashes on the StabYourself logo), it auto-loads the SMB1 mappack on the next boot up, and until it is edited, displays the mappack that caused the crash to be outlined red instead of black on the mappack selection screen, showing a "risky" mappack that caused the previous crash(es).
If the very first screen of a certain mappack crashes the game due to something placed in said first screen of the mappack (i.e. it crashes on the StabYourself logo), it auto-loads the SMB1 mappack on the next boot up, and until it is edited, displays the mappack that caused the crash to be outlined red instead of black on the mappack selection screen, showing a "risky" mappack that caused the previous crash(es).
Seconding this. Maybe make a message display to the right in red text saying "instant crash when previously used - first screen should be fixed using the proper mod".Superjustinbros wrote:Here's one I have in regards to game crashes.
If the very first screen of a certain mappack crashes the game due to something placed in said first screen of the mappack (i.e. it crashes on the StabYourself logo), it auto-loads the SMB1 mappack on the next boot up, and until it is edited, displays the mappack that caused the crash to be outlined red instead of black on the mappack selection screen, showing a "risky" mappack that caused the previous crash(es).
- Superjustinbros
- Posts: 2119
- Joined: 29 Mar 2012, 20:39
- Contact:
It's sad with how even the smallest of things can make Mari0 implode on itself. I made a similar suggestion a while ago dealing with custom enemies, so if something in an enemy was misnamed or programmed incorrectly, it just shows an error graphic over the enemy instead of terminating Mari0 entirely.
Sometimes trying to find the source of a crash through an error screen doesn't work, as the portion that would list what cashed the game is offscreen below the visible portion of the crash log.
Sometimes trying to find the source of a crash through an error screen doesn't work, as the portion that would list what cashed the game is offscreen below the visible portion of the crash log.
The latter could be solved by making error_log#.txt with the crash data inside of it. This way if the error goes offscreen as you say, then you can send Maurice that instead.Superjustinbros wrote:It's sad with how even the smallest of things can make Mari0 implode on itself. I made a similar suggestion a while ago dealing with custom enemies, so if something in an enemy was misnamed or programmed incorrectly, it just shows an error graphic over the enemy instead of terminating Mari0 entirely.
Sometimes trying to find the source of a crash through an error screen doesn't work, as the portion that would list what cashed the game is offscreen below the visible portion of the crash log.
I remember suggesting it be printed onto the the console. (Not only for this, though; On Size 1, you can barely read it at all.)
Or it could just not crash the game when you load a mappack. I think Maurice said he wanted to use "pcall()" when loading a mappack title-screen so that it don't crash if the mappack is corrupted.Superjustinbros wrote:Here's one I have in regards to game crashes.
If the very first screen of a certain mappack crashes the game due to something placed in said first screen of the mappack (i.e. it crashes on the StabYourself logo), it auto-loads the SMB1 mappack on the next boot up, and until it is edited, displays the mappack that caused the crash to be outlined red instead of black on the mappack selection screen, showing a "risky" mappack that caused the previous crash(es).
Also, most of the time, when someone's Mari0 refuse to load because of a "broken" mappack, It seem to be because it use a mod that add entities, and Vanilla Mari0 throw an error if the first level has a unknown entity (While it look for mario's start point). I'm sure that if this alone was fixed, we would see way less "help my mari0 is broken and I can't fix it" posts here.
The error handler could resize the window if it's too small. And a button to copy the error log into the clipboard. (Concerned Joe does it.) Also löve 0.9.1 has a "love.system.openURL(url)" function so Maurice could add another button that open (love.system.openURL("mailto:crash @stabyourself.net"))Superjustinbros wrote: Sometimes trying to find the source of a crash through an error screen doesn't work, as the portion that would list what cashed the game is offscreen below the visible portion of the crash log.
- MagicPillow
- Posts: 1108
- Joined: 20 Jul 2013, 04:59
- Contact:
You know what could fix the crashing glitch of mappacks?
If every mappack had a title screen that would load when you first start it, and then go to the first level.
Then it wouldn't crash if the first level was corrupt.
If every mappack had a title screen that would load when you first start it, and then go to the first level.
Then it wouldn't crash if the first level was corrupt.
So basically, every mappack author has to manually make a title screen(that may be corrupt)? Custom title-screens are a cool idea, but it shouldn't be a replacement for bug-fixing.
I think my solution is better because it's not a workaround, and it fix the problem itself.
For the "unknown entity" crashes, you need to change ONE line in 1.6.
Also, Mari0 SE is already more or less protected against corrupted mappacks (I just checked) :
Every place who previously called loadbackground() now call loadbackgroundsafe() That function will call loadbackground() and check if it succeeded. If it didn't, It create a blank placeholder map. It don't show a error message when it fail to load the level and it don't call loadbackground using "pcall()" so it can theorically crash, but it's a start.
in "loadmap()", game.lua (A function called by loadbackground)
See that "if entitylist[r[2]] then" bit? It check if the entity already exist before checking what type of entity it is. So in SE, that bug is fixed and shouldn't happen again.
I think my solution is better because it's not a workaround, and it fix the problem itself.
For the "unknown entity" crashes, you need to change ONE line in 1.6.
Also, Mari0 SE is already more or less protected against corrupted mappacks (I just checked) :
Code: Select all
function loadbackgroundsafe(background)
if loadbackground(background) == false then
map = {}
coinmap = {}
mapwidth = width
for x = 1, width do
map[x] = {}
coinmap[x] = {}
for y = 1, 13 do
map[x][y] = {1}
end
for y = 14, 15 do
map[x][y] = {2}
end
end
mapheight = 15
startx = {3, 3, 3, 3, 3}
starty = {13, 13, 13, 13, 13}
custombackground = false
backgroundi = 1
love.graphics.setBackgroundColor(backgroundcolor[backgroundi])
notice.new("Couldn't properly load|background " .. background .. "!", notice.red)
xscroll = 0
yscroll = 0
smbspritebatch = love.graphics.newSpriteBatch( smbtilesimg, 10000 )
smbspritebatchfront = love.graphics.newSpriteBatch( smbtilesimg, 10000 )
portalspritebatch = love.graphics.newSpriteBatch( portaltilesimg, 10000 )
portalspritebatchfront = love.graphics.newSpriteBatch( portaltilesimg, 10000 )
end
generatespritebatch()
end
in "loadmap()", game.lua (A function called by loadbackground)
Code: Select all
if #r > 1 then
if entitylist[r[2]] then
local t = entitylist[r[2]].t
if t == "spawn" then
local r2 = {unpack(r)}
I'd like to see some things get done with the Enemies .json files.
pickUp: Picks up an enemy as you would do a cube.
killMorph: When this entity is killed, it will do the same as a tile triggered by a button. This way we can make p-switches easily.
pickUp: Picks up an enemy as you would do a cube.
killMorph: When this entity is killed, it will do the same as a tile triggered by a button. This way we can make p-switches easily.
a custom sound folder in mappacks (so you can change fireball sound, or coinblock, ect.)
a forum specifically for SE so we dont have to sift through 1.6 stuff
hotkeys, to make level editor easier or cheats more accessible
a quicker way to place entities in editor (placing each individual gel takes FOREVER)
more portal entities (turrets, cores, glados, redirection cube, ect.)
and maybe enemies that can shoot portals (if that's to hard i completely understand)
a forum specifically for SE so we dont have to sift through 1.6 stuff
hotkeys, to make level editor easier or cheats more accessible
a quicker way to place entities in editor (placing each individual gel takes FOREVER)
more portal entities (turrets, cores, glados, redirection cube, ect.)
and maybe enemies that can shoot portals (if that's to hard i completely understand)
here are atlas and pbody sprites i made based off http://thisistheverge.tumblr.com/post/2 ... dy-the-two
can someone pleeeeeeease make these into characters? i would do it myself but im not good at config text stuff
Last edited by Danny on 20 Jun 2014, 22:24, edited 1 time in total.
Danny wrote:a custom sound folder in mappacks (so you can change fireball sound, or coinblock, ect.) decent idea
a forum specifically for SE so we don't have to sift through 1.6 stuff it's not a release yet, it doesn't need its own subforum
hotkeys, to make level editor easier or cheats more accessible there was at one point, F to powerup, but I'm not sure why you'd want to use cheats to test in the first place.
a quicker way to place entities in editor (placing each individual gel takes FOREVER) another decent idea
more portal entities (turrets, cores, glados, redirection cube, ect.) can me made with custom enemies, not needed, too hard to code, maurice doesn't want them
and maybe enemies that can shoot portals (if that's to hard i completely understand) no, only people with a portal gun should be able to shoot portals
Firstly, don't post the sprites here. This is not a "thing to add to mari0". Post them into the Custom Character Creation Library. Everyones not going to do everything for you, but this is your best bet to ask how you can make the custom character.Danny wrote:
here are atlas and pbody sprites i made
can someone pleeeeeeease make these into characters?
Second, you didn't make those sprites. Lookie here. I would credit the guy who made them instead of slightly changing the sprites and calling them yours.
Finally, don't double post. It is typically frowned upon here, with a few exceptions if a thread has been dead and you want to post an update.
Maybe for level editor stuff, he mean hotkeys like "e for eraser, r for entity eraser".Firaga wrote: hotkeys, to make level editor easier or cheats more accessible there was at one point, F to powerup, but I'm not sure why you'd want to use cheats to test in the first place.
Firaga wrote:Danny wrote:a quicker way to place entities in editor (placing each individual gel takes FOREVER) another decent idea if I may here's a clicky click
more portal entities (turrets, cores, glados, redirection cube, ect.) can me made with custom enemies, not needed, too hard to code, maurice doesn't want them although cores aren't really needed there's the obvious "different cube skins" argument that's been floating around