General fluff => Announcements => Topic started by: Josh @ Dreamland on January 14, 2018, 11:50:21 am

Title: Infrastructual Changes
Post by: Josh @ Dreamland on January 14, 2018, 11:50:21 am
Hi all,

I have some happy news to share regarding some changes to the ENIGMA codebase. Cheeseboy, Robert, and I have been making some relatively big changes to the infrastructure of this project, lately. You (I hope) haven't noticed so far, because these changes are mostly internal cleanup, code health, and productivity changes. Since we fixed the Travis-CI build a few months ago, Robert has added an AppVeyor build. With the new assurance that a change will not break other platforms, we have been cleaning up the codebase and moving things around. We have had minor regressions, which is why I'm in the process of writing a regression test suite on top of our build tests. But for the first time in this project's history, all contributors are submitting code to branches instead of directly to Master. Our build has been green since we fixed it a few months ago. This is huge news for us, but doesn't directly affect users.

The downside is, of course, the minor regressions. And we're about to have much bigger changes.

What you need to know:
Some dependencies will be added to the project. We are going to stop baking GLEW into our source, for example. LateralGM will also be updated. We will provide instructions on how to obtain the latest dependencies when that time comes. I expect us to just ship a new portable zip that everyone will need to update to.

A more comprehensive list of changes:
Title: Re: Infrastructual Changes
Post by: hpg678 on January 14, 2018, 04:55:19 pm
[ENIGMA now writes a .desktop file on Linux alongside built games. This serves as a launcher for the game, and enables users to more easily set their own game icon.]

This is absolutely fabulous. I'm been keeping abreast with the relevant changes and I'm happy to see some attention being made towards the LINUX side of ENIGMA.
 As it is, one can do a 'complete' game in the Windows version as oppose to the LINUX version. Windows API's are easier to incorporate than LINUX APIs. Indeed one has to do more work, and be a little creative as well. This is not a complaint or rant. In short it makes me more creative and better in trying to find a solution.

In your process of re-vamping the project however, there are two aspects, if you have the time to improve on for the LINUX version

Okay, so perhaps there are 3 aspects. There some aspects in Using 3D functions, resulted in strange resulted, reversed and difficult to do in the LINUX version. I didn't mention them before anywhere because some I've worked around them, didn't use or I've written of as being my fault. Yet when I replicated them in the Windows version, they were fine.

Title: Re: Infrastructual Changes
Post by: time-killer-games on January 14, 2018, 08:03:22 pm
Title: Re: Infrastructual Changes
Post by: Wendigo on January 15, 2018, 03:15:06 am
Wow that's great news. I really enjoy using this engine.
Title: Re: Infrastructual Changes
Post by: rcobra on January 16, 2018, 07:44:56 pm
It's great news
Title: Re: Infrastructual Changes
Post by: Goombert on January 18, 2018, 04:12:58 am
This is a little bit related: tonight we got Travis CI including some Mac tests. However, we had to allow them to fail and the build to complete without them. So some PRs may show green, but the Mac tests are still queued.


There's really nothing else we can do about it because Travis just has very very few OSX instances because Apple's restrictive licensing requires the tests to be run on physical Mac hardware:

We may just have to end up provisioning our own Mac instance. But the way I see it is some tests for Mac is better than no tests, even if those tests only run once a year.

Regardless, our build times are back to 45 minutes for Travis and about 30 for AppVeyor!