ENIGMA Development Environment
Website is in read-only mode due to a recent attack.

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 - Josh @ Dreamland

Issues Help Desk / Re: Installation Failure
« on: September 01, 2011, 07:03:58 PM »
Possibly. For those who are on Windows, of course.

What seems to have happened is one of the MinGW devs broke something in an update, so all new installs are affected. Ideally, said developer should have it fixed soon (if not by now). If uninstalling and reinstalling doesn't fix it, one of us will have to file a bug report on it. I can do that for you, if you like.

Off-Topic / Re: GMHTML5 Alpha
« on: August 29, 2011, 03:01:18 PM »

Issues Help Desk / Re: Installation Failure
« on: August 27, 2011, 01:12:50 PM »
Unfortunately, that's not the same issue dazappa had. It's an issue with MinGW; I don't know why it afflicts you and not anyone else. I'll need a bit to research it.

Issues Help Desk / Re: Installation Failure
« on: August 27, 2011, 10:20:05 AM »
I don't know what to make of that scrollback because it doesn't contain any make errors. Is that the terminal or LGM console scrollback? redirfile.txt contains the compiler's complete output, including errors. All that was in that paste was my printing.

Would you mind pasting redirfile.txt here?

One other person had this many issues installing ENIGMA. It's possible you are affected by the same bug, for which he has a local fix.

Off-Topic / Re: GMHTML5 Alpha
« on: August 26, 2011, 10:50:50 PM »
Fucking damn, they finally thought of EGM. Six months after I thought of it, and six months before IsmAvatar will ever. fucking. implement it.

Why do I even bother? Fucking damn it, we were supposed to pave the way for this particular innovation. We just lost a huge advantage that we could have had months ago if Ism would fucking do things I ask of her.

Anyway, that's fine. We'll just rob them of HTML5. My event implementation is done, and the parser is adequate thanks to the dynamic nature of JavaScript. It's ready to be hooked up whenever. I'll work on colored vertices and then input functions next so we actually have something to show.

Off-Topic / Re: GMHTML5 Alpha
« on: August 23, 2011, 09:49:40 AM »
All right, I'm committing.


Count me in.

Announcements / Re: Ludum Dare
« on: August 22, 2011, 04:55:21 PM »
HaRRi: that's the behavior I question above. "Does instance_count grow with each create event at room start in GM as it does in ENIGMA?"

If not, I can update that to do allocations first. Otherwise...

Announcements / Re: Ludum Dare
« on: August 22, 2011, 01:51:39 PM »
You know what else I was going to add?

Code: (C) [Select]
string string_list(const enigma::varargs& x, string sep) {
  string res;
  for (size_t i = 0; i < x.argc; i++)
    res += toString(x.get(i)) + sep;
  return res;

string string_list(const enigma::varargs& x) {
  return string_list(x,", ");

string string_list_ext(string sep, const enigma::varargs& x) {
  return string_list(x, sep);

the header being this:
Code: (C) [Select]
string string_list(const enigma::varargs& x);
string string_list_ext(string sep, const enigma::varargs& x);

Announcements / Re: Ludum Dare
« on: August 22, 2011, 01:15:03 PM »
Point taken, HaRRi. I don't mind doing that today.

Polygone: I know control-click moves. I said I wanted drag selection: drawing a rectangle to select multiple instances to move. I found myself wanting to move around large structures in my game, and that wasn't easy with the current featureset. The room zoom also doesn't go very far, in or out.

1) That's bad. Global is supposed to contain a copy of each dot-accessed local; I'd best give that a look, too.
3) I forgot about that. The sound system needs work in general. The codecs need moved to ../Codecs/...
4) That's odd, considering object creation code isn't implemented at all anymore.
5) Yep, I'll deal with that one.
6) I don't experience this problem, but I'm glad you found a workaround. We'll deal with that later.
7) Yeah, I need to redo that. TGMG didn't spend much time on it.

Announcements / Ludum Dare
« on: August 22, 2011, 02:04:12 AM »
So today concluded the 21st Ludum Dare competition. I didn't make this public due to the fact that it was a last-minute decision made twelve hours into the 48 hour contest, but I decided to enter. Dazappa did as well.

Here are our games:
Dazappa's Crystal Conduit
My own Cave Escape

Okay, so my title's not that creative. Nor is my game itself, really. Point is, the two of us entered this competition.

For those who are unfamiliar, the Ludum Dare is a 48 hour game making competition. Competitors are given precisely that long to develop and "perfect" their games. Hence, my engine has serious physics and collision issues, and I imagine dazappa would have preferred more time, too. This year, with Notch from Minecraft participating, the server was so overloaded with interested peoples that they had to extend the deadline to give people a chance to wait out the server issues.

While, given the competition (especially this time around), it is astronomically unlikely for either dazappa or me to win, that was not the reason I entered (though I'd certainly not mind if one of us did win). I can't speak for dazappa, but I entered for three reasons,

1) To put ENIGMA to the test and show what it can do
2) To register a blip on the engines radar in the name of ENIGMA
3) As a learning experience for myself

At this stage, you'd think I wouldn't have that much left to learn about game design, right? Well, you're wrong, but that's beside the point. I wanted to learn not about game design itself, but game design in ENIGMA. Using only the features of ENIGMA a typical user would utilize, I discovered quickly a small number of bugs, quirks, and features that should be added. While most of the features I thought would come in handy were already planned, I did manage to come up with a few extras. Here is my list of discoveries made, bugs to fix, and features to add:

  • Any sort of iterator tampering in draw will kill you. Not just depth change; room change as well.
  • Initializers are ignored while parsing with() statements. For example, with (object) { int a = x; } will use x from the calling scope.
  • Script scoping is incorrect in with(). This->script() is used when ::script() should be instead (::script is a global copy that sets scope manually via with()).
  • LateralGM's highlighter and code editor in general suck. We should probably finish the one I mostly finished.
  • Multiple inheritance is a must for complicated games. Also, LGM has an inheritance loop checking issue in which the check seems to return parent->parent != null.
  • switch() {} doesn't coerce enums; this is an issue because switching sprite_index will be an O(N) operation unless you hard-code the IDs.
  • The instance creation codes in rooms should be bumped up in priority, and it should be easier to enumerate and manage those codes.
  • It's high time for ENIGMA array literals. And, well, a new type resolver so it can tell what's an array.
  • The room editor needs a way to drag select and move efficiently.
  • Design mode would really expedite platform gaming development, and a slow-motion feature should be added to it (something to quickly set room_speed.
  • Since the collision system depends on the positioning tier, which contains hspeed and vspeed, an option should be allowed to let the user control the two.
  • I found myself really wanting the planned "Overworld"/"Map" resource.
  • I've still not fixed local const.

Other issues: Does instance_count grow with each create event at room start in GM as it does in ENIGMA?

Other than that, I was mostly in a pissy mood at IsmAvatar, because I encountered about 60 problems that EGM would fix. No ++, no alpha channels in the default format (GM6) (This cost me another our of work), no way of declaring C-level globals.

Also, polygone's framerate fix fucked me a bit, because it only fixes it on his computer, and packing AL in with the engine made filesizes huge. Something needs done about those two, too.

At that, I'm tired. Good night.
If anyone else entered the Ludum Dare, do let me know.

General ENIGMA / Re: Stuph
« on: August 22, 2011, 01:11:10 AM »
It will be in the object editor. "It'll be backwards-compatible." I'll basically replace all user events with these member scripts under predictable names, have event_perform call those, and that'll be that.

Issues Help Desk / Re: Installation Failure
« on: August 21, 2011, 09:48:56 AM »
Why is this stuff happening? ;___;
I ought to rebuild the installer zip.

General ENIGMA / Re: Stuph
« on: August 21, 2011, 09:47:51 AM »

Anyway, what I haven't mentioned is that I'm dropping event_user in exchange for polymorphic member scripts. It'll be backwards-compatible, but there's a wait on that until Ism gets back and implements EGM.

You'll be happy to know it's at the top of my when-EGM-is-done list.

Issues Help Desk / Re: Failed to Compile at C++?
« on: August 21, 2011, 09:46:10 AM »
Many of the D3D functions are already implemented, but some are missing. Model loading is a big one. There's a list of available functions maintained in the Wiki, and also fresh if you go to ENIGMA->Function List.

I'm not sure why d3d_set_projection_ext isn't implemented. Maybe whoever was doing d3d lazied out. One of us will probably get it sooner than later, but if you know some OpenGL, you can implement the function yourself using C++ in ENIGMA's "Definitions" script under Settings, or even in the existing d3d sources.

The other function, instance_change, is on my to-do list. It requires an abstraction structure that can convert between each object type. No ETA on that yet, but I'll bump it up on my priority list.

Anyway, I've heard nothing but good news about the latest trunk, so I'm marking it as stable.

Issues Help Desk / Re: Failed to Compile at C++?
« on: August 20, 2011, 01:14:26 PM »
You could unzip a new copy of that installer and select "Trunk." Polygone and I are trying to get to the bottom of these installer issues; a number of people are having a hard time setting up ENIGMA, and we're trying to find a solution.

Your error is most likely caused by unimplemented functions. If it's a decent-sized GM project, chances are you've used a function no one has implemented yet.