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 - Josh @ Dreamland

Function Peer Review / Re: GML: All draw_text functions (WIP)
« on: October 29, 2010, 06:32:09 PM »
Please don't do that.
ENIGMA lets you choose how to escape string literals. There are two settings, though you can't yet switch between them:
1) GML. "Quote inside quote looks like " + '"this."' + " Newlines are escaped from '#' automatically."
2) C++. "Quote inside quote looks like \"this.\" Newlines must use \\r\\n, like this: \r\n ^ line ^ \r\n # does nothing."

Function Peer Review / Re: GML: All draw_text functions (WIP)
« on: October 29, 2010, 06:18:36 PM »
First off, I'm quite impressed at how quickly you got on this; I haven't even announced that fonts were in.

More importantly, I have to express some concerns before I adopt these:
1) Trig functions and multiple multiplication operations are performed in each loop iteration for the transformed font functions. That is a costly move compared to what could be accomplished with a simple precalculation (considering none of them are dynamic, as far as I know).
2) I was not quite done with linear fonts at the time of commit. For example, look what happens to the "I" in this screen shot. It's not the spacing that concerns me as much as the fact that "I" is only one pixel wide. I fear the worst.

Your work is, of course, appreciated greatly nonetheless. Neither of those are a serious detriment; I will just need to go over them when I have a few more answers.

Good work.

Also, I was looking into regex for ENIGMA, but the best interpreter out there for C++ is apparently Boost, and they totally fucking overkill everything. I just want a damn preg_match and preg_replace for ENIGMA; it shouldn't be 65 source files and it shouldn't have a fucking config file. Damn it.

And one more thing: in case you're wondering where that screenshot came from, it started out as an example someone posted on the GMC, which I stumbled upon looking for an explanation of the parameters to font_add_sprite().

Function Peer Review / Re: move_towards_point + move_snap
« on: October 25, 2010, 08:40:20 PM »
#define motion_set(newdirection,newspeed) (direction=(newdirection), speed=(newspeed))
Is the STRICT EQUIVALENT to inline double motion_set(double newdirection,double newspeed) { return (direction=(newdirection), speed=(newspeed)); }. There is NO context under which the inline would work, and the macro I specified would not.

Furthermore, if ENIGMA's source is full of more complicated inline functions than this one, compile time will be a disaster.

Again, the reason to write a function for this instead of a macro is to save some trig in assigning hspeed and vspeed.

Function Peer Review / Re: move_towards_point + move_snap
« on: October 25, 2010, 06:22:45 PM »
Because with macros, you can seamlessly manipulate locals such as direction and speed.
...An inline function would be more efficient, though, as hspeed and vspeed would only need to be edited once.

Function Peer Review / Re: move_towards_point + move_snap
« on: October 25, 2010, 11:44:41 AM »
In fact, I must be smoking something.
#define motion_set(newdirection,newspeed) (direction=(newdirection), speed=(newspeed))

Function Peer Review / Re: move_towards_point + move_snap
« on: October 25, 2010, 08:01:42 AM »
Ouch, TGMG.

Never do this:
#define motion_set(newdirection,newspeed) direction=(newdirection); speed=newspeed;

Use this:
#define motion_set(newdirection,newspeed) direction=(newdirection), speed=newspeed;
or this:
#define motion_set(newdirection,newspeed) { direction=(newdirection); speed=newspeed; }

with (all) motion_set(...)...

Issues Help Desk / Re: Can't compile anymore? Whats up with that?
« on: October 24, 2010, 09:21:08 PM »
Wonder how I overlooked that.

Issues Help Desk / Re: Can't compile anymore? Whats up with that?
« on: October 24, 2010, 04:52:01 PM »
How did you install it? Did you use mingw-get?

Issues Help Desk / Re: Can't compile anymore? Whats up with that?
« on: October 24, 2010, 08:59:44 AM »
I have never had luck using the MinGW that comes with Code::Blocks. I have no idea why. It doesn't seem much older than the one that comes with ENIGMA... I was thinking they specialized it just for use with their IDE.

Can you do me a favor, though? I need to modify ENIGMA.exe to make calls to MinGW's latest installer application, mingw-get. It's like apt-get, but for MinGW (Implying for Windows). Using mingw-get, I believe we can install all of GCC via calls to better_system() (already in the ENIGMA.exe source). I will get to this soon enough, but if you would like to give it a shot, be my guest. It should be as simple as calling better_system("C:\\mingw-get","install gcc"); (after actually copying mingw-get.exe to C:\MinGW, of course).

We'd then do the same for "install g++", "install make", "install gdb"... at which point, ENIGMA would have a full-fledged development suite at its disposal.

Also, thank you for that info page. I'll look it over and make any necessary changes.

Proposals / Re: Decrease Code Size?
« on: October 23, 2010, 06:26:36 PM »
Too lazy.

Proposals / Re: Decrease Code Size?
« on: October 23, 2010, 05:49:48 PM »
A five megabyte game is one megabyte too big. Until ENIGMA outputs smaller exes. Then it'll be like, 1.5 too big.

Proposals / Re: Decrease Code Size?
« on: October 21, 2010, 05:22:09 PM »
Like I said, I won't personally be fucking with it. But if Ism has nothing to do one day...

General ENIGMA / Re: Marketing Enigma
« on: October 21, 2010, 05:21:11 PM »
ENIGMA is free as in speech. But yes, we call it free and open source.

General ENIGMA / Re: Marketing Enigma
« on: October 20, 2010, 09:24:08 PM »
I think just three groups would be fine. The hope is that veterans are smart enough and humble enough to choose "veteran" over "advanced", which would mention C++ in its description. If not, ENIGMA's no the GMC, yes: they'll realize really fast they have the wrong board.

General ENIGMA / Re: Marketing Enigma
« on: October 20, 2010, 08:48:47 PM »
Thanks for the response Josh, I figured you would have thought about most of these points already. I was prompted to make this topic because I saw Omega_red saying he posted about Enigma on the u3d forums. As said I think advertising Enigma too early could damage it, timing when Enigma is at the correct stage is an important factor.
Yep. I was thinking the same thing. Every now and again, the same sort of thing happens. Or I/someone say/do something particularly interesting, and we have an influx of fresh meat. They hang around for a while, then bob in and out randomly.

However once Enigma has full (or near full) support with GM you may find a greater form of advertisement in people posting about it in topics. ... I'm unsure whether the gmc administration may ban these types of posts though.
Yes. I myself used to post games compiled ENIGMA, along with the source, under the premise that it "can't be decompiled, as it was compiled in ENIGMA." I don't promote PMing the intelligent ones, though; that'd be annoying and spamish. The intelligent ones will probably notice and make their judgment on ENIGMA accordingly.

If a complete beginner stumbles across Enigma and sees it being described with things like "C++", "re-compiled" it is likely to deter them from using the software. Enigma should ultimately be just as easy to use for beginners as GM is however.
Indeed, but this has to be done in phases. We'll never end up in a good place on a search index if we try to appeal to everyone at once. I'm learning that one the hard way. We need to start by raking in as many GM users as we can, then shigting our home page's focus to general game development applications. "Game Maker" has the perfect name for the job, as far as search indexing goes.

You also have to think about the forum set-up in the same way. Is there going to be a board specifically made just for gml? Because I guarantee if GM users post here for help and members start reeling off C++ to them it will drive them away.
Keen prediction. A while ago, I started writing a CHM documentation similar to GM's, and I decided then and there to divide the users into three groups. Where GM divides them into two (Novices and Advanced users), I will divide them into three (Beginner, Veteran, Advanced/Expert). Beginners will be your typical DND tilers. Veterans will know GML well. Advanced users will know GML really well and have started into C++ features. I may add a fourth group for experts, who have grown comfortable developing with and for ENIGMA in C++.

how difficult could they make your life if they intentionally changed GM in future versions to try and make it incompatible with Enigma?
They could not. They'd drive away their own userbase. This was one of my first fears in the planning stage. The changes between GM5 and 6 were catastrophic (in magnitude, not in reaction). I don't think they can afford to do it again without a complete change in userbase, as far as I can tell (He couldn't even remove image_single from the spec like he threatened).

Also as mentioned previously the administration could also decide to take a zero tolerance approach to the mention of Enigma on the gmc, this will largely cut off the ability to reach the average GM user.
I welcome the notion. Sony took a similar approach to *sings* 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0-----------------------*voice trails off*

Put a little ad at the start of the games made with Enigma (or GM)?
I object.

should be recommended that they do it in their own way. Not in some stupid, forced way
I'm okay with requesting it, but I won't mandate it. I'd at least like any successful games to tell us they use the engine. That much is common courtesy. But no, I'm not going to mandate any of it.