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

Off-Topic / Re: Enigma as only Enigma
« on: July 15, 2014, 06:49:37 pm »
I understand the concern. It may hold some developers back, but those are the developers who would otherwise not be interested in ENIGMA, so the gain wouldn't be there.

Off-Topic / Re: Enigma as only Enigma
« on: July 15, 2014, 05:35:26 pm »
Thinking of ENIGMA in terms of GM is not useful. The goal of ENIGMA is to be a decent game engine first, and compatible with Game Maker second. If you can produce a good argument as to why the latter is bad for ENIGMA, then I am happy to hear it, but I believe you'll find that the cases you present are exactly the cases where we drop compatibility. There are many compatibility requests on the tracker marked as "Will not fix" for such reasons.

We maintain compatibility with Game Maker for a few key reasons.
  • First and foremost, Game Maker is a proven product. It's not the greatest, but it works, and we can learn from its successes as well as its failures. There are high counts of both, I promise.
  • Further, it's incredibly simple for children to learn. Developers here know this firsthand. I learned to write games in Game Maker 5 when I was around 12 years old. This goes for many others, here. There's just astoundingly little barrier to entry.
  • The API is virtually self-documenting. I know this isn't saying much when Robert has gone and documented all the functions on the Wiki, but did you really need to look up what [snip]draw_sprite(spr, subimg, x, y)[/snip] does if you actually know what a sprite is? It's profoundly obvious.
  • One of the most critical selling points of ENIGMA is also one of the least relevant to ENIGMA; I'm speaking of the way in which resources are presented visually. This behavior is where the bulk of functional similarity with GM originates, and it has nothing to do with ENIGMA. The only reason no one has coded an alternative is that no one here has the time required to dedicate to a new interface on top of the engine.
  • Lastly, Game Maker has a large following. By keeping compatibility where possible, we enable those users to not only switch over easily, but to contribute easily. We're an obvious choice for an upgrade.

That's all I really have to say on the matter. You could argue that conforming to GM's library is holding us back, but it isn't. We are free to add as many functions as we like on top of its own, and we do with some frequency. I could say more on that, but it's better to let people discover new limits on their own. Though... there technically aren't any.

Developing ENIGMA / Re: Command Line Interface
« on: July 15, 2014, 05:23:11 pm »
He is developing it on Windows, bgordebak.

Developing ENIGMA / Re: EnigmaFileFunctions repo
« on: July 13, 2014, 09:51:09 am »
Don't use carrier pigeons; use bricks.

Anyway, the problem here is, Linux offers shitloads of libraries. I can run [snip=bash]apt-get install libzip-dev[/snip] and, voila, I can now use libzip in my code. On OSX, libzip just comes with XCode, because, well, why wouldn't it? On Windows, there is NOTHING I can distribute to you that will enable you to install a compiler complete with libzip. I am going to have to build libzip into this mess just so Robert can use it on Windows. I hope it actually builds there. If not, we're all hosed.

My best course of action at this point is to modify the makefile so that [snip]make <target> libzip[/snip] builds a local copy of libzip along with the program. Otherwise, it's hopeless.

I know Robert talks like an 8yrld gangsta wannabe, but it doesn't mean you need to do it too.

Off-Topic / Re: animated gif avatars
« on: July 12, 2014, 04:12:45 pm »
Are you using Internet Explorer, or something? It renders fine in all of my browsers.

Yeah, tiles have not been optimized for quick searching, and are unlikely to be.

This makes me wonder how useful it would be if users could create collision meshes in the room editor.

Off-Topic / Re: animated gif avatars
« on: July 12, 2014, 04:08:57 pm »
I set it to a correctly-scaled version of the GIF you posted.

Off-Topic / Re: animated gif avatars
« on: July 12, 2014, 04:02:37 pm »
That's quite large, bytewise, for an avatar. I'll make an exception while the community is small, I suppose. I am able to shrink it to just over 600KiB by fitting it to the correct size, anyway. I'm also able to shrink it to 900KiB simply by encoding it with a non-shitty, non-Windows GIF encoder. But that's another story.

Developing ENIGMA / Re: EnigmaFileFunctions repo
« on: July 12, 2014, 02:49:15 pm »
The more I think about it, the more I realize that maintaining our own package manager will not help us. The missing element is collaboration on the part of individual projects. When ENIGMA "grows up" a little more, we'll end up maintaining our own packages for Debian, Arch, and RedHat. Thus, people on Linux will be able to obtain ENIGMA through their package manager if they add our PPA. This is a form of standardization that just isn't present on Windows. Microsoft offers MSI, but MSI doesn't let you say "you need to have MinGW installed first" and cannot, in fact, tell you where to get MinGW. What we need is a standard, and we have twelve different people competing to be that standard, including Cygwin. Cygwin is terrible; it is an incomplete, broken implementation of a standard Linux distribution, and it has next to zero community support. Sound familiar? We can't offer our own packages any better than they can. What we need is a call for standardization, not another competing package manager.

Tips, Tutorials, Examples / Re: Multitextured Terrain Example
« on: July 10, 2014, 09:24:00 pm »
Good lord. The sand is now beautiful, but that texture repetition is horrible. Can you write a custom sample function that computes perlin values per-point? Your grass looks like MS-paint spray art, and there's no reason not to just have it be procedural. :P

Forgive the harshish criticism; this could just be improved massively with one simple tweak.

Developing ENIGMA / Re: Iji on ENIGMA
« on: July 10, 2014, 09:20:00 pm »
Sounds good. Please keep us apprised of any more of these hacks that arise; it's good to have them in mind when designing backend components.

Off-Topic / Re: animated gif avatars
« on: July 10, 2014, 09:15:29 pm »
As a security mechanism, the server re-encodes all uploaded avatars itself. It prevents such feats as the attachment of non-image data to images. Unfortunately, this causes only the first frame of animations to be rendered. This is a known bug in the forum software we use. I am able to disable that security feature, but am generally inclined not to do so. Are you able to specify a link to an animated avatar?

Developing ENIGMA / Re: Iji on ENIGMA
« on: July 08, 2014, 11:20:43 pm »
Ah, so band-aid stuff. Though, as far as I know, image_single was implemented; I'm not sure when that changed. Probably when polygone decided to redo my subimage handling when he moved it. It's not difficult to support image_single; you just check if it isn't -1 before you add image_speed to the current subimage.

I am hoping that a new instance system will fix your second and third points. That's way down the road.

No comment on your fourth point.

Your final point, TGMG addressed in a regex replacer a while back. Good luck tracking it down, though. In the future, I intend to allow special handling of that in the EDL lexer. It's extremely easy, in fact; all you'll do is duplicate the default lexer and set [snip=cpp]keywords["try"] = TT_INVALID[/snip], then in the handler below, [snip=cpp]return token_t(TT_IDENTIFIER, "$try", filename, line, pos - lpos);[/snip]. A quicker (uglier) quick fix is just to use an ENIGMA-side #define. I.e, in definitions, put something like this:

Code: (cpp) [Select]
#ifdef JUST_DEFINE_IT_RUN // To be interpreted only by ENIGMA
#define try try_
#define catch catch_
#define time time_

Developing ENIGMA / Re: Iji on ENIGMA
« on: July 07, 2014, 07:50:51 pm »
Looking good; the tearing's a little disturbing, but you've made some great progress, it seems.

Could you enumerate the changes you don't want to push to ENIGMA? I'm aware of the "backslashes in paths" hack, but I believe proper macros will nip that issue in the bud down the road. I'm interested in knowing what else you changed, because I want to get macros, metaprogramming, and plugin scripting to be powerful enough for you to be able to enact those changes as part of the game file. I can't make any promises without knowing them, obviously, but having some time to think about them will certainly help.