1
I Use This!
Very Low Activity

News

Analyzed 1 day ago. based on code collected 1 day ago.
Posted almost 7 years ago
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 ... [More] we have finally done this.https://github.com/enigma-dev/enigma-dev/commit/112dc544d611d5b588e8f0b2e3f193b79e7f0845This 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.https://enigma-dev.org/docs/Wiki/Install:WindowsCode: (Bash) [Select] # MSYS2 64-bitpacboy -S libpng:x# MSYS2 32-bitpacboy -S libpng:iI have also updated the Ubuntu/Linux installation instructions as well as the easy method script.https://enigma-dev.org/docs/Wiki/Install:LinuxCode: (Bash) [Select] sudo apt-get install libpng-devThere 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.https://github.com/enigma-dev/enigma-dev/issues/1391#issuecomment-464307654Another 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! [Less]
Posted almost 7 years ago
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 ... [More] building new command line or frontend tools that integrate with ENIGMA.https://github.com/enigma-dev/enigma-dev/commit/a1aa34d57d91e438bf937a39d902a6556932eaecWe 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.https://github.com/enigma-dev/enigma-dev/commit/090d1a92fa377e0f9a851ebdaa3daa325b76a497https://github.com/enigma-dev/enigma-dev/commit/36de74c8d44871ea260506a8f8e27d684aee4253EnigmaStruct 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-bitpacboy -S protobuf:x# MSYS2 32-bitpacboy -S protobuf:iI 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.https://enigma-dev.org/docs/Wiki/Install:Linuxhttps://github.com/enigma-dev/enigma-dev/issues/1527Code: (Bash) [Select] sudo add-apt-repository ppa:maarten-fonville/protobufsudo apt-get updatesudo apt-get install libprotobuf-dev protobuf-compilerYou will... [Less]
Posted about 7 years ago
This is a small announcement just to warn everybody that Josh had to rewrite part of the recent history of enigma-dev master.https://github.com/enigma-dev/enigma-dev/issues/1413It started when TKG made a pull request that contained a dll which Josh ... [More] told him was ok to use. Since Josh was not available, I agreed to review the pull request and merged it into the repository. The confusion here was that Josh wanted TKG to host the dll somewhere other than the repo. Obviously, I broke one of the very important rules of git by merging the pull request, that you should not add binaries to a repo. If you continuously add binaries to a git repo you will bloat the download size of the repo since cloning the repo involves copying the repo's history (which ends up being multiple copies of a 5mb dll).Anyway, Josh fixed it by rewriting the history on master to make it look like that pull request was never merged. This means that any existing clones or forks of enigma-dev need to be rebased onto the new master head commit. This is a rather complicated procedure, even for people who know git, so I recommend that you simply reclone and or refork enigma-dev as needed before sending any pull requests back to us.We're all sorry for the inconvenience this may cause anybody and are going to be more vigilant going into the future. I just wanted to make this announcement so everybody is aware and also to increase awareness so people understand not to add binaries to a git repo and it doesn't happen again. [Less]
Posted about 7 years ago
I want to take a quick minute to explain a little bit about Pacboy because Hugar brought a user's installation issues to my attention over Discord. You can consider this post to be a sort of technical explanation and not really an announcement, but I ... [More] want to try to clarify this for everybody and not just the one person.The user was having a problem installing git using Pacboy because I forgot a colon on the install page for Windows. The git package in MSYS2 is actually what's called a "virtual" package.https://github.com/msys2/msys2/wiki/Using-packages#installing-a-packageBecause the package is virtual, when you install it with Pacman, you only need to specify git without any x86_64 or i686 suffix. Now what Pacboy is, is it's a bash script written by the MSYS2 people that makes it easier to install Pacman packages so you don't have to specify the long package suffixes.https://github.com/msys2/msys2/wiki/Using-packages#avoiding-writing-long-package-namesLong story short, with Pacboy the :x is for x86_64 (64 bit) and :i is for i686 (32 bit) just as our instructions said before, but a plain : after the package name, like git:, should be used for virtual packages.Quote from: Pacboy Terminal Prompt    Pacboy 2016.6.24    Copyright (C) 2015, 2016 Renato Silva    Licensed under BSD    This is a pacman wrapper for MSYS2 which handles the package prefixes    automatically, and provides human-friendly commands for common tasks.    Usage:        pacboy [command] [arguments]        Arguments will be passed to pacman or pkgfile after translation:        For 64-bit MSYS2, name:i means i686-only        For 64-bit MSYS2, name:x means x86_64-only        For MSYS shell, name:m means mingw-w64        For all shells, name: disables any translation for name        For all shells, repository::name means repository/name I've updated our Windows installation instructions to clarify all of this.https://enigm... [Less]
Posted about 7 years ago
OpenGL1 OpenGL3 Direct3D9 Direct3D11 We've made it to yet another massive cleanup of ENIGMA's graphics. This one is a pretty big deal that I wanted to make sure to let everyone know about. I've rewritten all the old transform and matrix code ... [More] using a single dependency, GLM, to eliminate all of the old duplication. This is not only less code but also brings improved consistency across the four graphics systems that ENIGMA currently provides. There were several reasons for choosing GLM over various other alternatives that exist, but I'm fairly certain we've made the right decision.You can see in the above table that the transforms in the Animation Platform Example sent to me by DarkAceZ are consistent in all four graphics systems. Direct3D11 does still have noticeable rendering bugs, but this is unrelated to the transforms and has to do with render states and unfinished D3D11 features we will need to take care of later. But regardless, the game does perform more consistently as a result of these changes.You will now need to download GLM through your package manager when setting up ENIGMA or pulling the latest master on all platforms.Code: (Bash) [Select] # Ubuntusudo apt-get install libglm-dev# MSYS2 32-bitpacboy -S glm:i# MSYS2 64-bitpacboy -S glm:xYou can see that the changes have already been merged:https://github.com/enigma-dev/enigma-dev/commit/4e8ad7c3857794f490610c621ae64ae54b3456b0The full details of these changes can ... [Less]
Posted about 7 years ago
OpenGL1 OpenGL3 Direct3D9 Direct3D11 We've made it to yet another massive cleanup of ENIGMA's graphics. This one is a pretty big deal that I wanted to make sure to let everyone know about. I've rewritten all the old transform and matrix code ... [More] using a single dependency, GLM, to eliminate all of the old duplication. This is not only less code but also brings improved consistency across the four graphics systems that ENIGMA currently provides. There were several reasons for choosing GLM over various other alternatives that exist, but I'm fairly certain we've made the right decision.You can see in the above table that the transforms in the Animation Platform Example sent to me by DarkAceZ are consistent in all four graphics systems. Direct3D11 does still have noticeable rendering bugs, but this is unrelated to the transforms and has to do with render states and unfinished D3D11 features we will need to take care of later. But regardless, the game does perform more consistently as a result of these changes.You will now need to download GLM through your package manager when setting up ENIGMA or pulling the latest master on all platforms.Code: (Bash) [Select] # Ubuntusudo apt-get install libglm-dev# MSYS2 32-bitpacboy -S glm:i# MSYS2 64-bitpacboy -S glm:xYou can see that the changes have already been merged:https://github.com/enigma-dev/enigma-dev/commit/4e8ad7c3857794f490610c621ae64ae54b3456b0The full details of these changes can ... [Less]
Posted over 7 years ago
RadialGM is currently If you like the progress we've been making, please consider supporting us on Patreon!https://www.patreon.com/bePatron?u=10889206It's been a while since I've updated everyone on the current progress around here. I am going to ... [More] cover a couple of different topics, some related and some not.First, I want to talk about how we've added MSVC & CMake building support for the enigma-dev command line tools as well as RadialGM. This is in huge part thanks to fundies whose proved himself to be a master of build systems once again. This has allowed us to create a static build of Qt using vcpkg and use it to deploy RadialGM on the GitHub releases page. Some of you watching us on GitHub may have already noticed you can download 4 builds of RadialGM already (permutations of x86, x64, Debug, and Release).Please consider this an early alpha as we are still hard at work to bring our other ideas to fruition. Only GMK and GMX loading work right now and some editors are incomplete. Functionality is basically equivalent to the current emake used in CI testing. Actually running a project also does not work yet out of the box and I'm not going to bother explaining yet how to integrate it with your enigma-dev setup.RadialGM Releases: https://github.com/enigma-dev/RadialGM/releasesYou may or may not need to download and install the MSVC 2017 runtime as the only prerequisite dependency, everything else is statically linked into the release and ABSOLUTELY NO Java is required.https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloadsFrom here on, we are hoping that later we can spread CMake & MSVC support to the engine as well as provide static releases and installers for ad... [Less]
Posted over 7 years ago
RadialGM is currently If you like the progress we've been making, please consider supporting us on Patreon!https://www.patreon.com/bePatron?u=10889206It's been a while since I've updated everyone on the current progress around here. I am going to ... [More] cover a couple of different topics, some related and some not.First, I want to talk about how we've added MSVC & CMake building support for the enigma-dev command line tools as well as RadialGM. This is in huge part thanks to fundies whose proved himself to be a master of build systems once again. This has allowed us to create a static build of Qt using vcpkg and use it to deploy RadialGM on the GitHub releases page. Some of you watching us on GitHub may have already noticed you can download 4 builds of RadialGM already (permutations of x86, x64, Debug, and Release).Please consider this an early alpha as we are still hard at work to bring our other ideas to fruition. Only GMK and GMX loading work right now and some editors are incomplete. Functionality is basically equivalent to the current emake used in CI testing. Actually running a project also does not work yet out of the box and I'm not going to bother explaining yet how to integrate it with your enigma-dev setup.RadialGM Releases: https://github.com/enigma-dev/RadialGM/releasesYou may or may not need to download and install the MSVC 2017 runtime as the only prerequisite dependency, everything else is statically linked into the release and ABSOLUTELY NO Java is required.https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloadsFrom here on, we are hoping that later we can spread CMake & MSVC support to the engine as well as provide static releases and installers for additional platforms. This is just the start of many great things... [Less]
Posted over 7 years ago
Note: The two images are intentional false positives I did for the purposes of demonstrating the bot and to verify its behavior.Hey guys! I've been busy for a few days working on a side improvement to the engine code base that I want to share with ... [More] you all. It is closely related to the SDL changes fundies recently announced as well as us adding support for Direct3D11 and modern OpenGL ES. We have basically extended our continuous integration to perform an image analysis on graphics tests to improve graphical fidelity both between the graphics systems as well as between ENIGMA and GameMaker. This is still a work in progress but I just this morning got it fully working to where we can successfully screencap the game in the Travis CI virtual machine (minor bug in our test harness taking the screenshot directly after game start and before any draw events were processed).You can see what we're up to on the pr here:https://github.com/enigma-dev/enigma-dev/pull/1291We expect to have it merged soon and will then be adding drawing tests from here on out.I've also cleaned up the tile drawing code and optimized them on top of the vertex buffer functions I added for GMS compatibility. They are slightly different though because I use an index buffer to render them more optimally as an indexed triangle list. Regardless, from my benchmarks we can see that the tiles are not only more consistent now but also build and render much faster. When me and fundies get these image comparison tests merged into master, I will add a tile drawing test to prevent future regression of the functions and finally merge in the new tile code.https://github.com/enigma-dev/enigma-dev/pull/1238I will be following up those changes by rewriting the model classes as well:https://github.com/enigma-dev/enigma-dev/pull/1289The whole point of this changeset is to have less duplicate code by using proper abstractions of vertex and index buffer c... [Less]
Posted over 7 years ago
As, of today SDL (Simple DirectMedia Layer) platform has been released on the main fork. SDL is an alternative to our existing platforms Win32 and xlib. SDL should enable more consistenty across all operating systems with less effort on our part. SDL ... [More] also replaces the broken Cocoa platform on Mac OS X but this untested as I have no access to a mac. If anyone out there on a mac could try building SDL and let me know your results on either the github tracker, discord, or IRC I can work with you to solve any issues. In general, the SDL platform is highly untested so I urge people to try it out with your games and report back any issues you see to the tracker.SDL is the first step in much bigger things to come. I'm working with Robert with the goal of supporting Android. On our to do list, We plan on fixing the OpenGL ES graphics system, adding font support to emake and seperating the resource packer into it's own tool. These in combination with SDL will allow for building for android and possibly iOS and HTML5. After android is working, we both plan on getting back to the IDE (RadialGM). For which, I have large plans as well.Warning: Anyone running a git pull should also runCode: [Select] ./install.sh && maketo grab new enigma.jar and rebuild the plugin or lateralgm may not runJoin us on discordSupport us on patreon [Less]