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

biggoron 17 years, 1 month ago

OpenGL (with GLU) for graphics, GLUT for window management, event management etc., GLUI for user interface. For the love of God, don't segregate 2D and 3D mode as GM does. They are semantically identical, the only difference is the projection. OpenAL (with ALU and ALUT) for sound. Anything for networking, I don't have much experience with that. I generally use Raknet.

JoshDreamland 17 years, 1 month ago

^_^

Now THOSE were suggestions.

Tyranic-Moron 17 years, 1 month ago

Heh, that border was meant to be just a placeholder, but in the end I couldn't work out an easy way to make an icy border >_>

Anyway, sounds like it's going well! ^_^

JoshDreamland 17 years, 1 month ago

^_^

poultry 17 years, 1 month ago

MAKE IT SO YOU CAN PASS ARRAYS AS ARGUMENTS KTHX

JoshDreamland 17 years, 1 month ago

Hmm…..

DFortun81 17 years, 1 month ago

You can. xD

JoshDreamland 17 years, 1 month ago

I love you.

Must be the light playing off your seaweed again.

Gamer3D 17 years, 1 month ago

That's what ds_list things are for. Keeping track of arrays.

aeron 17 years, 1 month ago

Quote:
Dylan has found a way to make functions, without overloading, take roughly anything as an argument.
[:O]