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

1636
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."

1637
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().

1638
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.

1639
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.

1640
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))

1641
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; }

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

1642
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.

1643
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?

1644
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.

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

1646
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.

1647
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...

1648
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.

1649
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.

1650
General ENIGMA / Re: Marketing Enigma
« on: October 20, 2010, 08:48:47 PM »
Quote
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.

Quote
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.

Quote
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.

Quote
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++.

Quote
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).

Quote
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*

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

Quote
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.