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

Pages: 1 2 [3] 4 5 ... 206
31
Announcements / Reinterpreting EDL 2.0
« on: April 01, 2019, 02:27:21 PM »
Hello ENIGMOs, I'm excited to share some exciting news with you all regarding ENIGMA's language design and the future of the engine. It has been a long and treacherous path in recent years to correctly parse C++ while balancing the user friendliness and smooth learning curve of traditional GML. After an arduous discussion on the prospects of JDI, we decided an alternative approach would give us everything we want and more.

I'm here today to announce that me and Josh have completely redesigned EDL from the ground up. We looked at earlier design cues that Mark Overmars took with GML and realized that we were emphasizing the C origins of the language way more than its COBOL or BASIC nuances. We believe there is no doubt that this reimagined EDL will serve to bring a vast new audience to the ENIGMA development scene like we have never seen before. Whether you feel that too many operators makes for a daunting language to memorize, or you prefer statements that read like English, EDL 2.0 will make you feel perfectly at home with Visual BASIC 6 all over again.

In order to make this easier for everyone we have outlined an incremental approach to replacing the current JDI over the coming months.

* The current JDI has to go, so we will begin by hoisting the current EDL up by its drag and drop boot straps.
* Once we have hammered out any regressions from the EDL->Drag and Drop conversion, we will delete the current JDI.
* I will then begin integrating the FreeBASIC compiler in place of the old JDI.
* A drag and drop -> VB6 converter will be developed.
* Finally, we will drop the EDL->Drag and Drop converter.

This would have been a nearly impractical objective in the past, but there has never been a better time than now for us to make this transition. There may be bugs along this road to progress, but if we can stick it out, I'm certain that we can usher in a new era of game development utopia. Please stay tuned and thank you all for your continued interest in ENIGMA!

32
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!
https://liberapay.com/Goombert/

33
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.

34
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.

35
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.

36
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.

37
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.
https://github.com/enigma-dev/enigma-dev/blob/2df68cffc66d5e6564392f5b078ad0589cf868ae/ENIGMAsystem/SHELL/Makefile#L92

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

38
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.

39
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 ยง 6.3.1.2
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 bool data type, you will get the expected behavior of older GM versions.
https://github.com/enigma-dev/enigma-dev/pull/1218

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.
https://enigma-dev.org/docs/Wiki/GM_Incompatibilities#Coding_Incompatibilities
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.

40
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!

41
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.

42
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.
https://github.com/enigma-dev/enigma-dev/blob/90279d01a1db831f1013e118ddba7645b82802ce/ENIGMAsystem/SHELL/Graphics_Systems/General/GSprimitives.cpp#L205
https://github.com/enigma-dev/enigma-dev/blob/90279d01a1db831f1013e118ddba7645b82802ce/ENIGMAsystem/SHELL/Graphics_Systems/General/GSmodel.cpp#L735

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.

43
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.

44
Announcements / Re: Image Format Extensions & New libpng Dependency
« on: March 09, 2019, 02:10:11 PM »
Quote from: Dragonite
Has there been any progress in keeping EDL up with GML features that were added in the last years? Such as accessors, enums, the collision_list functions, etc.
There hasn't been much in this regard yet, but we are looking at some things and hopefully may have some positive news about this in the near future.

45
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 [img width=300]http://url[/img] 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.
https://github.com/enigma-dev/enigma-dev/pull/1497
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.
https://github.com/enigma-dev/enigma-dev/pull/1530

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.
https://github.com/enigma-dev/enigma-dev/pull/1528

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.

Pages: 1 2 [3] 4 5 ... 206