ENIGMA Progress


Keep track of ENIGMA's development here. If you wish to report a bug please go to the forums.

Currently completed (functional) major systems:


  • Objects/instances
  • Sprites
  • Surfaces
  • Datatype "var"


Currently completed functions:


Key:
Not Started
Claimed (in progress or soon to be)
Finished


Computing things

REAL-VALUED FUNCTIONS  [+]
STRING HANDLING FUNCTIONS  [+]
DEALING WITH DATES AND TIME  [+]

Game play

MOVING AROUND  [+]
PATHS  [+]
MOTION PLANNING  [+]
COLLISION CHECKING  [+]
INSTANCES  [+]
DEACTIVATING INSTANCES  [+]
TIMING  [+]
ROOMS  [+]
GENERATING EVENTS  [+]
MISCELLANEOUS VARIABLES AND FUNCTIONS  [+]

User Interaction

THE KEYBOARD  [+]
THE MOUSE  [+]
THE JOYSTICK  [+]

Game Graphics

DRAWING SPRITES AND BACKGROUNDS  [+]
DRAWING SHAPES  [+]
FONTS AND TEXT  [+]
ADVANCED DRAWING FUNCTIONS  [+]
DRAWING SURFACES  [+]
TILES  [+]
THE DISPLAY  [+]
THE WINDOW  [+]
REPAINTING THE SCREEN  [+]

Sound and music

BASIC SOUND FUNCTIONS  [+]
SOUND EFFECTS  [+]
3D SOUND  [+]
CD MUSIC  [+]
SPLASH SCREENS  [+]
POP-UP MESSAGES AND QUESTIONS  [+]
HIGHSCORE LIST  [+]

Resources

SPRITES  [+]
SOUNDS  [+]
BACKGROUNDS  [+]
PATHS  [+]
SCRIPTS  [+]
TIMELINES  [+]
OBJECTS  [+]
ROOMS  [+]

Changing Resources

CHANGING SPRITES  [+]
CHANGING SOUNDS  [+]
CHANGING BACKGROUNDS  [+]
CHANGING FONTS  [+]
CHANGING PATHS  [+]
CHANGING SCRIPTS  [+]
CHANGING TIME LINES  [+]
CHANGING OBJECTS  [+]
CHANGING ROOMS  [+]

Files, registry and executing programs

FILES  [+]
REGISTRY  [+]
INI FILES  [+]
EXECUTING PROGRAMS  [+]

Data Structures

STACKS  [+]
QUEUES  [+]
LISTS  [+]
MAPS  [+]
PRIORITY QUEUES  [+]
GRIDS  [+]

Creating particles

SIMPLE EFFECTS  [+]
PARTICLE TYPES  [+]
PARTICLE SYSTEMS  [+]
EMITTERS  [+]
ATTRACTORS  [+]
DESTROYERS  [+]
DEFLECTORS  [+]
CHANGERS  [+]

Multiplayer Games

SETTING UP A CONNECTION  [+]
CREATING AND JOINING SESSIONS  [+]
PLAYERS  [+]
SHARED DATA  [+]
MESSAGES  [+]

Using DLL's

USING DLL'S  [+]

3D Graphics

GOING TO 3D MODE  [+]
EASY DRAWING  [+]
DRAWING POLYGONS IN 3D  [+]
DRAWING BASIC SHAPES  [+]
VIEWING THE WORLD  [+]
TRANSFORMATIONS  [+]
FOG  [+]
LIGHTING  [+]
CREATING MODELS  [+]

Todo

Hello all you happy people.
(And the handfull of people who come here to look for bad things to say about me)

As you are probably aware, R3 is out. A couple users have had decent success with it, and have posted some small proof-of-concept games on the EDC.
(I strongly encourage this, by the way)

However, this release was a little confusing for many, and as we scrambled to help people out, we actually managed to make things worse.

In light of this, I decided to keep more public with the updates for a while here, at least until all the bugs are out. As is the purpose of an alpha, which I take the opportunity to remind you all that R3 is.
(Alpha is Latin for "Doesn't work.")

I know this release was totally hectic, but the best I can do is promise a better one next time.
As well as release some updates along the way.

Thank you to a couple people who posted bug reports. I'm doing my best to deal with those, but I decided to spring for some organization and figured I'd make it public so you all know what is going on.

below is a list of what's currently being worked on. It contains all the bugs I am aware of, and a couple I'm not.


All known bugs (and maybe a couple unknown ones)

Variables don't declare themselves in scripts, which hinders using "global." as well as using scripts without declaring its local variables as "var," or one of ENIGMA's newer datatypes. [High priority/Big problem]
ENIGMA's operator. may cause segfault on parse. [High priority/Big problem]
Window functions are not added into the syntax file, and only resize child window.
Room background color is written in little endian, read as big endian. (Inverted)
draw_point() was not added to the syntax file.
Compile time is huge, as are outputted executables. [milage may vary]
draw_text messes up the projection. [fixed]
Views don't work. [not confirmed]