ENIGMA - Free game and application development

Welcome to the home of the ENIGMA Development Environment. ENIGMA is a game development platform, compatible with Mark Overmars' Game Maker Language. ENIGMA is great for those who want to learn to program; its coding is simple and its C++ support provides a stepping stone to those who wish to step up. Not only that, but ENIGMA has true compilation for executables instead of attaching game data onto a runner, ensuring your projects can't be stolen or modified with ease.

News

Colligma 2.0
By ludamad | Posted 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.

The lack of development updates and progress
By a2h | Posted September 27, 2008, 07:35:44 AM

About Josh:
Quote
Josh @ Dreamland says:
 I guess.
 Lemme at least give you the whole story...
 After Mouso died, I came down with a case of MRSA.
 MRSA is a deadly staph infection.
 I started breaking out in lesions,
 so my dad took me to the doctor.
 The doctor sent me to the hospital,
 where they took a culture.
 After a couple days, they identified it as being MRSA,
 and so they prescribed a powerful antibiotic called bactrim.
 After about a week on Bactrim, I started breaking out in a rash all over, and had a fever of almost 103.
a2h_ says:
 o_o
 103
 australia uses celsius not farenheit
Josh @ Dreamland says:
 erm...
 39.444444444444444444444444444444
a2h_ says:
 ok, that's bad
Josh @ Dreamland says:
 yeah
 So they took me to the doctor again, which led to more meds.
 This time they put me on Benedryl and prednisone.
 Benadryl is an over-the-counter antihistamine.
 Prednisone is an immune system suppressant.
 The rash was gone in a couple days
 So I had some reprieve to work
 Two days later, I came down with pneumonia
 and spent another week on the couch,
 literally unable to breathe if I were to sit up.
 After a week of breathing treatments, the taste of which I still can't rid myself,
 I ended up here.
 Rest assured, I'm still working on the thing.
 And compile speeds are already significantly faster, from what I can tell.
 Features include faster compile, and a system I'm calling 'Post-Compile Script'
 which will allow for additional compiler parameters such as amazing asm-level optimization thanks to GCC,
 as well as the ability to strip (cut down in size) (still thanks to GCC) and protect your executables before and after sprites are added (This'd take an external program, which you could add to the list of things to call after compilation and before resources are appended).
 So yeah... Sorry I disappeared for two weeks, but I wasn't exactly enjoying my stay at a health spa or anywhere nicer than Ohio.
(I use WLM 9 beta in case you're wondering how so many lines are possible in a single message)

About me:
Uhh, yeah, procrastinating about the site again, and thing's aren't working so I'm annoyed about that. I was working on this. I don't know how this is going to work out; the server is giving me errors when I try to run any SMF's install script (in the edc folder)... there's no .htaccess file there as far as I'm concerned, and /www/.htaccess doesn't have anything referring to /www/edc/ sooo... yeah. I guess I'll need to figure out something else then.



So there, your explanation for why neither of us have done any or much work on what we were supposed to do. Serprex, put your sharp stick away.

Joshedit: I left out some details while I was talking to a2h, which would lead to scratched heads later on. So I added them in to the end. ...I don't care how that sounds, I'm back and breathing and that should be good enough for you people. *angryface*

PatchA
By Josh @ Dreamland | Posted August 09, 2008, 01:39:42 PM

So I fixed a lot of the surprise errors from yesterday. The important part is that it held up to basics and showed the improvements to the compilation process. There are still improvements to be made regarding the size and speed of compile.

For now, however, you can download a patch which fixes several errors, including object. and global., as well as transparency. There are a few more fixes to be made, but that will be done as we are able.

Also, place_free checks solidity now. LGM may have a problem conveying an object's solidity, so place solid=1; in the create event until that is resolved.

An automatic updater is planned, and in progress, but isn't available quite yet.

Download the Patch

Disorder
By Josh @ Dreamland | Posted August 09, 2008, 12:46:20 AM

Well, I can say with some certainty that I've never released something just right the first time, in my entire life.

However, bare with us. At the last minute, we noticed a few things that weren't working, and scrambled to make them do so. This kind of thing generally leads to more mess.

I don't want to spend much time preaching about it, however, tomorrow a patch will be released to fix the majority of the known problems. You'll notice that ENIGMA-R2 has an a at the end. This is because it took me five minutes to realize I'd done something wrong there and reupload.

Tomorrow I'll sort out some of the rest of the stuff. The worst of it includes some borkage with place_free, an explanation for which can be found here:
http://edc.enigma-dev.org/index.php?p=blog&id=33

draw_text will hopefully be reimplemented, global. and object. will work again, and the world will be happy.
All of these, along with LGM's importation of build mode edits, were broken without anyone realizing it. This kind of thing is forgivable with such a huge project, right? Tongue

The version you have now is still somewhat usable, but tomorrow we'll patch the holes.

(Disclaimer: I could be lying)

Note: Some of you may have found that you downloaded R2 from SourceForge. We apologize. I'm not telling you whose fault that is, so THERE.

Anyway, I haven't slept in two days. Which probably doesn't help the disorder, so if you'll forgive me, I'm going to try that.

Enigma R3 Released
By Zekian | Posted August 08, 2008, 08:08:08 PM

Enigma R3 has been released, Get it here:

Zips:
Enigma R3 With Core Zip
Enigma R3 Zip
Enigma Core Zip

7z:
Enigma R3 With Core 7z
Enigma R3 7z
Enigma Core 7z

a2hedit:
http://enigma-dev.org/dl.htm

Note:

If there's one thing I'd like you all to know, it's that this is still an alpha, even though it seems to be stable. It still has a lot missing, and still could use some debugging, but it will not catch or freeze to my knowledge.

Please work with us. Test what we have, and try to find and isolate any problems. R4 is the next huge release, but updates will be given on an as-needed basis.

Big Note:

If the compiler immediately returns -6, download the core and install it properly.
Biggs:
Linx are fixed.

Joshedit

Let me also encourage users to join the forums. They will be totally merged soon, and I would appreciate the traffic.

If you are having any problems, please thoroughly read this first.


If after reading this, you still have a problem, PLEASE submit a bug report. I am still and always paranoid about the first 3 days of a release.

Okay all, Josh here. Gonna give you all some probably well needed info on the release.
First note that the progress page on this site is, as usual, out of date. All functions can be found in fnames.txt.

I'll update this topic as I type, so keep refreshing till I say not to. (I'm going to forget to tell you to stop, just so you know)

For starters, welcome to the official alpha for ENIGMA. It was made public because I take everything public, because it's open source.

If you downloaded the thing as soon as the link appeared, you may need to know the CORE has been uploaded to.

The core is GCC, and only needs to be downloaded once. It will remain static throughout. The core does contain two files that not every GCC download will come equipped with, so you may need to download even if you already have GCC. (This has not changed since R2, so no need to redownload if you can just patch R2)

On the topic of patching R2, simply delete ENIGMAsystem\SHELL and the contents of the folder above ENIGMAsystem. (not including ENIGMAsystem itself, of course), then unpack the 7z or zip file in the top level.


If you are downloading the core fresh, extract it right to ENIGMAsystem.

==

Now, I never write release notes, but here are a couple:

1) Be advised, Build Mode's undo and redo appear to not work. This is because I totally neglected to do anything about them. However, everything else there should work. You resume by pressing "ENTER". I will get right to work on adding a resume button as well as adding the functionality behind undo. Fact is, no one's ever really needed them yet.

2) Sorry Linux users, I had to postpone the Linux and Mac distro. It should work sometime tomorrow or late tonight, but I can't promise the release date yet.

3) I know a lot of GM users tend to adore the function place_free(). As such, it is one of three operable collision functions for this release. (The other two are collision_point and collision_bbox_rect(). ) Also, no collision event has been added yet: please test out place_free for general purposes, then assuming that goes well, we will add in the collision event.

4) It has come to my attention that LGM's color coding for functions may be borked. That will also be fixed shortly

5) The release is still missing lots of resources. However; with(), scripts, and most other aspects of the scripting language have proven to work. Additions include cpp{}, asm{}, and typenames. global has a few bugs, which have totally dumbfounded me, but once more, that will be online shortly. Also, switch() is totally untested. Meaning it probably doesn't work, though it should at least compile.

6) show_message() is implemented. draw_text() is broke. external_define() will take more research than I could do for it so far, but should be in relatively soon.

7) It is not recommended that you try converting an existing game at this time.

Extended information:

R3 adds a collision system, and much needed stability to R2. It has not had much forward progress, aside from Build Mode, but has had a lot of reconstruction on the inside. A lot has been reorganized.

In fact, I doubt a single line of code is in the same place as it was in R2.

A lot of last minute renovations were made before the release.

R4 will contain many, many more functions than R3, and I intend to support at least seven of the nine GM resources. Along with DLLs, when I figure out that system.

If you have any problems, please do not hesitate to post a bug report.




Download ENIGMA now!

Go to ENIGMA's community!