Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Ideka

Pages: 1 2 3 4 5 6 »
1
Issues Help Desk / Re: Friend can't run Enigma
« on: March 29, 2015, 03:12:44 AM »
Well... I'm no expert or anything but looks like he's missing that compileEGMf.dll file. See if he can find it somewhere.

2
Issues Help Desk / Re: bug report
« on: October 12, 2014, 01:08:58 PM »
I'm in hell right now trying to fix LGM's unsaved changes dialog so that it only shows when there were actually changes.
Sorry, this is off-topic and I don't know if you got that to work yet and what I'm about to suggest is totally evil and not recommended and you should probably not do it and it's probably not gonna help but...
You know what you could do? When the user is about to quit, serialize the project object into a memory stream, then read the project file into another object and serialize it into another memory stream and... compare the streams. If they're different, show the dialog.

3
Programming Help / Re: 2D on 3D, vice versa?
« on: October 08, 2014, 01:02:14 PM »
I have to say, that looks beautiful, DaSpirit.

4
Off-Topic / Re: I love Linux
« on: August 31, 2014, 10:09:16 PM »
Come on guys. I use Arch but Ubuntu is fine, especially for newbies. Unity is OK too (though I use Awesome).

5
Off-Topic / Re: Share Your Music
« on: August 15, 2014, 09:24:35 PM »
I made a couple songs.
http://opengameart.org/users/ideka
Done note-by-note. That's how pro's do it.

daz your song reminds me of Rainbow Road.

6
Off-Topic / Re: NakedPaulToast
« on: August 02, 2014, 09:26:20 AM »
I was reading through the thread Robert linked...
Quote
You're post
Quote
their is some other reason
Ugh.

But he seems like a reasonable guy.

7
General ENIGMA / Re: Indentation Styles
« on: July 27, 2014, 06:04:53 PM »
I also like tabs a lot. I don't get the "width" issue though, because it doesn't matter if a tab is 1cm or 5cm. The code will still be indented properly. So I haven't had any problems with that, but I rarely use linux, so I don't know if they have problems there or now. I haven't had any problems in  Code::Blocks, Notepad++, VS and Wordpad. Works flawlessly everywhere. So it's seems to be a linux issue.
The problem with tabs is that each editor can be configured to display them differently, so code written in some editor will likely look different in another one. It will still be properly indented but it may become too wide to be comfortably read, or things might end up misleadingly aligned when they shouldn't.
It's not a Linux issue.

8
General ENIGMA / Re: Variable performance
« on: May 01, 2014, 07:16:42 PM »
I'm sorry, what's YYC? Google says it's Youngstown Yatch Club or something.

9
Announcements / Re: Project Mario
« on: April 05, 2014, 12:08:54 PM »
Quote
1) They are destroyed when you change the room by default. You have to make sure to set them all to persistent. PITAA (pain in the ass alert).
2) When set to persistent, they behave as if they were allocated with new/malloc, so you have to manually destroy them when you don't need them anymore. Otherwise you'd be leaking memory. Leaking memory in Game Maker. It's so ridiculous it even sounds funny. PITAA.
So you are arguing that GM destroys objects and frees memory by default and when you don't want it to do so, then it doesn't? Because how and when do you think it should do so?

How it's done is fine, because they are objects. Game objects.
As for classes... how about treat them like every other variable ever? Destroy them when they go out of scope.

Even if we implement structs or classes, they would still be inside objects. And that means you would have the same imaginary problem.
So if you did and I were to do:
Code: [Select]
var a;
a = SomeClass();
It would just create an insolvable memory leak? That doesn't sound good.

Quote
So yeah, you basically have to wait one fucking step for your "class" to be actually fully instantiated, not to mention take care of all of this boilerplate when creating a new "class". MPITAA (major pain in the ass alert).
I used user defined events for that. You can call them instantly and don't have a 1 step delay.
That's a good idea (though still a PITA), I hadn't thought of that.
You know what would be better though? How about actual classes.

10
Announcements / Re: Project Mario
« on: April 04, 2014, 03:09:39 PM »
OK, here's why using objects as classes is a pain in the ass:
1) They are destroyed when you change the room by default. You have to make sure to set them all to persistent. PITAA (pain in the ass alert).
2) When set to persistent, they behave as if they were allocated with new/malloc, so you have to manually destroy them when you don't need them anymore. Otherwise you'd be leaking memory. Leaking memory in Game Maker. It's so ridiculous it even sounds funny. PITAA.
3) They have a bunch of variables by default that are probably useless to you but can't be disabled. Some of them you have to be careful not to use because they may have undesirable effects when modified (like hspeed affecting the x variable). PITAA.
4) You can't pass arguments to its "create" function. Instead you have to do some BS like:
Code: [Select]
with (instance_create(0, 0, SomeObject)) {  // (Don't forget the required x and y parameters that you probably don't need but have to specify anyway.)
    some_variable = 3;
}
And then if you actually want to use these values, you can't do it in the create event because it's executed before the content of the with. So you have to do some OTHER BS in step like:
Code: [Select]
if (!variable_local_defined("recieved_parameters")) {
    do_something_with(some_variable);
    recieved_parameters = true;
}
And I'm actually not even sure if that works (and it definitely doesn't work in ENIGMA), I usually add this in create:
Code: [Select]
alarm[0] = 1;And then in the alarm 0:
Code: [Select]
do_something_with(some_variable);So yeah, you basically have to wait one fucking step for your "class" to be actually fully instantiated, not to mention take care of all of this boilerplate when creating a new "class". MPITAA (major pain in the ass alert).
5) No member functions. Sure, you can use scripts and call them like in C but... PITAA.
6) No multiple inheritance. Not really a PITA but a limitation nonetheless.

Quote
Bastion was just the example. Because originally this wasn't about the specific of GML. It was the specifics of GM and how people create crappy games with it just because its "limited". I pointed out that it is not because GM is limited. It's because GM is just easy to use.
I agree with that. I'm talking about a different kind of limitation here.

11
Announcements / Re: Project Mario
« on: April 04, 2014, 12:58:24 PM »
Don't tell me GM objects are the same as classes. They're not. You can make them work as classes, sort of, but it's a pain in the ass.
I didn't say dynamic typing was bad. But don't you think it'd be good if you could specify something like "this function should always take one int" and then the compiler telling you if you ever call it wrongly? Don't you think that might help you find and squash some (potentially subtle) bugs?
Exceptions carry more information than a -1 return value. An exception might be able to tell you not only that the file wasn't loaded properly, but also why. Also if your examples were inside a function, you could catch the error from outside with exceptions.
Quote
You mean std::containers?
Maybe. Not necessarily.
You can make your own containers in C++ because C++ has -guess what- classes. Actual classes.
Quote
I don't argue that. It's just that you took assembly as an example and I made a step further. It's not really relevant to the discussion.
So you accept that if GM isn't limited, is not because you can use it to remake Bastion. Otherwise you'd be making no sense.

12
Announcements / Re: Project Mario
« on: April 03, 2014, 08:10:24 PM »
Quote
Anyway my point was that even though you can get pretty much anything done in GM, its language is rather limited, as you should clearly be able to see, being a C++ programmer yourself.
I truly don't see that.
Really? So you never found yourself missing, say, classes, when programming in GML? Or static-typing? Or exceptions? Or how about some sequence type that you can actually pass around without having to bother to clean up after you don't need it?
Wouldn't you at least agree that, if GML had these features, you could get more done in less time, structure your programs more efficiently and/or write more robust and understandable code with it?

Quote
You could do it in assembly if you really wanted.
True. You could do it even writing only 1 instruction for a million times (on a one instruction set computer http://en.wikipedia.org/wiki/One_instruction_set_computer).
Right. So either you're going to argue that assembly isn't limited (even if it lacks such things as, say, variables and functions), or your "GM isn't limited, I could use it to remake Bastion" argument is invalidated.

13
Announcements / Re: Project Mario
« on: April 03, 2014, 06:13:08 PM »
I wasn't arguing whether language X is better than language Y.
Good. Me neither.
I was just saying that "GML/EDL is limited, because just look at the games made in them" argument is wrong.
I agree.
And I don't believe in this "Power continuum", because never language X is totally better than language Y. Every language has it's own uses. I now program in C++ daily and while it might be higher in the "power continuum", it is still not my number one language when I need to make a 2D graphical program. Actually I might never make a 2D game or a program in anything else than ENIGMA.
Also, "feature" doesn't mean "better". Python has a lot of features and is higher level than C++, yet I dislike that language to the bone. It's not better in anything. Except maybe in eduction just because it's easier. But then again you could just use GML/EDL for that.
From the same essay:
Quote
Or how about Perl 4? Between Perl 4 and Perl 5, lexical closures got added to the language. Most Perl hackers would agree that Perl 5 is more powerful than Perl 4. But once you've admitted that, you've admitted that one high level language can be more powerful than another. And it follows inexorably that, except in special cases, you ought to use the most powerful you can get.
Paul Grahm really knows his shit, and I think he makes a good argument (the whole thing is worth a read, btw).
When you say that "every language has it's own uses" (sic.), you're probably thinking about things like "Java is good for multi-platform because the .jar is platform-independent", "C++ is good for performance-critical stuff because it's fast" or "GML is good for game development because it has a whole environment (GM) dedicated to it". Forget about all of that. These are all properties not of the languages, but of their most popular or only implementations. I'm talking about languages on their own.

Anyway my point was that even though you can get pretty much anything done in GM, its language is rather limited, as you should clearly be able to see, being a C++ programmer yourself.
I have personally never encountered many limitations in GM. If I can make a Diablo2 clone, a Bastion clone or any other type of 2D game, then I don't see how they are limited. They have clearly succeeded, as they are 2D game tools. Right now slowly going into 3D.
Well, you could probably do that with any turing complete language. You could do it in assembly if you really wanted.

14
Announcements / Re: Project Mario
« on: April 03, 2014, 08:31:41 AM »
People who think GM is limited think that way only because themselves are limited.

Same of course with ENIGMA.
Right. But consider:
Quote
[...] I'm going to use a hypothetical language called Blub. Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.

And in fact, our hypothetical Blub programmer wouldn't use either of them. Of course he wouldn't program in machine language. That's what compilers are for. And as for Cobol, he doesn't know how anyone can get anything done with it. It doesn't even have x (Blub feature of your choice).

As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.

When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y.
(From http://www.paulgraham.com/avg.html.)

15
General ENIGMA / Re: Cutscenes working in Iji on ENIGMA (experimental)
« on: March 17, 2014, 04:14:58 AM »
Good job, man.

Pages: 1 2 3 4 5 6 »