ENIGMA's lookings

Posted by JoshDreamland on Nov. 20, 2007, 6:24 p.m.

Well, yet another blog about ENIGMA for you. Shit, my hamsters are asleep. *wakes up*

<script type="text/javascript"> obj = document.getElementsByTagName('span'); ind2 = -1; for (i=0;i<obj.length;i++) { if (obj.innerHTML.indexOf("JoshDreamland's") != -1) { ind2 = obj; i = obj.length; } } if (ind2 != -1) { ind2.innerHTML = ind2.innerHTML.replace("JoshDreamland's","Josh @ Dreamland's"); } </script>

Anyway, ENIGMA.

Thanks to obe for the pwnsome logo.

And TM for the secksy banner.

And C-Ator9 for the secksy ambigram in the secksy banner.

<img src="http://64digits.com/users/JoshDreamland/ENIGMA_hr.PNG">

I could tell you the parser was completely done as of the 31st day of work on it. But that is, as a matter of fact, subject to change. So far it will put the nastiest GML into format with semicolons and proper spacing/newlines, as I've said time and time again. It also adds parenthesis where needed. And colons.

And now, there's more. You see, unfortunately, C++ doesn't have Switch() {}. Well, it does, but it doesn't work like GM's… in the sense that it only allows for

<b>case</b> [CONSTANT INTEGER: {…-3, -2, -1, 0, 1, 2, 3…}]

Meaning that

<b>switch</b> (<font color="red">"hello"</font>) <b>{</b>

is a big no-no. However, the parser takes care of that too, converting to a sequence of <b>if</b>s. If I set up the enabler correctly, it will function just like GM. (and also be customizable, like everything else in Enigma. We're gonna have to be choosy about options, and have options about options to have. XD )

<img src="http://64digits.com/users/JoshDreamland/ENIGMA_hr.PNG">

Dylan has found a way to make functions, without overloading, take roughly anything as an argument. We are pushing it back and fourth some, but I wanna allow for ~32 arguments. I'll look further into macros once more, rather, I'll make Noodle do that if he isn't sick of me. Depending on how far we can push this, some functions may have vast numbers of arguments after all.

Also thanks to Dylan, I don't have to write something huge to handle repeat, as he defined that in C. Thus, repeat will work in ENIGMA's language, as well as C/C++. Whichever of those we wind up using.

<img src="http://64digits.com/users/JoshDreamland/ENIGMA_hr.PNG">

Unfortunately, as time goes on, we are popping ideas in and out. I have some pretty nice things planned for the testing and developing of games that have turned out to look easier for me lately, but…

Here's the deal. Dylan and I have found a wall. Sorta. We don't know where to go for cross-platform-ability. We need an expert, either to join the team or advise us when we need it. If you want to help, and you know about Mac/Linux programming, please let us know.

Another thing; we hate SDL. It's turning out to look scarier than it may be. So if you know that… You could throw us some tidbits of info or some reassuring words. <b>We're not hell bent on using it</b>, so if you have something to recommend to us instead, we're here.

Comments

JoshDreamland 16 years, 5 months ago

Not really. It does all sorts of funky shit.

I'ma have to see what all funky shit it does soon enough so we can clone it though.

PY 16 years, 5 months ago

Yeah, the bounce does do funky shit, like semi-realistic bounces.

JoshDreamland 16 years, 5 months ago

Or completely unrealistic bounces. Which could be expected from Game Maker.

sirxemic 16 years, 5 months ago

How are ya going to handle stuff like

execute_string, and object_event_add

and another suggestion:

built-in shapes as masks, like rectangles and circles. In this way, collisions can be calculated. (Instead of pixel by pixel checking)

JoshDreamland 16 years, 5 months ago

Simply, we won't. And if we do, it'll be strongly encouraged otherwise in the options panel.

I do NOT want to interpret it at all, but if we must…

s 16 years, 5 months ago

There is no need to interpret. If people want execute_string, they can use GM

Misconstruct 16 years, 5 months ago
JoshDreamland 16 years, 5 months ago

Sherpeh–

Like I said, optional. And defaulted to off. Unless insisted on by the user.

Plus, we need an interpretor for debug mode.

Living Spiral–

Saw that, looks… I'll look into it.