Pages: 1 2 3 »
  Print  
Author Topic: New Interests  (Read 7111 times)
Offline (Male) Josh @ Dreamland
Posted on: April 01, 2010, 12:48:16 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2958

View Profile Email
As you can plainly see, the interests of this community have changed from software and game development to unicorns. As such, the ENIGMA project has been discontinued, effective immediately. For the third year in a row.

Okay, enough of that now. On to serious matters.

Upon further consideration, it has appeared to me that C++ just isn't right for ENIGMA; despite my best efforts, I don't think I can pull off all the things Game Maker does without a better system. Specifically, one with such goodies as dependent typing and a good garbage collector, so users can use ds_list_create and just forget they did so without worry, and so late at night when it's hard to keep track of what I'm doing, I'll be fine. I won't have to fear that I've made a mistake in my coding; something else will let me know or just take care of it for me. We all want that, right? Switching to a better language could definitely improve development speed, in that respect.

Besides, it's time to give the project's organization some serious rethinking. POD has become, though efficient, too confusing when looking at the bigger picture: we're better off calling things by reference. Doing so makes sense, and will help the garbage collector and any debugging implementations as well.

I was looking at C# or Java, maybe even with some Haskell. All of those languages are gaining popularity quite quickly; chances are they'll work on all the platforms we want ENIGMA to compile for within the next ten years. Those languages don't each offer all of the features I mentioned above, but they'll make mine and users' lives easier.

Think about it:  With their garbage collectors and referencing systems working for us, you can just create a ds_list, forget about it, and in a few steps, it'll just be gone! To ensure that users don't accidentally reuse a destroyed list, the integer-id (probably between 0 and 20) will cease to exist along with it, meaning you can no longer set any variables to it. So, if you said, for example:

a = ds_list_create();
ds_list_...

But then just stopped using "a"'s list for a while (like if you had it in an alarm that was taking a really long time to execute and so probably never would), list 1 would be freed. So what would happen if you were to pass "1" to ds_list_find again? That's the beauty: You can't! When list "1" is freed, so is the constant "1" from the game. That means that from now on, you can't use "1" anywhere in your code, and ENIGMA will make sure that you don't accidentally add anything to obtain "1". Also, make sure not to divide by it, as doing so may cause an error (don't worry though, each of these languages has great exception handling).

This can be accomplished by keeping everything stored as pointers, especially constants. Instead of "1" just being an integer in memory, it will be an integer pointing to an integer, and then another integer to verify that our integer points to an integer. Simple, yes? Efficient, too: modern processors are making it so no one will even notice the effects of doing so.

I haven't seen any Java games for Wii, yet, but maybe they could be played through the Wii's browser. On the other hand, I have seen one C# program for the Wii, and I'm sure it has reached shelves of hard-core gaming fanatics everywhere; just look at it. Although I don't think development with C# for non-Windows systems will be supported by Microsoft, they have agreed not to sue for it.

Because of that, C# is looking like a really good option. Plus, using C# would give us access to Microsoft's powerful .NET framework on Windows, which end users would simply have to download. It's only a few hundred megabytes. The Mono team has been working very hard to get that framework running on other operating systems, too; it should be mostly supported.

I can't wait to hear your comments on this. I feel we'll need a new logo to go along with it, possible something with gears and happy faces.

XOXOXOXO
<3<3<3
something about unicorns
« Last Edit: April 01, 2010, 12:58:01 PM by Josh @ Dreamland » Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) retep998
Reply #1 Posted on: April 01, 2010, 01:28:02 PM

Member
Location: Where else?
Joined: Jan 2010
Posts: 248
MSN Messenger - retep998@charter.net AOL Instant Messenger - retep998 Yahoo Instant Messenger - retep998
View Profile Email
If you are sensitive to bad language please skip this post.




YOU ARE A FUCKING IDIOT!!!
WHAT THE FUCK HAPPENED HERE!!!
"ENIGMA will make sure that you don't accidentally add anything to obtain "1""
ARE YOU FUCKING RETARDED???
DON'T DO THIS JOSH!!!
Logged
Offline (Male) Josh @ Dreamland
Reply #2 Posted on: April 01, 2010, 01:30:00 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2958

View Profile Email
YOU ARE A FUCKING IDIOT!!!
WHAT THE FUCK HAPPENED HERE!!!
"ENIGMA will make sure that you don't accidentally add anything to obtain "1""
ARE YOU FUCKING RETARDED???
DON'T DO THIS JOSH!!!

Well, it's the only way, since GM doesn't offer any method to distinguish between integer and pointer, only loosely between instance and object.
Also, Java doesn't have pointers, and C# makes you ask sternly for them.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) Game_boy
Reply #3 Posted on: April 01, 2010, 01:35:13 PM
Member
Joined: Apr 2008
Posts: 228

View Profile
Unless you guys are all very good at acting, do you not realise this is another April Fool's joke?
Logged
Offline (Male) retep998
Reply #4 Posted on: April 01, 2010, 01:37:04 PM

Member
Location: Where else?
Joined: Jan 2010
Posts: 248
MSN Messenger - retep998@charter.net AOL Instant Messenger - retep998 Yahoo Instant Messenger - retep998
View Profile Email
Unless you guys are all very good at acting, do you not realise this is another April Fool's joke?
Hey, don't ruin the damn effect.
I'm busy pretending to flame Josh for his idiocy.
Logged
Offline (Female) IsmAvatar
Reply #5 Posted on: April 01, 2010, 01:38:48 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 886

View Profile Email
Actually I've been working with him on this. We also discovered it'd be a lot easier to call enigma from Java if it's C#, due to language similarities and the abundance of tools for such a popular language.
I think the "lazy" aspect of garbage collection is just one minor inevitability that really doesn't damage the language that much, compared to all the great things that will come out of it. Not to mention, with the G1 series of garbage collection, it's finally getting to a point where it's comparable to scope. Besides, GM never had a free() function.
Logged
Offline (Male) Rusky
Reply #6 Posted on: April 01, 2010, 02:18:37 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Garbage collection just shifts the work from allocation to deallocation, and it never deletes objects that you can still access. Basically, GC is perfectly fine. The laziness argument is full of crap- C++ itself does tons of things for you, like managing stack-allocated memory, object constructors and destructors, evaluating expressions, etc...
Logged
Offline (Unknown gender) Micah
Reply #7 Posted on: April 01, 2010, 02:30:02 PM

Resident Troll
Joined: May 2008
Posts: 129

View Profile
Nice troll, except that you completely failed to grasp what garbage collection does, and with the laziness thing, you're Blub programmers claiming that using Blub makes you a real programmer.

Directed at Josh and his little friends.
« Last Edit: April 01, 2010, 02:51:51 PM by miky » Logged
Offline (Unknown gender) luiscubal
Reply #8 Posted on: April 01, 2010, 02:50:00 PM
Member
Joined: Jun 2009
Posts: 452

View Profile Email
C# *is* better than C++ in many ways.
However, it was so obvious that this was an April Fools.

Anyway, you can write apps for iPhone in C#. I think they were working on Android too. Not sure about DS.
Android is really easy to target if you use Java, though.

Hey. I have a better idea. What about HTML+JavaScript+Canvas? :D

Also, ENIGMA's point is to teach Fede-lasse to write C++? I thought it was to help game creation, but maybe I was wrong.
Logged
Offline (Unknown gender) Micah
Reply #9 Posted on: April 01, 2010, 02:54:21 PM

Resident Troll
Joined: May 2008
Posts: 129

View Profile
Also, ENIGMA's point is to teach Fede-lasse to write C++? I thought it was to help game creation, but maybe I was wrong.
You'd think that, wouldn't you? But since C++ is so much better than anything else out there in so many ways, especially productivity and safety, that Josh wants to enlighten everyone and bring them to it. He doesn't actually care about making a good game development environment, since C++ is already perfect!
Logged
Offline (Male) retep998
Reply #10 Posted on: April 01, 2010, 03:01:23 PM

Member
Location: Where else?
Joined: Jan 2010
Posts: 248
MSN Messenger - retep998@charter.net AOL Instant Messenger - retep998 Yahoo Instant Messenger - retep998
View Profile Email
EVERYONE WHO IS AGAINST ENIGMA USING C++ DESERVES TO DIE RIGHT NOW!!!
Logged
Offline (Male) Rusky
Reply #11 Posted on: April 01, 2010, 03:15:35 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
nobody qualifies for death by that, retep. stop.
Logged
Offline (Male) notachair
Reply #12 Posted on: April 01, 2010, 05:20:40 PM

Definitely not a chair
Contributor
Joined: Feb 2008
Posts: 299

View Profile
Hahahahahahaahahhaaahaahahahaahahahahahahaahahahaahaaaahahhah retep
Logged
Offline (Male) Josh @ Dreamland
Reply #13 Posted on: April 01, 2010, 05:58:19 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2958

View Profile Email
It's funny that no one here can tell who's trolling and who's being trolled. I knew when I posted it that Miky would get his britches in a tangle. Wasn't sure what would happen after that.

-And with his 666th post, he denounced the entire topic-

So yes, here's celebrating April Fool's, and my 666th post. Ahhh, good days.
« Last Edit: April 01, 2010, 06:09:24 PM by Josh @ Dreamland » Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) RetroX
Reply #14 Posted on: April 01, 2010, 06:41:50 PM

Master of all things Linux
Contributor
Location: US
Joined: Apr 2008
Posts: 1055
MSN Messenger - classixretrox@gmail.com
View Profile Email
Java and C# are incredibly inefficient garbage collectors.  You should try Lisp; it's loads better at that.
Logged
My Box: Phenom II 3.4GHz X4 | ASUS ATI RadeonHD 5770, 1GB GDDR5 RAM | 1x4GB DDR3 SRAM | Arch Linux, x86_64 (Cube) / Windows 7 x64 (Blob)
Quote from: Fede-lasse
Why do all the pro-Microsoft people have troll avatars? :(
Pages: 1 2 3 »
  Print