Author Topic: AGS 3.6.0 WIP (Alpha 2) - SDL2-based engine for Public Test  (Read 393 times)

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
AGS 3.6.0 - Alpha - for Public Test

ACHTUNG!
This is a ALPHA version of AGS 3.6.0.
It's not considered stable yet and must go through extensive testing.
Use at your own risk. Please back up any games before opening them in this version of AGS.
New settings in this version may make your project files unusable in previous versions after saving with this version.


Last update: 6th April 2021


Preword

This release presents a SDL2-based engine. For about 2 decades AGS engine was based on Allegro 4 graphic library, which was discontinued somewhere in the early 2010-ies (only received few patches since). There was an intent to move either to Allegro 5 or SDL (1 or 2) since, but for various reasons this task was continiously postponed. Finally we have a good progress there enough to make a build for public test.
(NOTE: Allegro 5 is very different in everything, therefore it was not trivial to just go from Allegro 4 to 5. In fact it appeared to be easier to change from Allegro 4 to SDL2).

NOTE: contains all the changes from AGS 3.5.1 (Beta 3).
IMPORTANT: this version does not change game project or data in any way, it should be compatible with both AGS 3.5.0 and 3.5.1.


Credits

- SDL2 port mostly done by Nick Sonneveld;
- New Android player made by eri0o;
- me basically gathered Nick Sonneveld's works together, tidied and fixed where necessary.


Downloads and instructions

* Full AGS 3.6.0 as installer
* Full AGS 3.6.0 as a .zip archive
* SDL2.dll (v2.0.12) for Windows

Install the 3.6.0 Editor as you please, then download SDL2.dll and put it in the Editor's program folder. This way it will hook it up and will be adding it with your game. Otherwise you'll have to manually put it near compiled game exe. This process will of course be simplified later (also see notes below).

* Android game player, aka launcher (APK signed with Debug key), suitable for running any compatible AGS game.


Notable changes

* Freely resizable window (in desktop windowed mode, obviously).
* Software renderer uses SDL2 as a final output, meaning the actual drawing on screen may be done by anything that your system supports from DirectX to OpenGL. This presumably ensures that it works on any version of Windows.
* Fully rewritten audio playback, now uses OpenAL interface and modern SDL-based sound library.
* On Android supports both "software" and "hardware" types of renderers (they are both OpenGL but use different approaches drawing sprites and effects).
* New rewritten Android game player (aka "launcher").
* Removed AVI/MPEG video support (may be temporary...). The main reason is that in the old engine they were implemented using Windows-only DirectX interface and Allegro 4 was already providing access to these. SDL2 does not, and it may be an extra hassle to recreate them. So this is under question now.
* For similar reasons removed support for DirectX-related functions in plugin API. I'm afraid this will break some older plugins that require DirectDraw and similar things. Direct3D plugin maybe will continue working as it wants Direct3D renderer, and that is still present.


Expected problems

* On Windows we currently build engine dynamically linking to SDL2.dll. This means one have to be put along with the game exe. Because this may be a hassle, I suppose we may later change this to static linking just like Allegro 4 was linked to the engine before.
* On Linux, if you are using our prebuilt binaries you should be fine, if not then you have to install SDL2 runtime libs on your linux system.
* Software renderer on Windows/Linux now works in similar way to Android & iOS, where it would first draw game in software mode in its native resolution, then paste that to texture for final display on screen. This should make full game scaling faster, but the process of transition between internal image and texture may be slower. We don't really know how much that affects perfomance in real case. There was a report that existing 16-bit games run slower, but I haven't investigate that yet (current AGS editor only allows 8-bit and 32-bit games).
* I think there may be bugs with 8-bit games and palettes, did not test it through yet.
* Noticed there may be problems playing MIDI, again need to test more and fix.
* Can't yet configure what exactly software renderer uses for final output - it will be decided automatically by SDL2.
* Not really much ways to configure audio output yet (on Windows you likely won't need that though).
* Anything we don't know yet about ....

« Last Edit: 06 Apr 2021, 09:39 by Crimson Wizard »

Joseph DiPerla

  • Joseph DiPerla, Adventure Game Creator Wannabe!
    • I can help with backgrounds
    • I can help with characters
    • I can help with play testing
    • I can help with story design
    • I can help with translating
    • I can help with voice acting
    • I can help with web design
Nice. I will give this ago within the next couple of days. Thank you all!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
Updated to Alpha 2, this is just to include latest fixes and changes from AGS 3.5.1, to keep them in sync.

New download links in the first post.

Hello.

I have received this error while running a room.
https://imgur.com/byuwNv7

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
I have received this error while running a room.
https://imgur.com/byuwNv7


Does this room open well in the editor? If so, can other engine (like 3.5.1) run same game?

Hello, I'm not having this error in the 3.5.1 version.
This error happens while being in that room during a half minute. It is truth that this room has a lot of things going on, animations and other events, but it works fine in the 3.5.1.
« Last Edit: 11 Apr 2021, 22:18 by nightmarer »