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 ... 204
Announcements / Re: Image Format Extensions & New libpng Dependency
« on: February 18, 2019, 04:39:13 AM »
You're welcome, and I hope to have some more exciting stuff to announce soon!

Announcements / Image Format Extensions & New libpng Dependency
« on: February 14, 2019, 11:19:05 PM »

Many of you have been requesting for some time that we switch from LodePNG to libpng to make it easier to install ENIGMA on your platform because libpng is usually available on package managers and LodePNG is not. I wanted to let everybody know that we have finally done this.

This means that libpng is now a dependency for ENIGMA and you will need to install it through your package manager the next time you git pull or otherwise setup ENIGMA.
Code: (Bash) [Select]
# MSYS2 64-bit
pacboy -S libpng:x
# MSYS2 32-bit
pacboy -S libpng:i

I have also updated the Ubuntu/Linux installation instructions as well as the easy method script.
Code: (Bash) [Select]
sudo apt-get install libpng-dev
There are actually other positive benefits from this change, including the fact that png loading and saving is now many times faster according to several benchmarks I have performed. There may still be additional optimizations we can make in the future, but for now you can see my benchmarks on the original issue where libpng was requested.

Another positive aspect of this change stems from the fact that I integrated libpng into the engine as an extension. This means I have made the image loading and saving "hookable" so that additional image formats can also be supported through extensions. I hope everyone likes these changes and will find that they improve ENIGMA. I also want to mention that I do not foresee us adding any more required dependencies to setup ENIGMA except for FreeType which we'll be using to render fonts in emake and the frontend tools. It will be a shared dependency between the command line and the engine. I just want to give everyone a heads up. Cheers!

Issues Help Desk / Re: bug with data structures?
« on: February 13, 2019, 01:57:24 PM »
GM8 does the same, it's because you have the game setting "Treat uninitialized variables as 0" enabled.

Yeah, it sounds like you did actually find a legit bug that should be fixed. This is kind of interesting because somebody was just talking to me the other day about ids. Anyway, as I've been making aware, I am trying to focus most of my energy and resources at laying the foundation for the new IDE and have stopped working on LateralGM. I will leave it up to you whether you want to file the issue on LGM's tracker along with your reproduction steps so it doesn't get forgotten about.

Also, I want to recommend another workaround that may be a little easier for some people. First, make a backup copy of the project. Then select Resources->Check Ids which should ask you to defrag the ids, effectively resolving the issue. However, defragging ids can sometimes break certain projects if the user was hard coding resource/instance ids in their project. They might then have to do some refactoring.

Announcements / Re: New Dependency on Google Protocol Buffers
« on: February 12, 2019, 10:34:23 PM »
Alright, a small update to this, we've finally completed the transition to Protocol Buffers over some additional pull requests and Proto2ES is no longer part of the codebase. This means the compiler uses protocol buffers directly which is handed to it by emake and RadialGM. Tools like LateralGM that use the old interface still pass an EnigmaStruct, but it is first converted into a protocol buffer before the compiler builds it.

I have not benchmarked, but theoretically, the protocol buffers and any frontend tools that use them, including emake, should now be reaching maximum build time performance. For the time being, tools like LateralGM will continue using the deprecated EnigmaStruct interface, subject to binary-compatibility breaking changes. My next step is to finally switch us to libpng and remove lodepng from our codebase before moving on to the next big things. This should bring even quicker build times!

Tips, Tutorials, Examples / Re: looking for shaders
« on: February 12, 2019, 06:51:10 PM »
Hey, you just wait until you see what I am going to port over to ENIGMA very soon. It's one of my projects in MonoGame... very exciting. I am going to port it in an attempt to add HLSL shaders and improve the GLSL shaders. I will have it working in 4 graphics systems. Just stay tuned for that, lots of interesting things coming. Also, that sounds interesting, I had wanted to build a SimCity like game in ENIGMA for some time, but presently all I have is my 2D SimCity tile-engine working that was made by me in GM a long time ago now.

Tips, Tutorials, Examples / Re: looking for shaders
« on: February 12, 2019, 06:49:43 AM »
Alright, as promised, here I am with a very simple GLSL shader example. So the first thing to mention is that shaders in ENIGMA, since they were first added, are very pure. This means we have less abstraction on top of them so you'll need to do things like declare the GLSL version at the top. I have plans and intentions of improving shader support and compatibility quite a bit soon. Since we've largely revamped our graphics systems and solved some of the more basic problems... this is the next logical step as I've been incrementally adding DX11 support.

You'll find 3 files attached to this post. is a GMX that contains a GLSL 110 shader which works in our OpenGL1 graphics system. Shaders will not be saved when saving your project in the GMK format because it did not support them. The shader itself, while GLSL 110 compliant, is not GMS compatible. It will therefore not work in our OpenGL3 system, which is structured more like GMS's shaders. This is one of the areas I plan on improving going into the future. You will also find toonv.glsl and toonf.glsl which is a 3D toon shader that also works in our OpenGL1 graphics system if you would like to use it.

If you have any more questions, please feel free to ask, and I will make sure that when I get to improving the shader support that I make an announcement.

Tips, Tutorials, Examples / Re: looking for shaders
« on: February 12, 2019, 12:25:48 AM »
Hi impo! I can make you a simple GLSL shader example that's GMS compatible. Give me a bit to prepare one. HLSL shaders are not in yet, I attempted them before but had to remove them due to dependency on the legacy D3DX. I will be readding HLSL shaders later using the newer API so I can port my one terrain engine, based on Battlefield DICE's, as a proof of concept. I'll post back later.

Announcements / New Dependency on Google Protocol Buffers
« on: February 02, 2019, 09:54:42 PM »
I wanted to make sure to cover this with an announcement to keep everyone in the loop. We have now rearranged the backend to the compiler so that it now uses Protocol Buffers directly. EnigmaStruct is now deprecated and should not be used for building new command line or frontend tools that integrate with ENIGMA.

We also had to come back and address a few regressions from this change in several games. With this, there have been no other new regressions discovered.

EnigmaStruct is deprecated rather than obsolete because it is still used by LateralGM. It will likely remain that way as my development attention is staying focused at RadialGM now which uses the new Protocol Buffers directly for its data model. One advantage to the new Protocol Buffers interface is that binary compatibility can be maintained when changing the protos. This is not true of the old EnigmaStruct, and thus, tools that use it will be subject to frequent breakage as a result of the lack of binary compatibility.

Long story short, you will now need to install Google Protocol Buffers when setting up ENIGMA or the next time you update an existing installation.
Code: (Bash) [Select]
# MSYS2 64-bit
pacboy -S protobuf:x
# MSYS2 32-bit
pacboy -S protobuf:i

I have also updated the Ubuntu/Linux installation instructions as well as the easy method script with the help of TKG. You will need a newer protobuf version which is why we recommend installing the dependency from Maarten Fonville's PPA which is where our Travis CI build obtains it.
Code: (Bash) [Select]
sudo add-apt-repository ppa:maarten-fonville/protobuf
sudo apt-get update
sudo apt-get install libprotobuf-dev protobuf-compiler

You will also need to do a clean build of the compiler.
Code: (Bash) [Select]
make clean
make -j4

Works in Progress / Re: Mystery Mansion
« on: January 30, 2019, 04:35:13 AM »
If you are talking about DirectSound not playing short WAV files, you may seriously want to update hugar, they weren't kidding when they told you I submitted a patch for it recently. (Y)

Works in Progress / Re: Mystery Mansion
« on: January 19, 2019, 12:18:32 PM »
I am really excited for the release of your upcoming game hugar. I have to say, I like the theme and I think it's going to be interesting to see how the story develops as the game progresses. I look forward to a story directed by you. The gameplay mechanics discussed sound similar to others we've been seeing lately, with some additional twists. I hope that you will employ enough variety to differentiate the game. I am looking forward to what the bonus items will be and discovering them in the game. I really like the preview screens and have to say the art work looks good so far. I'll be watching and waiting for the first release!

General ENIGMA / Re: Great News for the NEW YEAR
« on: January 01, 2019, 02:44:36 AM »
Oh my gaaaahddd, I went to bed in 2018, I wake up in 2019 and the EDC is fixed. Call the starship scotty because they're going to beam me straight up into the giant big ol' fat 3.14 in the sky.

Now that I got that out of my system, I just want to say I am really happy and thrilled with all of you lately. Excellent work on Josh's part, I am really happy he finally hammered all the gremlins out of the EDC so we can use it again. I am really proud and also greatful for your work on developing an offline manual that I know many people are going to be quite happy about hugar! TKG is clearly starting to mature into a skilled software developer, and a useful contributor now, as he continues to refine his development habits and practices to accomplish much larger and needed tasks like the SDL joysticks this week.

2018 has been a great year and I have it on good authority that 2019 is going to be even better! :eng101:

Works in Progress / Re: Project Mario
« on: January 01, 2019, 02:19:06 AM »
Minor update to this topic because I have run across the fact that my old Dropbox links have gone dead. I stopped using Dropbox about a year ago but have backed up all of my files from there. I spoke with Josh and asked him about putting Project Mario up on the EDC and he actually went so far as to fix EDC game uploading. I'm now hosting the project's source there.

I believe this is carried on from the ISO compliant version because I notice I use all forward slashes for filepaths instead of backslashes. Which is fine either way, GM8.1 should handle forward slashes just fine. To get this version to build on the latest master you just need to use the OpenAL audio system because the DirectSound audio system seems to have some issues with some of the WAV audio files.

Over the years since I posted this topic, ENIGMA has changed significantly. The only main issue I have found with running the game in the good old OpenGL1 is that Mario's head does not appear on the start screen. This is likely due to a change in the clipping planes of the projection function when I switched ENIGMA to GLM. Direct3D9 has also seemed to have developed some surface issues at some point. Regardless, I am generally happy that the game continues to work so well despite some of our massive overhauling of the models and everything (thanks continuous integration!).

Issues Help Desk / Re: [SOLVED]LGM/Enigma lib errors
« on: December 07, 2018, 10:15:16 AM »
That's good, everybody note this, I may have to tweak the Wiki a bit to mention that you should do it from the MinGW32 terminal for 32 bit.

Off-Topic / Re: Greetings, everyone!
« on: December 05, 2018, 12:41:19 AM »
Hey ProtoLink! I should mention I find it humorous that not only is your group Enigma, your name is also "Proto" "Link" and the entire new serialization mechanism we use in the new IDE is based on Google Protocol Buffers (aka "protos"). Anyway, welcome to the forum and I hope you have fun here! Our community members are extremely helpful so don't ever be afraid to ask for help.

Pages: 1 [2] 3 4 ... 204