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

Announcements / Re: Metaphase
« on: April 02, 2010, 10:52:44 AM »
That textbox will just trick users into thinking something wasn't commented, when it is. Hopefully a checkbox would filter that out from happening, but...

You know, I myself would happily leave trigraphs to fall to antiquity. It's true; basically no one does use them. If they did, maybe GCC wouldn't make you pass a flag to enable them, rather than having you pass one to disable them.

We're pretty close to a release. Too much so to be thinking about this sort of thing now, anyway. Bring it back up when you have someone that actually wants them. Or when Ism and I are long caught up with everything else and are looking bored.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:42:05 AM »
Ism and I discussed having an option for them as G++ does. I can devote fifteen minutes of my day to adding them in conditionally as long as she can support them in the code editor. I don't want any surprises, particularly involving escaped newlines outside of macros.

We've already removed preprocessors from them for simplicity (though you can use macros as defined elsewhere, of course).
If she adds the option and the highlighting (for escaped comments at the very least), they'll be in. As it stands, we're already behind on C++-strings, which is why they too are supported optionally. The code my end for either is simple; hers, not so much.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:18:30 AM »
Oh, you got me. Guess the project's a bust. Everyone, go home; I'll postpone the release until mid-January of next year and make sure I support things we don't need.

Like I said, GCC warns on them. It ignores them in doing so. You have to flip a special switch to enable them.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:13:39 AM »
Bhahahahhaha, C does those.
It warns about them, actually. You can tell it to ignore the warnings and process them.
And no, begin and end are lousy enough. Find me a really nice trigraph and I'll support it.
As in, one with a useful application that C++ wouldn't have something else for.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:12:28 AM »
The implication is that they are like "#" in GML--stored like anything else, and dealt with at run.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:11:10 AM »
Well, I'm reading that "digraphs and trigraphs are sequences of two and three characters respectively which are interpreted as one character by the programming language." That sounds just like those two to me.

Announcements / Re: Metaphase
« on: April 02, 2010, 10:05:40 AM »
You're right. For unicode, short and wchar_t should be enough. I have no idea why anyone would need a third character.

Announcements / Re: Metaphase
« on: April 02, 2010, 09:00:07 AM »
All you have to do is post something if a piece of code won't compile. I will do my best to print helpful info about what may have went wrong, but as long as you are testing simple codes, we should get to the bottom of it relatively painlessly.

I'm just afraid a lot of things will go wrong, and there'll be reports everywhere.


Announcements / Re: New Interests
« on: April 02, 2010, 08:57:37 AM »
One of the nice things about ENIGMA is that people will leave knowing one of the most popular languages in the world.
That's why I added all these C++ layers without infringing on the GML ones. Users will slowly get accustomed to C++ features, and before you know it, they'll understand the system.

Announcements / Metaphase
« on: April 01, 2010, 09:27:54 PM »
April Fool's has finally passed, with only moderate ripple effects, I might add.

A lot of insanely awesome stuff is going on right now, a lot of which I'll keep a surprise, but I'm happy to report that Ism can now successfully pass me resource data via the DLL. We are still missing a few things that R3 had support for, which I am trying to scramble up support for. Expect a testing phase commencing tomorrow. This should not overflow into the following day.

What that test will actually look like depends on a number of factors. Right now, I'm too excited to sleep. So the project has me for a while.

LGM has a bug, seemingly only on Windows, that we'll need to isolate and resolve. Isn't a very obtrusive bug and doesn't really fall on me, so.

Other things that need done with LGM include re-implementing the syntax check button now that ENIGMA's a DLL, and configuring it to inform me of changes in the C++ resource to avoid wasting an additional second during compile.

I think I may also implement the new instance system before I begin the test phase.

Also, keep this phase relatively quiet: I'm considering making it community-members only. Two reasons for this:
1) A huge part of the point of this is to alleviate stress caused by the release having a fatal flaw that has been overlooked.
2) I want the testing phase to be a small sample of people who can actually tell me what isn't working, or what's missing.

This testing phase will hopefully be both an opportunity to debug and to request small functions, maybe systems. While you test, I will be implementing sounds. Do not expect them from day 1.

In fact, since at this point I'm getting things that were done already in R3 working, expect the entire project to be a miserable piece of failure, and then be enamored by all the wonderful things it turns out that it can do.

Of course, if it doesn't do a particular wonderful thing, such as R3.0's inability to use non-numeral-prefixed constants (such as .5), and R2's lack of comments, DO REPORT THAT.

Again, though, keep it low for now. Release should be ready by the end of tomorrow. We'll see about getting something from Luda in that. I can't stress enough not to count on all the systems that will be in R4 to be that way immediately; many of them still need integration that is better done during the testing phase. Don't expect the bitmask system yet; Luda said he'd try to have the rectangle part of his design ready, though. Also, I'm looking at backgrounds and tiles right now, frowning. So, we'll see what this gets us.

Announcements / Re: New Interests
« on: April 01, 2010, 07:12:48 PM »
Can't compete with age.

*fixes post count*

Proposals / Re: Tierable Systems
« on: April 01, 2010, 06:08:14 PM »
"to keep the same interface ... that doesn't mean their internals should or even could remain the same."
I tried explaining this, maybe not thoroughly enough. The tiering system is only for local variables instantiated along with objects. These are the variables that will be in every single instance, like x and y in GM. They are entirely independent of locals to a system; a system can have as many of those as it wants and still be independent. Certainly you knew that... To have the same interface is to have the same locals.

"With components, those debugging features could be turned on and off at runtime, without any recompilation"
The community is going to respond GREAT to this. That was political suicide in the world of GM, sorry. And don't bother attacking me; I'm a little above that. Number one, no one else is; number two, debug things are costly size-wise. Is it your intention to remove the debug things entirely during final compilation? If not, you may as well just leave; otherwise, there's no point to having them removable before that final build anyway.

Announcements / Re: New Interests
« on: April 01, 2010, 05:58:19 PM »
It's funny that no one here can tell who's trolling and who's being trolled. I knew when I posted it that Miky would get his britches in a tangle. Wasn't sure what would happen after that.

-And with his 666th post, he denounced the entire topic-

So yes, here's celebrating April Fool's, and my 666th post. Ahhh, good days.

Announcements / Re: New Interests
« on: April 01, 2010, 01:30:00 PM »
"ENIGMA will make sure that you don't accidentally add anything to obtain "1""

Well, it's the only way, since GM doesn't offer any method to distinguish between integer and pointer, only loosely between instance and object.
Also, Java doesn't have pointers, and C# makes you ask sternly for them.

Announcements / New Interests
« on: April 01, 2010, 12:48:16 PM »
As you can plainly see, the interests of this community have changed from software and game development to unicorns. As such, the ENIGMA project has been discontinued, effective immediately. For the third year in a row.

Okay, enough of that now. On to serious matters.

Upon further consideration, it has appeared to me that C++ just isn't right for ENIGMA; despite my best efforts, I don't think I can pull off all the things Game Maker does without a better system. Specifically, one with such goodies as dependent typing and a good garbage collector, so users can use ds_list_create and just forget they did so without worry, and so late at night when it's hard to keep track of what I'm doing, I'll be fine. I won't have to fear that I've made a mistake in my coding; something else will let me know or just take care of it for me. We all want that, right? Switching to a better language could definitely improve development speed, in that respect.

Besides, it's time to give the project's organization some serious rethinking. POD has become, though efficient, too confusing when looking at the bigger picture: we're better off calling things by reference. Doing so makes sense, and will help the garbage collector and any debugging implementations as well.

I was looking at C# or Java, maybe even with some Haskell. All of those languages are gaining popularity quite quickly; chances are they'll work on all the platforms we want ENIGMA to compile for within the next ten years. Those languages don't each offer all of the features I mentioned above, but they'll make mine and users' lives easier.

Think about it:  With their garbage collectors and referencing systems working for us, you can just create a ds_list, forget about it, and in a few steps, it'll just be gone! To ensure that users don't accidentally reuse a destroyed list, the integer-id (probably between 0 and 20) will cease to exist along with it, meaning you can no longer set any variables to it. So, if you said, for example:

a = ds_list_create();

But then just stopped using "a"'s list for a while (like if you had it in an alarm that was taking a really long time to execute and so probably never would), list 1 would be freed. So what would happen if you were to pass "1" to ds_list_find again? That's the beauty: You can't! When list "1" is freed, so is the constant "1" from the game. That means that from now on, you can't use "1" anywhere in your code, and ENIGMA will make sure that you don't accidentally add anything to obtain "1". Also, make sure not to divide by it, as doing so may cause an error (don't worry though, each of these languages has great exception handling).

This can be accomplished by keeping everything stored as pointers, especially constants. Instead of "1" just being an integer in memory, it will be an integer pointing to an integer, and then another integer to verify that our integer points to an integer. Simple, yes? Efficient, too: modern processors are making it so no one will even notice the effects of doing so.

I haven't seen any Java games for Wii, yet, but maybe they could be played through the Wii's browser. On the other hand, I have seen one C# program for the Wii, and I'm sure it has reached shelves of hard-core gaming fanatics everywhere; just look at it. Although I don't think development with C# for non-Windows systems will be supported by Microsoft, they have agreed not to sue for it.

Because of that, C# is looking like a really good option. Plus, using C# would give us access to Microsoft's powerful .NET framework on Windows, which end users would simply have to download. It's only a few hundred megabytes. The Mono team has been working very hard to get that framework running on other operating systems, too; it should be mostly supported.

I can't wait to hear your comments on this. I feel we'll need a new logo to go along with it, possible something with gears and happy faces.

something about unicorns