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 - ludamad

Pages: « 1 2 3 »
16
Announcements / Re: ENIGMA -- srs bizness
« on: November 24, 2008, 02:43:51 PM »
Bigmoron is of course right, it is not so clear cut, lets look at the affected areas (according to Josh):
Quote
List of typical errors:

    * Accessing an undefined sprite: Fatal, debug mode will report it
    * Accessing an undefined script: Will error at compile time
    * Accessing any other undefined resource: Fatal, debug mode will report it
    * Going past an array limit in a VAR: Not fatal, don't think debug mode will report it though
    * Going past an array limit with pointers: Just fatal. It's a C++ thing.
    * Division by zero: Fatal, debug mode will report it in var, cannot report it with int/double/etc
    * Nonexisting variable: Totally impossible, may implement something to track that
Accessing an undefined sprite is virtually impossible as long as you use sprite names, as well as undefined scripts with script names and other resources. Going past an array limit in var or C++ arrays could be a problem - however one could easily create an array structure that errors when out of bounds (with C++, and then release as a ENIGMA lib).

Such a thing would be recommended for early stages, and possibly removed when the code is confident enough to be bug free. Bigmoron's point is very valid - the people playing your game can be your biggest bug testers.

As for divide by zero, I'm not sure how one would handle that nicely, especially if you plan to use C++ types (which anyone and everyone should opt for over Var). 

And Nonexisting variable? Probably not a huge issue, though I'm not exactly certain what Josh means.

17
Issues Help Desk / Re: NOOB QUESTION!
« on: November 24, 2008, 02:36:05 PM »
Very true big moron. Besides, you risk making it slower (if you are not experienced with ASM) than if you just let the compiler optimize your code for you.

18
General ENIGMA / Re: I think that you'll be pleased to know
« on: November 23, 2008, 05:07:02 PM »

19
Proposals / Some things just have to be deprecated
« on: November 23, 2008, 01:56:12 PM »
GML as it is in GM should definitely only be in a special compatibility mode. Instead, the real EDL language should have some more logical restrictions, and better organization of functions.

GM Code:

if variable_local_exists("Counter")
{
Counter+=1
ds_list_add(myList,Counter)
}
else
{
Counter=0
myList = ds_list_create()
}

EDL Equivalent
//Static variables are used instead, this code can be thought of 'only executing the first time', it is not set to 0 every time it is run

static int Counter = 0;//=0 is optional, in C++ static variables are always initialized to 0
static list myList; //creates an empty list if one is not created
Counter++
push(myList,Counter)

20
Announcements / Re: ENIGMA -- srs bizness
« on: November 23, 2008, 01:21:44 PM »
Game Boy: Ever heard of the halting problem? For the same reason there is no clear cut way of finding out, in general, whats going to happen on runtime. Also, you aren't taking into account user input. I assume you were joking, but still, it simply isn't possible. It's not turing computable.

21
General ENIGMA / Re: I think that you'll be pleased to know
« on: November 23, 2008, 01:04:14 PM »
Stencyl has the clear advantage of not being a real word.

22
General ENIGMA / Re: I think that you'll be pleased to know
« on: November 23, 2008, 12:56:49 PM »
Not too shabby, but also to be expected.

23
Announcements / Re: ENIGMA -- srs bizness
« on: November 23, 2008, 12:25:21 PM »
RetroX:
A=floor(rand());
B/A;

How is one to make a compile time error there?

24
Announcements / Re: ENIGMA -- srs bizness
« on: November 23, 2008, 09:59:21 AM »
That's certainly a good idea for final release, compiling with "Best Optimization" will be an option in ENIGMA already, according to Josh.

25
Announcements / Re: ENIGMA -- srs bizness
« on: November 23, 2008, 09:41:51 AM »
He can't really make it compile that much faster unless he could rig G++ to make like 0 optimizations. Otherwise he'd need an interpreter.

26
Announcements / Re: ENIGMA -- srs bizness
« on: November 23, 2008, 09:37:15 AM »
I wouldn't have it any other way.

27
Function Peer Review / Re: The formula for finding point_distance.
« on: November 22, 2008, 03:53:22 PM »
RetroX: #include <Complex>

28
Issues Help Desk / Re: NOOB QUESTION!
« on: November 20, 2008, 02:09:12 PM »
Ack. ENIGMA is currently in Alpha. This means that many planned features are currently not supported. C++ is not 'better at 3D' in any sense than having more freedom to code efficiently. That said, ENIGMA will soon support to an extent C++ libraries, and thus any C++ 3D Engine you want to use. The 3D functions from Game Maker are currently not emulated. Any Game Maker games using alternate 3D DLLs are, as a rule, very easy to support (once Josh allows DLL loading). ENIGMA supports 3D as much as assembly does at this point - meaning its all up to the coder.

29
Announcements / Colligma 2.0
« on: October 01, 2008, 07:48:29 PM »
For the clueless, Colligma is ENGIMA's collision system, written by me, ludamad.

As have many things in ENIGMA history, Colligma is experiencing a complete re-write. The reasons for this were mostly because the old code was not as nearly as efficient as it could have been, and writing it from scratch is allowing me to avoid problems I ran into with the old Colligma completely. Most importantly, old Colligma did not work properly without at least one of the objects compared having a rotation, and in that case it'd work, but work slowly. As of the time of this writing, new colligma already has a properly implemented collision function for non-rotated objects.

Please note that Josh and I work on completely separate threads of code, and stalling on one side doesn't inhibit progress on the other.

Paragraphs are annoying, so here is some point form:
-The new Colligma will be optimized for 32 bit systems (as opposed to old colligma, which really wasn't optimized for anything). I will release a 64 bit optimized version too (the changes needed are trivial).
-The new Colligma benefits from better knowledge of optimization now.
-The new Colligma uses a less confusing naming structure, bitMask is the basic structure instead of collCustom.
-A EDL frontend will be written for ENIGMA, basically meaning one can call Colligma with no knowledge of C++ (it will be similar to GML).

Well, that's the news. So there.

30
Announcements / Re: Enigma R3 Released
« on: August 08, 2008, 09:06:45 PM »
I need to write a guide on using C++ in ENIGMA sometime, these guys seem confused (cout is only defined in a header ENIGMA doesn't have included).

Pages: « 1 2 3 »