Go to page Previous  1 ... 9, 10, 11, 12, 13, 14, 15  Next  [ 284 posts ]  Reply to topicPost new topic 
Hello Mario Engine, Clean, organized, and fully commented!
Author Message
 [aq]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Thu Feb 12, 2015 8:39 pm 
User avatar
Obey.
Member
[*]
[*]
TheShyGuy wrote:
DBY are you talking about branch misprediction? If so, if-statements aren't slow. Branch misprediction is slow.. I also don't understand why you think looping is slow too... I know you did research on cache, so you should know that looping over large amounts of contiguous data is pretty fast. ~But I have no clue how GM compiles it's code, so I'm not even sure if cache optimization is practical in GM.

Ah, thanks for the correction! It's not that I don't know that, but I don't explain things very well :whoops: . Corrected it in this post. And GMS compiles GML.

Yes, branching is slow in a loop if the data is not in a predictable pattern. If you make a game with several ten-thousands of objects that are being processed every frame with a lot of branching, then yes, there is going to be a lot of branch mispredictions if the data the branch tests is not in a predictable pattern (and it's in fact most likely unpredictable). There are a lot of other details I want to go into, but I don't have much time for that.


@Hello I'm going to give you one more chance of help. I know you listened to others' feedback about comments and formatting, but you can make your engine even better like you did previously. That's the point of open-source, right? If you don't listen to anyone, you'll be teaching GM programmers who modify your engine bad examples. It's your choice, though.

Hello wrote:
Adding powerups is not hard at all. Most of it is just adding your new sprites and powerup objects to a bunch of switch statements, and then maybe a few minor changes to obj_mario depending on what the powerup does. There is no good reason to use enums over globals, and inheritance for powerups would just make things messy. (Inheritance is already used where it makes sense, like with enemies, holdable stuff, etc.) And you say if statements are slow, but the engine can easily run at hundreds of fps on my 5 year old laptop...

And this is a bad example to new GM coders (teaching them that there is only one best way to do things)!

Adding may be easy, but let's say I want to remove the hammer powerup. I have to remove this:
Spoiler:


And maybe more. Now don't say that's easy to do. I'm too lazy to talk about what you can do about it, but there's already a post in here about what you can do about that. viewtopic.php?f=10&t=16916&start=37

_________________
I am your supreme leader
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Thu Feb 12, 2015 10:16 pm 
User avatar
Just a person.
Member
[*]
[*]
[*]
[*]
[*]

[*]
EDGE wrote:
If people would stop using this as a ""Create Your Game" or "Create Your Level" and learn from it, it'll be great. I mean take the best of it and improve it, not just copy it.


But you see, that's the exact problem; the engine is too complicated for a beginner to edit and premade engines are, not always, but ALMOST
always, used by beginners. For example, in what I'd consider an ideal engine for beginners, each powered up form of Mario would be its own object,
and there'd be a simple framework of global variables used in the create events for preserving momentum when powering up or down.

Is it the most streamlined way? No, it's not, and some glitches might happen, but it would also make it a lot, and I mean a lot easier
for beginners to edit and add new power ups. Also, practically every line of code would be commented.


Hello Engine's design promotes "SMW hack"-style game development. It's the truth. There's so many things already present that actually
coding any new enemies seems pointless, and most people probably wouldn't even think to bother with deleting the premade enemies and creating
their own versions (In my opinion, this would do away with A LOT of the tedium in all of the clones; that and editing Mario's physics.)
I mean seriously, over 100 enemies?


Speaking of Mario's physics, allow me to make an actual suggestion for the engine.

Basically, all of Mario's movement and jumping variables could all depend on a list of variables defined in Mario's (or any other applicable
object's) create event. For example, one of the variables could be jumpheight. Instead of setting the vspeed to...whatever it's set to
when Mario jumps (yeah, it just occurred me that I've never actually figure out what scripts handles Mario's movement despite the fact I've
had various versions of this engine sitting around on my computer for several years...that's not a good start for a "user friendly" engine.)
it could do

vspeed = jumpheight *-1

The same things could be done with gravity, maximum fall speed, move speed, friction...you
name it. That would make personalizing the game's overall feel and handling much easier. The
player could make it play like SMB3, Super Mario world...heck, they could even give the game
mathematically-accurate earth physics if they wanted to! :laugh:

_________________
Most people don't think that they're always right, they just think that people who disagree with them are always wrong.
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Fri Feb 13, 2015 1:57 pm 
User avatar
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
DarkBlueYoshi wrote:
@Hello I'm going to give you one more chance of help. I know you listened to others' feedback about comments and formatting, but you can make your engine even better like you did previously. That's the point of open-source, right? If you don't listen to anyone, you'll be teaching GM programmers who modify your engine bad examples. It's your choice, though.

The point of open source is that anyone is free to make whatever changes they want to the engine.

DarkBlueYoshi wrote:
Adding may be easy, but let's say I want to remove the hammer powerup. I have to remove this:
Spoiler:


And maybe more. Now don't say that's easy to do. I'm too lazy to talk about what you can do about it, but there's already a post in here about what you can do about that. viewtopic.php?f=10&t=16916&start=37

The reason all those scripts are there is to simplify the addition of new powerups, since that is what I feel is more important. The most time consuming part of me adding that new wall jump powerup was inserting the sprites into the editor. The code part could be done a lot quicker thanks to the way the engine is designed.

Most of the scripts in your posts are scr_mariopose scripts, which are for defining all of Mario's sprites in one place. The other scripts in your post are for throwing hammers. If you want to remove the hammer suit, all it would take is removing the cs_hammer cases from a bunch of switch statements, and then, removing the hammer projectile code from obj_mario. That's it.

soopakoopa wrote:
But you see, that's the exact problem; the engine is too complicated for a beginner to edit and premade engines are, not always, but ALMOSTalways, used by beginners. For example, in what I'd consider an ideal engine for beginners, each powered up form of Mario would be its own object, and there'd be a simple framework of global variables used in the create events for preserving momentum when powering up or down.

Is it the most streamlined way? No, it's not, and some glitches might happen, but it would also make it a lot, and I mean a lot easier for beginners to edit and add new power ups. Also, practically every line of code would be commented.

Using a different object for every powerup would lead to messier code, and could potentially make the engine harder to modify. Also practically every line of code is already commented...

soopakoopa wrote:
Hello Engine's design promotes "SMW hack"-style game development. It's the truth. There's so many things already present that actually coding any new enemies seems pointless, and most people probably wouldn't even think to bother with deleting the premade enemies and creating their own versions (In my opinion, this would do away with A LOT of the tedium in all of the clones; that and editing Mario's physics.) I mean seriously, over 100 enemies?

There is nothing wrong with "SMW hack-style game development", if that is what people want to do.

soopakoopa wrote:
Basically, all of Mario's movement and jumping variables could all depend on a list of variables defined in Mario's (or any other applicable object's) create event. For example, one of the variables could be jumpheight. Instead of setting the vspeed to...whatever it's set to when Mario jumps (yeah, it just occurred me that I've never actually figure out what scripts handles Mario's movement despite the fact I've had various versions of this engine sitting around on my computer for several years...that's not a good start for a "user friendly" engine.)
it could do

vspeed = jumpheight *-1

The same things could be done with gravity, maximum fall speed, move speed, friction...you name it. That would make personalizing the game's overall feel and handling much easier. The player could make it play like SMB3, Super Mario world...heck, they could even give the game mathematically-accurate earth physics if they wanted to! :laugh:

Jump height code can be found in User Event code. There are three different jump heights used, depending on Mario's speed. The "user friendly engine" comment of mine only applies to versions 6+ of my engine.

_________________
 
Top
Offline 
 User page at mfgg.net
 
 [aq]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Fri Feb 13, 2015 7:56 pm 
User avatar
Obey.
Member
[*]
[*]
Hello wrote:
The reason all those scripts are there is to simplify the addition of new powerups, since that is what I feel is more important. The most time consuming part of me adding that new wall jump powerup was inserting the sprites into the editor. The code part could be done a lot quicker thanks to the way the engine is designed.

Most of the scripts in your posts are scr_mariopose scripts, which are for defining all of Mario's sprites in one place. The other scripts in your post are for throwing hammers. If you want to remove the hammer suit, all it would take is removing the cs_hammer cases from a bunch of switch statements, and then, removing the hammer projectile code from obj_mario. That's it.

Or you could use an array, thus removing most of the code needed to insert the new sprites for each powerup. Removing the hammer powerup in obj_mario does remind me of violating this if I remember correctly. Did you read the post from the link I gave you? I see that other people here are more open-minded to better ways of doing things than you are just by looking at the replies to that post.

Counter to Hello's next reply: http://phpbb.mfgg.net/viewtopic.php?f=10&t=16958&start=7


Wait, no, why am I wasting time writing this post? You obviously aren't going to do anything. Sorry for helping you. I shouldn't be bothering you.


Last edited by DarkBlueYoshi on Sun Feb 15, 2015 11:29 pm, edited 3 times in total.
_________________
I am your supreme leader
 
Top
Offline 
 User page at mfgg.net
 
 [uy]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Sat Feb 14, 2015 3:24 pm 
User avatar
August 18th, 2006.
Member
[*]
soopakoopa wrote:
But you see, that's the exact problem; the engine is too complicated for a beginner to edit and premade engines are, not always, but ALMOST
always, used by beginners. For example, in what I'd consider an ideal engine for beginners, each powered up form of Mario would be its own object,
and there'd be a simple framework of global variables used in the create events for preserving momentum when powering up or down.

Is it the most streamlined way? No, it's not, and some glitches might happen, but it would also make it a lot, and I mean a lot easier
for beginners to edit and add new power ups. Also, practically every line of code would be commented.

Last GameMaker I used was GM8, I remember fixing that problem. With just one object and one Global value.
I understand what everyone is saying, the Engine could use MAJOR work.
Yes, I know GameMaker Studio has new features that make it easier and would probably cut in half the codes needed to run the Engine.
It just seems pathetic that people cry about adding or removing a feature and at the same time cry about how this is poorly coded.
The Engine is to learn from and as all of you know it's not the final version, as there is from what I know about more than 6 Versions by now.
So he is working on them and trying to improve, I'm sure he has a life so it'll take time.
Demanding and helping is different. It's easy to sit there pointing fingers and crying but it's better to suggest something and show what can be done (No, saying "This is a mess" or "It can be better" doesn't count)

soopakoopa wrote:
Hello Engine's design promotes "SMW hack"-style game development. It's the truth. There's so many things already present that actually
coding any new enemies seems pointless, and most people probably wouldn't even think to bother with deleting the premade enemies and creating
their own versions (In my opinion, this would do away with A LOT of the tedium in all of the clones; that and editing Mario's physics.)
I mean seriously, over 100 enemies?


The problem is, a Mario game will always have the same enemies. Unless one bothers to make original ones. I don't think there is anything wrong with adding all the enemies he can, in fact someone can look through the codes and make their own.
Clones are inevitable, doesn't matter if they use Hellos Engine or a SMW Hack Tool. The cloning doesn't depend on an Engine but on the User's creativity.

None of what I said is directed at anybody in particular, it just seems to me that we are making Hello look like a bad guy and the reason for all these Clone games when it's not the truth.
A good example of what I mean is CatezeeY (Who I believe goes by the name of Gatete now), I know for a Fact he used to use Hello's Engine. Now he made his own Engine and even made some awesome Games, look at Mario's Timeless Picross.

 
Top
Offline 
 
 
 [us]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Sat Feb 14, 2015 3:42 pm 
User avatar
Kootie Patootie
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
The people who make clones wouldn't make games if engines ti clone didn't exist. What people seem to be suggesting would do little more than prevent people from making anything.

_________________
Image
My mains
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.0.4
PostPosted: Sat Feb 14, 2015 4:34 pm 
User avatar
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
DarkBlueYoshi wrote:
Or you could use an array, thus removing most of the code needed to insert the new sprites for each powerup. Removing the hammer powerup in obj_mario does remind me of violating this if I remember correctly. Did you read the post from the link I gave you? I see that other people here are more open-minded to better ways of doing things than you are just by looking at the replies to that post.

There is nothing that makes using arrays better than using switch/case statements. Both would be used to do the exact same thing, and both would take the same amount of effort to add to.

_________________
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Sun Feb 15, 2015 11:00 pm 
User avatar
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
A new version is available for download!

What's new in 6.1?
16:9 Widescreen Default Resolution
New Powerup: Wall Jump Shroom
Various New Features: Bomb Bricks, Propeller Blocks, Blue POW Blocks, New Net Koopa and Piranha Plant Variations, etc.
Various Bug Fixes: This includes all YoYoCompiler related issues, so you can use YYC export options without encountering any problems.

_________________
 
Top
Offline 
 User page at mfgg.net
 
 [fi]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 6:05 am 
User avatar
:3c
Member
[*]
[*]
[*]
[*]
[*]

What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.

_________________
YouTube | Steam | Twitter

My signature is very empty now that I've removed the advertising. :(
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 10:16 am 
User avatar
Just a person.
Member
[*]
[*]
[*]
[*]
[*]

[*]
CatoNator wrote:
What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.


6.1 is the Studio version; as far as I know, Hello isn't going to make any new versions of the engine compatible
with legacy Game Maker.

_________________
Most people don't think that they're always right, they just think that people who disagree with them are always wrong.
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 11:08 am 
User avatar
Kootie Patootie
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
soopakoopa wrote:
CatoNator wrote:
What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.


6.1 is the Studio version; as far as I know, Hello isn't going to make any new versions of the engine compatible
with legacy Game Maker.

I kind of wish he would bring back the one compatible with GMS 1.2.

_________________
Image
My mains
 
Top
Offline 
 User page at mfgg.net
 
 [fi]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 11:34 am 
User avatar
:3c
Member
[*]
[*]
[*]
[*]
[*]

soopakoopa wrote:
CatoNator wrote:
What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.


6.1 is the Studio version; as far as I know, Hello isn't going to make any new versions of the engine compatible
with legacy Game Maker.

Yes, indeed, but I meant Studio version. It gives me a "Failed reading assets from GMXfile" on boot.

_________________
YouTube | Steam | Twitter

My signature is very empty now that I've removed the advertising. :(
 
Top
Offline 
 User page at mfgg.net
 
 [tr]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 2:10 pm 
User avatar
Thanks DonnieTheGuy!
Administrator
[A]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
Because it's a GMZ file, not GMX.

_________________
Image
 
Top
Offline 
 
 
 [fi]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 2:29 pm 
User avatar
:3c
Member
[*]
[*]
[*]
[*]
[*]

Mors wrote:
Because it's a GMZ file, not GMX.

Yes, but importing the file as a .gmz files causes the bug.
lol i don't care i didn't want hello engine anyways really

_________________
YouTube | Steam | Twitter

My signature is very empty now that I've removed the advertising. :(
 
Top
Offline 
 User page at mfgg.net
 
 [es]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 3:59 pm 
User avatar
I'm just a little adorable kitty :3
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

You might want to take a look onto this thing, Hello

Image

_________________
Image ImageImageImageImageImageImage Image
~ Supernova / Drawerkirby (2) / Gato / Neweegee (2) (3) ~
"shy guys are wall plugs confirmed" - Vitiman on Club Saturn Ex
Image
 
Top
Offline 
 User page at mfgg.net
 
 [us]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 4:52 pm 
User avatar
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
CatoNator wrote:
What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.

I used 1.4.1522, but I don't think the format changed, so you should be able to use any 1.4 version...

Willsaber wrote:
I kind of wish he would bring back the one compatible with GMS 1.2.

There is no reason to, since all Studio users get free upgrades to all 1.X versions, and the newer ones are better.

Gatete wrote:
You might want to take a look onto this thing, Hello

Image

Not a bug. If you approach a level panel from a certain direction, it unlocks that direction to use later. You can't skip levels with it.

_________________
 
Top
Offline 
 User page at mfgg.net
 
 [fi]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Mon Feb 16, 2015 4:57 pm 
User avatar
:3c
Member
[*]
[*]
[*]
[*]
[*]

Hello wrote:
CatoNator wrote:
What GameMaker version was 6.1 compiled on? Either my version is too old or the .gmk file is corrupted.

I used 1.4.1522, but I don't think the format changed, so you should be able to use any 1.4 version...


That explains it, I haven't updated to 1.4 yet, I don't like my projects getting wonky after updates.

_________________
YouTube | Steam | Twitter

My signature is very empty now that I've removed the advertising. :(
 
Top
Offline 
 User page at mfgg.net
 
 [uy]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Thu Feb 19, 2015 1:01 am 
User avatar
August 18th, 2006.
Member
[*]
Alright... I messed around with the codes and got rid of almost all the scripts by adding a few codes on obj_mario.
Anybody that wants to use this Engine and save space and make it easier to work with go ahead and read my crazyness.
Spoiler:

 
Top
Offline 
 
 
 [us]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Thu Feb 19, 2015 11:02 am 
User avatar
Just a person.
Member
[*]
[*]
[*]
[*]
[*]

[*]
EDGE wrote:
Alright... I messed around with the codes and got rid of almost all the scripts by adding a few codes on obj_mario.
Anybody that wants to use this Engine and save space and make it easier to work with go ahead and read my crazyness.
Spoiler:


I...after all of this time...never even knew that you could use words as values for
variables as long as you put them in quotes. I thought it had to be a number.

_________________
Most people don't think that they're always right, they just think that people who disagree with them are always wrong.
 
Top
Offline 
 User page at mfgg.net
 
 [tw]
 Post subject: Re: Hello Mario Engine v6.1
PostPosted: Thu Feb 19, 2015 1:26 pm 
福瑞退化者
Member
[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
[*]

[*]
[*]
[*]
[*]
I agree that would help out a lot of rookie gml developers. Anyways I personally don't like to use this:
Syntax: [ Download ] [ Hide ]
Using gml Syntax Highlighting
if (global.state == 0)
{
    scr_mario_small();
}
if (global.state == 1)
{
    scr_mario_big();
}
///etc...


Instead using switch can not only be convenient but also teaches rookies how a switch function works.

This is just an example:
Syntax: [ Download ] [ Hide ]
Using gml Syntax Highlighting
switch (global.state)
{
    case ("small"): scr_mario_small(); break;
    case ("big"): scr_mario_big(); break;
    case ("fire"): scr_mario_fire(); break;
    case ("leaf"): scr_mario_leaf(); break;
    case ("tanooki"): scr_mario_tanooki(); break;
    ///bunch of more power up things goes here
    default: scr_mario_big(); break; //worst case scenario just make sure Mario animates for debugging
}

_________________
 
Top
Offline 
 User page at mfgg.net
 
« Previous topic | Next topic »
Display posts from previous:  Sort by  
Go to page Previous  1 ... 9, 10, 11, 12, 13, 14, 15  Next  [ 284 posts ]  Reply to topicPost new topic 


Who is online

Users browsing this topic: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group