Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - IsmAvatar

Announcements / Re: Happy New Year
« on: January 02, 2010, 03:03:25 am »
add $year $year 1
beq $year 2012 END_OF_THE_WORLD

Issues Help Desk / Re: Compiling on Linux... Possible?
« on: January 01, 2010, 02:07:19 pm »
freezway: Enigma's "interesting error" means that it wasn't able to find a certain file of defined function names and such. Josh is hoping that the major changes in R4 will provide a more dynamic way of handling things like that.

General ENIGMA / Re: State of the project
« on: December 17, 2009, 06:36:29 pm »
Yes, I should have mentioned that you will basically be sitting on top of a plethora of tools to design 3d games without needing to rely on a dll. But if you insist on using a dll, you'll need the above conditions to be met.

General ENIGMA / Re: State of the project
« on: December 16, 2009, 09:29:59 pm »
That depends on a few things.
1) That enigma allows external libraries such as dlls. Of course, you can just write your own C code for importing the library
2) That the external library has no GM-specific dependancies, such as trying to access GM's memory structure, or depending on GM's window construction.
3) That your operating system supports the format of the external library. For example, DLLs are windows specific, and would usually need recompiling for linux. That said, provided you're using it on Windows and it's a dll, this requirement is met.

Provided those three requirements are met, I would say yes.

Tips, Tutorials, Examples / Re: draw_healthbar() function
« on: December 08, 2009, 01:14:19 am »
I think the progress page is pretty outdated. Josh is making the CFile parser largely so that he can automate the progress page.

Issues Help Desk / Re: current svn trunk build is NOT SAFE TO USE.
« on: December 06, 2009, 01:38:29 am »
I use GNOME 2.28.1 on Ubuntu 9.10, and also experience this problem. It is a problem with specific versions of the X server, as far as I'm aware, which is pretty much independent of Gnome and Ubuntu - in fact I've kept the same Gnome and Ubuntu versions and had my computer do an xserver upgrade during Ubuntu's routine upgrades from time to time.

Issues Help Desk / Re: current svn trunk build is NOT SAFE TO USE.
« on: November 30, 2009, 10:14:14 pm »
This problem is Java/LGM-side, not enigma-side. It's a known problem between X and Java.

Announcements / Re: Trunkification (svn rearranged)
« on: November 30, 2009, 10:10:39 pm »
LGM development has paused for a while, since Quadduc and Clam have pretty much left it alone, and I've been busy doing schoolwork (had a very intense semester) and helping out with Enigma. Once Enigma gets closer to release, I'll also put the finishing touches on LGM to get the 1.6 release out. For now, though, the latest versions should be suitable and stable enough for whatever you plan on using it for. If you find any bugs or areas needing improvement, don't hesitate to report them to me and I'll see to it that they're fixed as quickly as possible.

Basically, it's not dead, it's ready. We're just waiting for Enigma before we move forward.

Announcements / Trunkification (svn rearranged)
« on: November 29, 2009, 03:15:02 pm »
For those of you who have been keeping up with or checking out from the SVN (all 3 of you...), as of r51 there's been a small change which should be a welcoming move to anyone who's ever used SVN before. We've split Enigma up into trunk, tags, and branches.
This move came after we realized that serprex was apparently trying to create a branch but we didn't have the t/t/b structure in place.

What this means:
> If you don't use the SVN, this means nothing to you.

> If you checked out from the SVN already and do a regular svn update or svn commit, you will need to do a one-time svn switch
> svn switch

> If you wish to check out a fresh copy of enigma from the SVN, you'll need to append /trunk to the URL.
> svn co enigma-dev

> If you wish to work on or check out the branch that serprex seems to want to work on, you can do an svn switch to the branch:
> svn switch

What are branches, tags, and trunk?
Developers sometimes like to copy the entire project to a few locations so they can keep backups or work on changes without screwing up other parts.
A Tag is a stable copy. This is usually used to tag releases and betas with specific revisions. There can be multiple tags, and they are usually pretty stable, and usually don't change.
A Trunk is the main copy. This is where all the main development goes on. There is only one trunk, and it is moderately stable/unstable. Usually for stable versions, you will be recommended to a specific revision number.
A Branch is a specific development copy. When someone wants to try an experiment or implement a new big feature, they will oftentimes create a branch and work on it there, so that they don't disturb the main development (trunk) with their changes until they are done, and they merge it back with the trunk. There can be multiple branches going on at once, and they are usually quite unstable.

More advanced things:
> Creating new branches, or merging the existing branch back with the original project, should be as simple as calls to svn copy and svn merge, respectively. The SVN Book should be a handy resource here, particularly the chapter on Branching and Merging:

These changes and their explanations courtesy of

General ENIGMA / Re: C++ Socket Based Networking
« on: November 23, 2009, 06:45:52 pm »
Does that mean it won't be directly compatible with mplay_ ? As in you can't just load any old Game Maker game into Enigma, hit compile and have it function the same? Because I thought that was the point.
As my code stands, mplay_ will remain in the set of "currently unimplemented functions, aka TODO", while there will be a functional set of alternative online functions using my library to achieve the ends. How mplay is implemented ultimately is of no interest to me - I just wrote my code on my own set of functions, and if someone wants to wrap mplay into my functions or wants to do a serious rewrite or re-implementation of DirectPlay for porting to mplay, then more power to them, but it's beyond my scope.

I'm sure there're people who'll modify it for you down the track anyway

What exactly do you mean by "lower level" than mplay_? I thought mplay_ was about as low level as it got (including low quality <_<)
Low level in software terms refers to how closely to the hardware level you are, and high level refers to how abstracted or detached from the hardware level you are. For computer languages, PHP and Java would be considered high level languages, whereas C and ASM would be low level languages. In terms of networking, you can consider the entire stream of individual bits as they go through the tubes, including your own code determining where the bits go (which is very low level). Or you can consider "Protocols", which is a predefined arrangement of bits that computers all agree on to use for networking. Protocols, then, are a higher level than individual bits. Even within protocols, you have lower level protocols, like IP, which is a very basic definition of how bits are sent in a packet-like fashion (so we're looking at bunches of bits, or packets, rather than each individual bit in the stream, and each packet contains a set of information like who it's headed to). On top of IP (that is to say, higher level), there's two primary protocols of TCP and UDP, which basically define how computers try to compensate for packets that get lost or damaged along the way. On top of each of those are a number of higher level protocols like HTTP, FTP, SSH, etc, which define how data inside those packets is formed for specific kinds of communication. Another kind of protocol, kind of along the same lines as HTTP and FTP and such, is DirectPlay, or an online game handling library for Direct X, which builds off of both TCP and UDP to create protocols for handling game servers and game clients and handling more abstract concepts like online variables, sessions, and players. GM's mplay_ functions are built off of DirectPlay, so they are even higher level than DirectPlay. Unfortunately, DirectPlay is based on Direct X, is windows only, is proprietary, and worst of all, is deprecated. It's a very complex library of network related routines that I certainly would not want to rewrite myself. As such, I cannot write mplay_ functions. Instead, I went a couple layers down, down to TCP and UDP, and created my routines from there. I also made a couple wrapper functions that extended those routines into HTTP, FTP, and SSH protocols, mostly just for testing and personal purposes, but it was pretty easy to do. As such, whereas DirectPlay/Mplay is restricted exclusively to games, with my routines now you are allowed to communicate with webpages, online databases, and other things of that nature, or you can just use routines for game communication - it's completely open ended.

and if Ism doesn't do it himself

You are right though, someone will implement mplay_ on Ism's framework to do it anyway if they need it. mplay_ is a pretty poor setup anyway, no serious online GM game uses it.

General ENIGMA / Re: C++ Socket Based Networking
« on: November 22, 2009, 02:28:00 pm »
I wrote the networking code for Enigma, written in C using Socket for linux and WinSock for windows. It is very loosely based off of the mplay_ functions for GM, but will be a completely different function set and will be much more powerful (e.g. ability to connect to any web protocol, be it http, ftp, smtp, ssh, or just your own multiplayer protocol). As it stands right now, however, it's much lower level than mplay_, so it may be a fair bit more challenging, especially if you want to port the entire session/game/etc layout of mplay into your game.

Announcements / Re: Progress
« on: October 22, 2009, 08:41:20 pm »
use time(0) rather than clock(). clock tends to only update once every few seconds on unix. I noticed this when I seeded my random number generator with it and noticed that it would repeatedly generate the same sequence for a while.

General ENIGMA / Re: Problem with activating account
« on: October 21, 2009, 06:50:58 pm »
I believe it's a general purpose spambot, and it wants you to activate its account for it by clicking its link. That would probably allow it to bulk create accounts. That's just my theory. It could be using that link for dozens of other purposes, though.

Announcements / Re: Second time
« on: October 09, 2009, 04:26:46 pm »
The .LIB format is a testament to the collective lack of programming skill.
For lulz, compare .LIB to .LGL.

Anyway, for those who are here for ENIGMA rather than political and economic views, this is progress:
I'm actually here for the politics and economics.

General ENIGMA / SourceForge updates
« on: October 08, 2009, 04:31:37 pm »
As of this posting, Enigma is hosted on SourceForge.

Recently, SourceForge added OpenID support, and just today they released GoogleID support. Which means that for those of you who have an account at google or gmail, that is your GoogleID.

I think I screwed up, because it's not working quite right for me.

Anyways, this is exciting news for anyone who's been following OpenID.