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 - Goombert

General ENIGMA / Re: My 2 cents worth
« on: April 08, 2019, 10:14:39 am »
Quote from: Hugar
To the user it would seem as though ENIGMA is unstable when it is not.
To summarize the first half of your post, basically ENIGMA is rolling releases and your portrayal is an accurate description of software that follows such a release mechanism. As I said before, I am hoping that a stable versioned installer will be able to alleviate many of these problems as well as the difficulty with installation. An automated installer builder is pretty much all we need to build.

Quote from: Hugar
It is the ONLY software that builds natively to your Operating System, whether it is Windows, Mac, or Linux.
This is such an excellent point to differentiate us from the rest of the game engines. Although it sometimes requires more manual work than other game engines, it also means you can take it a lot more places. I've heard that some have gotten ENIGMA working on Raspberry Pi where GMS has, as far as I know, never built.

Quote from: Hugar
Even the ones returning, I am thankful for their continuing support and contributions, to the project and the community when the users ask for help.
Thank you so much Hugar, I truly appreciate your comments and feedback.

Issues Help Desk / Re: Conflict between Enigma and Embarcadero Delphi
« on: April 01, 2019, 02:36:15 pm »
Hi duzzell, tkg is right there. I can't say much without knowing if you've installed Delphi. Will you tell us please? Basically your problem seems to be the Delphi make tool is in your environment path and it's overriding the GCC one in MSYS2. You just need it to find the right make/fix your environment.

General ENIGMA / Re: Suggestion: create "team" profile in LiberaPay
« on: March 28, 2019, 10:21:19 am »
I gave it some more thought and talked it over with Josh and decided to take your suggestion. I have now signed up for LiberaPay and we will accept contributions through the service. I think it's a great idea to provide more options for contributing because I understand that there are many users who would like to contribute, but may be ethically or morally opposed to Patreon. Perhaps even LiberaPay is simpler for some people because they are already familiar with it, and that's fine too.

For now, I have only created an individual profile and not linked our social media accounts. As our use of LiberaPay grows, I will later coordinate the creation of a full team profile. Being a U.S. citizen, for now, I will only accept contributions in USD $ because that is easier for me and it also happens to be compatible for the contributions to be shared with other members of the team at the current time.

Those who are happy with the progress we've made or would like to see the project grow, please do consider supporting us on LiberaPay!

General ENIGMA / Re: Suggestion: create "team" profile in LiberaPay
« on: March 26, 2019, 10:00:50 pm »
Hey Dragonite, thanks for the suggestion. This is actually the first time I am hearing of LiberaPay and I think it's a great idea. I believe open source developers need to be rewarded more for their efforts. However, let me say, you may have missed that we do now have a Patreon for the project! One reason you don't see us being too vocal yet is because I did not want to force this on anybody, but contributions are helping significantly and provide motivation for working on the project. I'm hoping that we can get a lot more work done and taken care of first before adding the Patreon to the homepage and everything. We're making good progress, but there are some specific announcements I am planning to make first. That said, I am not sure if branching out to another service like LiberaPay just right yet is a good idea and I wouldn't mind more feedback on this from you, the other ENIGMA people, or anyone.

Tips, Tutorials, Examples / Re: looking for shaders
« on: March 17, 2019, 09:33:45 pm »
I have to update this topic because I noticed something. The "Precompile" option is apparently ENIGMA specific so it's not serialized by the GMX format I saved the project in. Please make sure you tick that box in my example before running. Sorry about this, we're going to get these kinds of issues worked out with RGM hopefully.

General ENIGMA / Re: Sorry, I really tried
« on: March 16, 2019, 04:21:06 pm »
fundies' point of view seems harsh but allow me to try to clarify it. He's saying that if you want to build applications (we're talking C++ now not GM/video games) there's little chance you can pull it off without running into a command line. Clearly YoYoGames themselves also make extensive use of command lines (I've seen comments by staff alluding to them having their own continuous integration testing which is almost entirely command line based) internally for development. The point of a program like GameMaker is to get rid of that and have a totally more graphical experience. Regardless, there's plenty of useful tools that are command line only where you simply don't need to use a UI. Quite frankly learning to use a command line is good for any computer user whether you are a developer or not. fundies just comes off rude because he is rude.  :)

Like I said, we'll continue looking at the problem. Another aspect of what fundies is saying is that the advanced setup serves as a sort of buffer to keep people from using the program that don't have a certain level of competency. In other words, it saves us the time of having to deal with too many users when we're understaffed as far as development goes (more people right now would only constrain our resources hindering development). I don't entirely agree with this elitist view of everything though and I try to help users when I can.

PS: Thanks to Microsoft Azure we may be able to have a nice installer generator since it lends a lot more compute resources to open source than AppVeyor. We were just discussing this on Discord.

Issues Help Desk / Re: Compiled game doesn't start?
« on: March 14, 2019, 11:16:16 pm »
Ok, yeah, try the workarounds.... if anybody finds anything more about this before I do be sure to share.

Issues Help Desk / Re: Compiled game doesn't start?
« on: March 14, 2019, 05:46:05 pm »
Hi Jan! I'm sorry you ran into this and I have been seeing some cases of it myself when building final games in compile mode. However, it seems to be random as some games will do it while others are just fine. It also seems to keep changing whenever I do an MSYS2 upgrade. I am interested in finding the root cause of this myself, but it's proved to be a little difficult since it sometimes won't occur when building with debugging symbols and gdb'ing the release exe doesn't yield anything useful because there is no debugging symbols! It's a bit of catch 22.

You can try maybe compiling the games with different systems (I specifically want to point my finger at OpenAL here as a potential cause of this). Another workaround, since you said the game works fine in run mode, is to copy and distribute the temp file exe of your game (the file path is printed in LGM's output window when you run the game). One issue with the second work around is you may end up with a terminal window when you double click the game. You can circumvent that by modifying the main makefile to link the Windows subsystem in Run mode (which tells Windows that it's a Window app not a console app). Just change the following line from Compile to Run, save the makefile, build your game, and copy the temp file.

Again, I'm sorry about this problem, and I will continue looking into it.

General ENIGMA / Re: Sorry, I really tried
« on: March 10, 2019, 04:02:39 pm »
While I share many of the sentiments and opinions that have been discussed here. Let me play devil's advocate and offer you guys a counter argument. One advantage to the emphasis we have on a source setup using a package manager, as opposed to a binary release mechanism, is the simplicity of hacking on ENIGMA. We gained several contributors because of this, including myself, because it is so easy to change the code in the engine, save it, and rerun the game and see the changes immediately. I think we can even find evidence of this in the past when ENIGMA has honestly had more contributors than users. That said, again, it doesn't mean we have to totally rule out binary releases and, again, I am open minded to more simplistic methods of setup. This is one of the reasons I got on board with fundies investigating MSVC support for ENIGMA. The idea was that if we could support MSVC, well then users already have the dependencies for ENIGMA installed if they have GMS installed. We're probably not going to merge any of this or roll it out any time soon because we ran into issues like globbing and other things we don't like about MSVC build systems. Long story short, we'll continue investigating this problem, and I hope you guys see my point of view too.

Hi Talkashie! impo's advice is one way to go/thing to try. Regarding the boolean cast issue, that used to be a bigger incompatibility than it is now. Yes, it's true that C++ casts booleans differently than the old GML. In fact, most programming languages cast booleans the way C99 did (I mean C#/Java/etc).
Quote from: ISO C99 ยง
When any scalar value is converted to _Bool, the result is 0 if the value compares equal to 0; otherwise, the result is 1.

Now, it's no longer as much of an incompatibility, because I changed the collision functions to have a special return type, that when cast to boolean will give the expected behavior of older GM versions. I brought this to ENIGMA for the same reasons YoYo, at some point, did it for GMSv1.4. Additionally, our variant data type has always cast to boolean the way classic GM did. So, these days, in ENIGMA, unless you literally declare your variable with the [snip]bool[/snip] data type, you will get the expected behavior of older GM versions.

For these reasons, I have now actually updated the wiki page you were referring to. It now more accurately mentions that we have dealt with the collision functions and there shouldn't be incompatibilities here now.
Quote from: ENIGMA Wiki
In GM values < 0.5 are treated as false, in C++ only a value equal to 0 is treated as false. ENIGMA's variant type and instance type (returned by collision functions) have special boolean casting rules so that they give the expected results of earlier GameMaker versions when tested in conditional statements.

Oh that's very interesting hugar! I had never thought about doing this myself without having to create a fully animated sprite or do some 3D with an ortho projection. Thanks for sharing this example as I think it will help novices pull off this seemingly basic graphics technique without much effort!

Tips, Tutorials, Examples / Re: Isometric projection in 3D
« on: March 09, 2019, 02:29:04 pm »
As someone who worked on aspects of this internally along with Harri, who wrote the GL3.3 shader, I can say that the explanation impo gave to Hugar there is accurate. Further, I am also aware from talking with Hugar that his OpenGL drivers seem to have some issues (e.g, can't enable per-pixel fog in GL1.1; and we tried lots of stuff) so this could be compounding any rendering differences he has from the rest of us.

Tips, Tutorials, Examples / Re: Vertex buffer primitives
« on: March 09, 2019, 02:21:47 pm »
Haha this example looks really interesting, informative, and useful! I have plans and may create something like this to regression test our lighting functions and fog. But I would like to provide some additional information here being someone whose worked internally on these features.

Quote from: impo
there's scripts to generate cones, walls, blocks,importing d3d/obj models etc via vertex functions which work much faster comparing to default d3d_ ones.
This is actually exactly what I made the internal engine do, all of our shape functions actually just call the d3d model functions, which in turn are implemented using the vertex functions. Now, here's why your method is probably faster, for 3D shapes only, because I hadn't exactly worked out the flushing mechanism, our d3d shape functions are still doing an immediate flush. This means that your version is probably all being submitted in one draw call, which obviously is less overhead and will give better performance.

Quote from: impo
the culling doesn't work and is reversed on all of the 3d primitives and models
I can apitrace this and see if we have the same winding order as GM8 and GMSv1.4.

Issues Help Desk / Re: Compile error after adding sprite
« on: March 09, 2019, 02:14:07 pm »
You clearly have objects and resources with duplicate ids. The engine can't resolve the differences, hence the error. I suggest making a backup copy of your project and using the defragment ids feature of LateralGM. In fact, the latest version of LGM should have warned you when you loaded the project.

Tips, Tutorials, Examples / Re: Isometric projection in 3D
« on: February 25, 2019, 12:21:46 pm »
Ok, that's good now I think you are still on an outdated version. Several of the issues/differences left that you are showing me here seem to be issues I have just fixed within the last month. So I would like you to update ENIGMA and see what the differences are then.

Here's the commands you can use to update your copy of ENIGMA if you don't want to do the entire installation over again. Just start the MSYS2 shell that you launch LateralGM from and make sure you are in your cloned enigma-dev directory.
Code: (bash) [Select]
git pull
make clean
make -j4

NOTE: Here's a small tip, you can use [snip][/snip] to give your images a custom width so this topic is easier to navigate. Our forum has built-in support so that left clicking the image will increase it in size.

Quote from: impo
opengl1.1 works well, except for  lighting looking inverted relative to the light source. i also couldn't get the other EDL's light functions to work (related to specular  lighting)
This is either the lighting normals in some of our shape functions or an issue with the fact that GL1 lighting is computed in eye space. I am leaning towards the former and haven't had time to look at the shape functions, since they've been deduplicated, and make the normals 100% like GM.

Quote from: impo
opengl3.3 has no fog, also broken transperancy
We are aware that this system's shader lacks fog support. Our shader in this system might also either lack vertex transparency or the blend states are configured incorrectly.

Quote from: impo
directx11 has no light/fog, problems with h/vrepeat and whatnot. opengl 1.1 actually has problems with that as well, texture hrepeat/vrepeat didn't work on cube primitive (but worked on floor)
This system is the same story as GL3 and we are aware there's no lighting and fog support in its default shader yet (I have yet to write it). Texture repetition issues has to do with texture state issues.
The GL1 issue with texture repetition problem is a new one I discovered recently that will also need to be solved.

Quote from: impo
directx9 just renders a single triangle.. lol. whatever i try to change, it still shows a triangle. directx9 worked fine in other tests as far as I remember, might be a problem with d3d_set_projection_ortho_lookat, i'll probably do some other tests on that
I am like 90% certain the issue is the lighting material, and I have fixed it in master. It also caused Project Mario not to draw anything, and this is why I would like you to update and try again.

Quote from: impo
yeah i know, I tried to turn off the perspective before each draw event, with different projections, angles etc, but it just didnt seem to work
It won't render anything because you have an outdated ENIGMA. You need to upgrade so that you have my perspective fixes.

Quote from: impo
that's great, alot of potential. i want to make some advanced stuff just for the sake of kicking game maker's ass
Sure, I was interested to see what you did here because I for a while wanted an isometric projection function in ENIGMA, but I did not know that we already had it. It was originally added by TheExDeus and I decided to keep it when I switched us to GLM and cleaned up all of the duplicate matrix code we had. So this is good, I am happy that it works and might want to use it to make a game myself.