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 / ENIGMA Release 2a
« on: April 14, 2008, 04:46:37 pm »
That's right! ENIGMA is now on release two, faithful fans. And as was intended, the alpha revealed all I needed to know about it, and now according to my testers, it is all working.

So to the really faithful fans who were here the first minute to download the new release, I'd like to apologize. The new release has been uploaded as ENIGMA-r2a. However, don't think you have to download all 20MB again. For those who downloaded the flawed alpha version, here is a patch:

ENIGMA Patch 2a

The patch is all of two lines that need replaced.
Thanks a ton to Chiken, who I sent some ten versions of the same exe until I knew where the error was and fixed it. (If I had the error, I would not have distributed)

As for the rest of you, all you have to do is download it from the downloads page.

Unfortunately, you will have to download the entirety of the new release, as the version of GCC that came with the first release is prone to failure. Just delete the old directory entirely, please.

What's new in Release 2a?

Basically all the bugs from Release one are corrected.
  • LGM can communicate with ENIGMA now.
  • The code editor only displays functions that are implemented.
  • Lengthdir now accepts integers as arguments without rounding.
  • The default draw color is black.
  • Division works like GM's.
  • There is no parse iteration error.
  • Withs are corrected, as far as I can see.
I have also added some things since Release one.
  • Both sprite_add and in-game sprites work from what I can tell. (They are still primitive, so try not to overdo it yet.)
  • A keyword "localv" has been added. It will tell ENIGMA that you are declaring the variable, but it is meant to be instance-local, not codepiece-local.
  • The keyword "new" has been added to the parser. It is for C++ experts only.
Note: localv and new were not yet added to the syntax highlighting.

Also, for the time being, all ENIGMA games need to be under the GNU General Public license. IE, open source. This was an accident, which will be corrected in Version 1.0. However, for this series of alpha releases, it is actually a safety precaution as well.

Do not worry though. Just include the GM6 of the thing in the folder and we'll let everything else slide. I will be very lenient about this, especially as it is temporary. But it IS a safety precaution and WILL be treated as such if necessary. Keep that in mind, those who this concerns.

Thanks for reading guys, and enjoy the new release. Please report any and all bugs or suggestions in the enigma bug forum in the community. I will deal with them as rapidly as possible.

This release was about a week after Release 1. I do intend to keep a nice quick pace like that.

-Josh @ Dreamland

One more note concerning ENIGMA and LGM.
I refer to ENIGMA as an `IDE' simply because it is not a `compiler.' It actually just reads your game and intelligently decides how to code it. (More intelligently in the future though, I hope.)

The code it generates is passed to GCC (the MinGW distribution), a freeware compiler available here.

The IDE itself, that is, the interface you use to write code and put together files for ENIGMA to compile, is LateralGM. It is a project by an independent team, whose progress you can follow around their forums here.
Note that the version of LGM that comes with Enigma is a special build made specifically to accomodate Enigma, and not an official build, although it does give you a small sneak peak of the upcoming LGM version, 1.6.

Issues Help Desk / Re: Alternates to these functions?
« on: April 13, 2008, 09:25:20 am »
window_set_caption should work... I've had no problem with it.

General ENIGMA / Re: GM+
« on: April 12, 2008, 03:58:00 pm »

Announcements / Release 1
« on: April 06, 2008, 03:34:58 pm »
That's right. I decided to make the release today since a lot of you have been waiting to see what it's made of.

NOTE: This is Alpha. 'Pre-beta.' Almost-not-functional.

Only meant for testing the code features. 10% of all scripting is done, and rising. String functions are under development. Try not to abuse those. In fact, avoid using them.

Sprites were planned in this release... but I have some bad news.

LGM and ENIGMA have some communication errors at the moment. You will have to manually activate the ENIGMA exe, then the game exe, which is always game.exe. This will be fixed in the next release, which is also soon.
>>To clarify on that, you must hit "compile with enigma" in LGM. Then open its directory, and double click
>>"compileEGMf.exe". This will do the rest for you and produce "game.exe".

Version one will be a totally operable Game Maker replacement, we hope.

To be on the safe side, save all the LGM things before hitting compile. This was all done very quickly to get a demo out.

So for now, no sprites, unless sprite_add still works.

All the DND stuff is just for show. Scripts, Objects, and Rooms are it. Explore a bit, but don't expect it to compile an entire game just yet.

For those who don't like to read a lot:
Basically, do as follows.
  • Open LateralGM.jar.
  • Add scripts, objects, and/or rooms with whatever code.
  • Save it and close out of all the resources.
  • Hit compile with Enigma.
  • Close LGM.
  • Open its directory.
  • Double click CompileEGMf.exe.
    • It should export Game.exe if you didn't use unimplemented functions.
    • Run game.exe, it's yours.
    If your game does not compile:
    Make sure you aren't using functions that are not yet implemented.

    IE, draw_sprite without calling sprite_add. The current LGM -> Game sprite loader is broke. Sorry.
    Show_message is dispstr(string,string or real), or MessageBox(0,Text,Caption,0) if that works for you.

    If your game does not draw:
    •   Tip: draw_set_color() is your friend. All colors default to white.
    •   Sprites are not loaded from exe yet.

    And I know there are lots of errors. Please compile them in this topic post them in the bug report section and they will be dealt with on a Can-This-Be-Corrected-Without-Disrupting-Anything basis.


    General ENIGMA / Re: Shiny header
    « on: April 06, 2008, 06:49:03 am »
    Shiny makes the world go round. Like me finding this last undefined reference and releasing enigma.

    General ENIGMA / Re: This program is everything I could ever want
    « on: April 05, 2008, 09:16:25 pm »
    I'll add a tag to the parser to return immediately, effectively enabling C++.

    Done. Start your code with
    Code: [Select]
    And it'll leave it raw. Note I have no syntax checking yet. So use wisely.

    General ENIGMA / Re: Speed improvements.
    « on: April 05, 2008, 09:11:15 pm »
    When it finally functions together as a system, yes.

    The improvements are about 5x immediate improvement for variables. 2x for most graphics or more.

    With custom optimization, you can increase variables 250x, and graphics more than 10x, depending.

    Announcements / Upcoming Release
    « on: April 02, 2008, 08:55:44 pm »
    Yes, there was a release planned for yesterday, actually. But due to some difficulties, it's been delayed slightly. I'm still and always hoping for "tomorrow."

    The current problem is simply some nulls that pop up in the output files before compile. The team is trying to find the cause and iron it out. (Dev's debugger is not a prize winner.)

    Either way, from what I can tell the rest is working or easily fixable.


    Rusky Edit:
    Got my dad's help, we found some weird problems, we're trying to pinpoint their causes. Maybe done sometime tomorrow (as always XD) but AFAIK Josh won't be able to do much.

    Rules up. Read to avoid being b&.

    Announcements / Update
    « on: March 15, 2008, 08:51:50 pm »
    I really don't feel like editing any of the pages right now, so I'll just make a newspost.

    Anyway, objects are fully functional now. Here's a demonstration.

    Please note: Some serious optimization is to be done on the newly completed object code. I have no intention of being within 30 fps of GM when this is done.

    Game Maker


    And to answer a recent yet recurring question, ENIGMA's point is to allow backwards compatibility with Game Maker, while extending its possibilities into a lower level language. (C++)

    Announcements / More progress
    « on: March 08, 2008, 01:27:34 pm »
    Objects and their instances are working, as a basic system. The last thing I have to do before release one is make sure the parser can arrange a bunch of resources into the ENIGMA compile shell's sources, and we're set.

    That is not so easy, however. It entails keeping track of which variables are declared as what type, or remain undeclared.

    Also, I've been contacted recently by a team working on their own SDK of some sort. They seemed to have an interest in the project, but our goals are different.

    My first priority is to get a release out that will compile your games and save them from Game Maker's decompiler problem. As well as speed them up great deals.

    The var class is 5x faster than GM. If you declare a type as double, it'll be fifty to one hundred times faster than my var, or about 250x as fast as Game Maker. You have C to thank for that.

    ENIGMA also takes C++. This is the only current ticket away from GML. Type naming can still be done in GML, and var can still be used in C++. This will allow users to mix the languages in a way that suits them.

    I'll see about decreasing the levels of some functions.


    Announcements / Updates
    « on: February 15, 2008, 06:42:03 am »
    I just added a progress page. Now you can watch us struggle to fill the list. We're getting closer to a release each day.

    If you've just heard about ENIGMA, feel free to have a look at the information page. It'll fill you in on the details, and out plans for the project.