Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
|
|
|
|
Poster | Thread | saimo
|  |
ALS, a new graphics system - RELEASED! Posted on 16-Jul-2020 11:00:01
| | [ #1 ] |
| |
 |
Elite Member  |
Joined: 11-Mar-2003 Posts: 2412
From: Unknown | | |
|
| Recently I've been working on a new graphics engine.
VIDEO PREVIEW #1 VIDEO PREVIEW #2 VIDEO PREVIEW #3 VIDEO PREVIEW #4 VIDEO PREVIEW #5 DEMOS VIDEO EXPERIMENTS VIDEO
OVERVIEW
"ALS" stands for "AMOS Layers System", as it turns the screens of AMOS Professional into layers that can be laid over one another, with complete control of order, opaqueness and colors, while keeping them renderable as usual. It is easy, does not require much knowledge of the Amiga graphics hardware, does not need installation, does not depend on third-party extensions and comes as a collection of variables, arrays and procedures written in fully-commented AMOS code - it can be thought of as an AMOS source-level library.
ALS comes in two versions: * v1: for OCS/ECS/AGA - bigger and slower (and no longer developed) * v2: for AGA only - smaller and faster
https://www.retream.com/ALS
GENERAL FEATURES
· Layers usable as screens and vice versa · Overlaying of multiple layers · Overlaying order freely arrangeable · Per-layer planes height · Per-layer planes number · Per-layer double-buffering · Per-layer vertical positioning · Per-layer colors · Per-layer 257-degree opaqueness · Per-color 257-degree opaqueness · 24-bit internal colors · LORES horizontal positioning of layers · LORES and HIRES display resolutions · Programmable display window size · Automatic centering of display window · Automatic adjustment to chipset (OCS/ECS/AGA) · Automatic creation of layers from ILBM files · Display descriptors · Layer descriptors and snapshots · Global snapshots · Palettes management · Banks management · Basic file management
ECS/AGA FEATURES
· Selectable video standard (NTSC/PAL) · Display border blanking
AGA FEATURES
· Non-EHB 6-plane displays · 24-bit display colors · 24-bit palette colors · SHRES display resolution · HIRES and SHRES horizontal positioning of layers · 4x planes fetch mode
RESTRICTIONS DUE TO HARDWARE
· Maximum number of visible planes / 1-plane layers: OCS/ECS, HIRES: 4; OCS/ECS, LORES: 6; AGA: 8 · On OCS/ECS, EHB mandatory for 6-plane displays · On OCS/ECS, 12-bit display colors · On OCS/ECS, 12-bit palette colors · On OCS Agnus, video standard (NTSC/PAL) dictated by the hardware · Limited horizontal positioning of display window · Same width for all layers · Same horizontal positioning for all layers
RESTRICTIONS DUE TO AMOS
· Maximum number of in-use/ready-to-use layers: 8 · Maximum number of planes per layer: 6
RESTRICTIONS DUE TO DESIGN
· Most AMOS display/screen commands not allowed/possible · Floppy drives not usable when the display is on.
HOW ALS WAS BORN
In 2003 I wrote a Copper-based screen flipping effect for a developer who was making a game with AMOS. Eventually, the effect was not used (and the game was not made at all), but writing it gave birth to a whole bunch of ideas, which little by little transformed into a collection of procedures that constituted a small graphics system called XPF (Cross PlayField).
The development however, having started from an effect and having proceeded spontaneously, lacked the necessary rigour that a proper system requires, so I decided to rewrite everything from scratch and created CSS (Custom Screens System). That one turned out to be a clean, feature-rich system. It worked nicely and I even wrote a few tutorials for it.
But it did not support sprites. While pondering on how to add them, I realized that actually the core design was not good enough and that an alternative one would have allowed sprites and have been more efficient, too. Therefore, I wrote another system: AVS (Advanced Video System). When I was at about 80-90% of the development... I lost the sources. I cannot remember how that happened, but for sure I could not recover them, so I remained only with the sources dating back to some days before, when a lot of important code had not been written yet. The anger, which made me hate the idea of reimplementing what had been lost, coupled with the fact that I was about to move country, killed the project.
The idea of rewriting an old game of mine using CSS - which was good enough for the purpose - kept on lingering in my head through the years. I kind of promised myself I would do that sometime, as a smaller project between bigger ones - provided I could swallow the idea of using a suboptimal system, that is. In fact, in a few occasions, I considered completing AVS first... only to drop the idea immediately: I just could not bother getting acquainted with that old code, maybe discovering that, after all, I would do things differently once again.
Although, in the meanwhile, I dedicated myself to many other projects, the ghosts of those systems kept on haunting me. In 2019 I presented CSS to the world with a video preview: it was an attempt at doing justice to the system (and thus hopefully making peace with it) and at forcing myself to complete the work by exposing publicly the waste it represented. Since then, I made a new game (Blastaway), I continued the work on and released a preview of a game (QUOD INIT EXIT IIo), I released two little updates for another game (MeMO), I almost finished an update for yet another game (SkillGrid), I created two other graphics systems not related to ALS and I made a demo (THE CURE) with one of them. But the ghosts were still there.
Well - as they say - enough is enough and better later than never: the time to get rid of them came and in July 2020 I designed and implemented a new and proper system from the scratch - and so ALS was born.
PERFORMANCE
Whenever a color, an alpha value, or the stack of the layers gets changed, it is necessary to recalculate many or even all the colors starting from those relative to the first bitplane of the first layer affected. That is a CPU-intensive operation that AMOS struggles with, so it must be avoided as much as possible by not using dynamic changes or by precalculating palettes (ALS provides specific procedures for that).
Other than that, the system is quite lightweight.
WHY AMOS SOURCE CODE?
ALS could have been written in assembly and made available as high-performance source code, as a linkable object or as an AmigaOS library, but it has been written as pure AMOS code for AMOS programs, instead. Even within the AMOS world, it could have been written as an extension or at least as embedded machine language procedures, thus resulting more efficient (in particular, the ALS_CALCULATE_PALETTE*[] procedures would have been dramatically faster). Why AMOS source code, then?
First of all, because of how ALS was born; secondly, because returning to AMOS and writing everything in such language - the language I started programming on the Amiga with - after many years was fun; then, because I enjoy the idea of showing that AMOS, which way too often gets exaggeratedly bashed, is actually more capable than it is commonly thought of; finally, because I find it just too amusing to see the surprised reactions from people who can barely believe that what ALS achieves is done by means of the original AMOS alone. Last edited by saimo on 22-May-2023 at 08:20 PM. Last edited by saimo on 06-Jul-2021 at 04:21 PM. Last edited by saimo on 06-Jun-2021 at 11:33 AM. Last edited by saimo on 06-Jun-2021 at 11:18 AM. Last edited by saimo on 01-Nov-2020 at 01:36 PM. Last edited by saimo on 01-Nov-2020 at 11:00 AM. Last edited by saimo on 01-Nov-2020 at 10:58 AM. Last edited by saimo on 30-Oct-2020 at 05:20 PM. Last edited by saimo on 30-Oct-2020 at 05:19 PM. Last edited by saimo on 19-Oct-2020 at 12:46 PM. Last edited by saimo on 19-Oct-2020 at 10:25 AM. Last edited by saimo on 19-Oct-2020 at 10:19 AM. Last edited by saimo on 19-Oct-2020 at 10:16 AM. Last edited by saimo on 19-Oct-2020 at 10:11 AM. Last edited by saimo on 08-Sep-2020 at 04:46 PM. Last edited by saimo on 08-Sep-2020 at 04:40 PM. Last edited by saimo on 08-Sep-2020 at 04:40 PM. Last edited by saimo on 21-Jul-2020 at 11:18 PM. Last edited by saimo on 17-Jul-2020 at 06:36 PM. Last edited by saimo on 17-Jul-2020 at 06:30 PM. Last edited by saimo on 16-Jul-2020 at 11:00 AM. Last edited by saimo on 16-Jul-2020 at 11:00 AM.
_________________ RETREAM - retro dreams for Amiga, Commodore 64 and PC |
| Status: Offline |
| | Lou
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 15:01:33
| | [ #2 ] |
| |
 |
Elite Member  |
Joined: 2-Nov-2004 Posts: 4167
From: Rhode Island | | |
|
| | Status: Offline |
| | MEGA_RJ_MICAL
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 15:37:01
| | [ #3 ] |
| |
 |
Super Member  |
Joined: 13-Dec-2019 Posts: 1200
From: AMIGAWORLD.NET WAS ORIGINALLY FOUNDED BY DAVID DOYLE | | |
|
| This, my friends, it's how it's done.
No banter, no bounties, no rattling of tin cups, no arguments, no pathetic parading of personal miseries.
Hard work, and when the work is over, the fruits get unveiled and shared.
Well done, friend Saimo! Indeed, well done.
MEGA RJM
_________________ I HAVE ABS OF STEEL -- CAN YOU SEE ME? CAN YOU HEAR ME? OK FOR WORK |
| Status: Offline |
| | Templario
 |  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 15:39:42
| | [ #4 ] |
| |
 |
Elite Member  |
Joined: 22-Jun-2004 Posts: 3626
From: Unknown | | |
|
| | Status: Offline |
| | MEGA_RJ_MICAL
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 15:43:09
| | [ #5 ] |
| |
 |
Super Member  |
Joined: 13-Dec-2019 Posts: 1200
From: AMIGAWORLD.NET WAS ORIGINALLY FOUNDED BY DAVID DOYLE | | |
|
| | Status: Offline |
| | Templario
 |  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 15:45:58
| | [ #6 ] |
| |
 |
Elite Member  |
Joined: 22-Jun-2004 Posts: 3626
From: Unknown | | |
|
| @MEGA_RJ_MICAL
Yes, the best option in these forums. Last edited by Templario on 16-Jul-2020 at 03:46 PM.
|
| Status: Offline |
| | Petah
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 16:44:20
| | [ #7 ] |
| |
 |
Regular Member  |
Joined: 10-Mar-2003 Posts: 428
From: EU <3 ❤️ | | |
|
| Step aside, RTG-users - AMOS is in town, banging the hardware like it was 1989! _________________ That'll Put Marzipan In Your Pie Plate, Bingo 💻 Pro-Amiga, 🌍 Pro-Globalism, 🍅 Pro-Vegan & 🇪🇺 Pro-Joint EU Defense Intervention Initiative |
| Status: Offline |
| | saimo
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 17:25:49
| | [ #8 ] |
| |
 |
Elite Member  |
Joined: 11-Mar-2003 Posts: 2412
From: Unknown | | |
|
| @Lou
Thanks!
@MEGA_RJ_MICAL
Well, to be fair, I haven't shared anything yet :p But thanks anyway, much appreciated!
@Petah
LOL _________________ RETREAM - retro dreams for Amiga, Commodore 64 and PC |
| Status: Offline |
| | NutsAboutAmiga
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 21:13:11
| | [ #9 ] |
| |
 |
Elite Member  |
Joined: 9-Jun-2004 Posts: 12434
From: Norway | | |
|
| @Petah
Quote:
Step aside, RTG-users - AMOS is in town, banging the hardware like it was 1989!. |
Yes this real nail Amos Kittens coffin, AGA is taking over oh no…
Amos Kittens will support the most common extensions, I can’t really do anything about compiled executables in Amos Compiler or people using extensions, or poke the hardware. or people writing none compatible stuff in AOZ. And it’s pretty impossible to chase all the rabbits down all the rabbit holes.
You know a Kat is a predator, it hunts for sick and abandoned birds.
Developers have a lots of choices do they want to make something for Amiga system or for Windows/Linux/MacOSX there are lots options Unreal Studio, Game Maker, Dark Basic, SDL, Blitz Max, Pascal, C#, SDL, Allegro, Godot, AppGameKit, CryEngine, RPG Maker, Amazon Lumberyard, LibGDX, Urho3D, Unity, ClickTeam Fusion, Spring Engine, Panda 3d, Cocos 2D.
Just pick one if want make games.
Last edited by NutsAboutAmiga on 16-Jul-2020 at 09:20 PM. Last edited by NutsAboutAmiga on 16-Jul-2020 at 09:13 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
| Status: Offline |
| | saimo
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 21:24:51
| | [ #10 ] |
| |
 |
Elite Member  |
Joined: 11-Mar-2003 Posts: 2412
From: Unknown | | |
|
| @NutsAboutAmiga
Quote:
Yes this real nail Amos Kittens coffin, AGA is taking over oh no…
Amos Kittens will support the most common extensions, I can’t really do anything about compiled executables in Amos Compiler or people using extensions, or poke the hardware. or people writing none compatible stuff in AOZ. And it’s pretty impossible to chase all the rabbits down all the rabbit holes.
You know a Kat is a predator, it hunts for sick and abandoned birds.
Developers have a lots of choices do they want to make something for Amiga system or for Windows/Linux/MacOSX there are lots options Unreal Studio, Game Maker, Dark Basic, SDL, Blitz Max, Pascal, C#, SDL, Allegro, Godot, AppGameKit, CryEngine, RPG Maker, Amazon Lumberyard, LibGDX, Urho3D, Unity, ClickTeam Fusion, Spring Engine, Panda 3d, Cocos 2D.
Just pick one if want make games. |
I could not make heads or tails about your comment, so I realized I was missing a piece of the puzzle: I didn't know what Amos Kittens was. I searched for it and I learned about Amos Kittens from your blog. However, I'm still puzzled: maybe you're continuing an old conversation with Petah? Maybe I misunderstood also Petah's post (I thought it was just a joke)? Could you explain, please?Last edited by saimo on 16-Jul-2020 at 09:26 PM. Last edited by saimo on 16-Jul-2020 at 09:26 PM.
_________________ RETREAM - retro dreams for Amiga, Commodore 64 and PC |
| Status: Offline |
| | klx300r
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 21:26:29
| | [ #11 ] |
| |
 |
Elite Member  |
Joined: 4-Mar-2008 Posts: 3804
From: Toronto, Canada | | |
|
| | Status: Offline |
| | NutsAboutAmiga
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 21:50:42
| | [ #12 ] |
| |
 |
Elite Member  |
Joined: 9-Jun-2004 Posts: 12434
From: Norway | | |
|
| @saimo
Well maybe, I can’t be sure what Petah meant, but I’m pretty sure he knows about my project. I respect your project and understand your desire to chance your dreams and ideas.
But sense Path talked about RTG in a context of AMOS, I felt I should make comment about it.
Amos Kittens is system friendly Amos basic interpreter for RTG.
Your projects are going in a completely different direction, naturally I won’t want to try replicating something under development, nor is continually being updated, I be chancing a rabbit. Always 10 steps behind.
I choice chunky mode because easier to convert to ARGB, you extension clearly built heavily around planar format, that’s what call completely different direction.
Maybe this what Petah is referring to, as well or understood.
If the rabbits are developers who write AmosPro extensions, and rabbit holes represses all the features they are making, then the rabbits are making more holes in the ground than I can dig up.
Last edited by NutsAboutAmiga on 16-Jul-2020 at 10:17 PM. Last edited by NutsAboutAmiga on 16-Jul-2020 at 09:52 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
| Status: Offline |
| | NutsAboutAmiga
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 21:59:47
| | [ #13 ] |
| |
 |
Elite Member  |
Joined: 9-Jun-2004 Posts: 12434
From: Norway | | |
|
| @saimo
Amos Kittens, I felt can is animal that lot history you story about the “Schrödingers katt” about the cat in the BOX, a box some referred to emulation like for example UAE, a Cat is also predator, I felt it describe how is to chase after something. Do you see the point I’m making? I'm playing with words.
Last edited by NutsAboutAmiga on 16-Jul-2020 at 10:11 PM. Last edited by NutsAboutAmiga on 16-Jul-2020 at 10:01 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
| Status: Offline |
| | saimo
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 22:27:06
| | [ #14 ] |
| |
 |
Elite Member  |
Joined: 11-Mar-2003 Posts: 2412
From: Unknown | | |
|
| @NutsAboutAmiga
Thanks for the clarification. Yep, of course the nature of your project is such that it can't possibly cover all things AMOS, and MLS in particular. _________________ RETREAM - retro dreams for Amiga, Commodore 64 and PC |
| Status: Offline |
| | NutsAboutAmiga
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 22:32:47
| | [ #15 ] |
| |
 |
Elite Member  |
Joined: 9-Jun-2004 Posts: 12434
From: Norway | | |
|
| @saimo
Francois lionet is working on AOZ. Frédéric Cordier is working Amos Pro X, and Personal Extension I’m working on Amos Kittens ++ extensions. And your doing your own AGA implication.
Everyone working in different direction.
Users are frustrated about lack cooperation, between camps, however everyone is their own I-land I guess.
So this way point out there is lots of choice, it not like there is one choices of development tools.
Last edited by NutsAboutAmiga on 16-Jul-2020 at 10:36 PM. Last edited by NutsAboutAmiga on 16-Jul-2020 at 10:33 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
| Status: Offline |
| | saimo
|  |
Re: MLS, a new graphics system Posted on 16-Jul-2020 23:28:10
| | [ #16 ] |
| |
 |
Elite Member  |
Joined: 11-Mar-2003 Posts: 2412
From: Unknown | | |
|
| @NutsAboutAmiga
Quote:
Francois lionet is working on AOZ. Frédéric Cordier is working Amos Pro X, and Personal Extension I’m working on Amos Kittens ++ extensions. And your doing your own AGA implication.
Everyone working in different direction.
Users are frustrated about lack cooperation, between camps, however everyone is their own I-land I guess. |
First of all, I didn't know there are frustrated users, neither that there are camps and ego wars. Personally, I don't care at all: I did MLS for the reasons explained in the opening post (which basically boil down to one thing, i.e. personal fun; then I'll make MLS available to everyone so that others can benefit from it: it that happens, good; otherwise, no problem, no harm done).
That said, I don't see the problem. Each project has its own objectives and audience: * AOZ, if I understand correctly, aims to bring "easy programming" to popular platforms; * AMOS Professional AGA (only today I learned about this, as well) aims to add AGA support to AMOS Professional; * Amos Kittens aims to get AMOS sources to work on AmigaOS 4; * MLS aims to let me have some fun first of all and, secondly, to provide whoever (if any) feels like playing with multiple layers with an easy way to do that from AMOS Professional.
Therefore: * AOZ stuff will run on popular platforms; * AMOS Professional AGA and MLS stuff will run on classic Amigas; * your work will help some AMOS programs run more efficiently on AmigaOS 4.
Nothing different from what has always happened: software written for a specific platform doesn't run on incompatible platforms. I do see your commendable effort to build a bridge for AMOS stuff within Amigaland, but of course you were aware right from the start that your project couldn't provide 100% compatibility.
There's nothing wrong with different people having different projects. Do you mean you'd prefer that everybody worked on a single project for all the mentioned platforms? Aside from the technical unfeasibility (classic Amigas can't be asked to deliver the same results of the other platforms, and AmigaOS 4 can't be asked to deliver the same results of the popular platforms), working on a "unified" project would require developers to have the same goals and the same interests - which isn't and can't be the case.
Quote:
So this way point out there is lots of choice, it not like there is one choices of development tools. |
Sorry, I'm afraid I don't get this  EDIT - or maybe I get it: if you mean that it's OK that there are multiple tools to choose from, I agree.Last edited by saimo on 16-Jul-2020 at 11:29 PM.
_________________ RETREAM - retro dreams for Amiga, Commodore 64 and PC |
| Status: Offline |
| | OlafS25
|  |
Re: MLS, a new graphics system Posted on 17-Jul-2020 8:27:37
| | [ #17 ] |
| |
 |
Elite Member  |
Joined: 12-May-2010 Posts: 6222
From: Unknown | | |
|
| @saimo
thanks for your work |
| Status: Offline |
| | OlafS25
|  |
Re: MLS, a new graphics system Posted on 17-Jul-2020 10:19:18
| | [ #18 ] |
| |
 |
Elite Member  |
Joined: 12-May-2010 Posts: 6222
From: Unknown | | |
|
| @NutsAboutAmiga
What Saimo offers is another option for classic amiga (up to vampire)
I do not know the differences to Amos Pro AGA but I do not see anyone frustrated because of it
Regarding Amos Kittens... lots of work but I see it more NG related
On classic hardware banging the hardware is still the best option. It is impossible to create something perfect for both amiga (classic) and NG. Hardware and concepts are too different. And resources are too different too.
And AOZ is another beast anyway competing with other popular game development engines. Last edited by OlafS25 on 17-Jul-2020 at 01:10 PM.
|
| Status: Offline |
| | Fl@sh
|  |
Re: MLS, a new graphics system Posted on 17-Jul-2020 13:34:13
| | [ #19 ] |
| |
 |
Regular Member  |
Joined: 6-Oct-2004 Posts: 251
From: Napoli - Italy | | |
|
| @saimo
Hi Simone, as said in another forum your engine looks very promising ad optimized. I don't know if will be ever possibile to make a 2nd version using chunky logic for RTG systems, maybe something like it will be more future proof.
About AMOS personally I don't like it simple because I use C and ASM, but it can be a great dev tool for noobs or old school basic programmers.
About AMOS development maybe some dev could "call" another and say "Hey we are developing same thing.. why not join forces and make one project where compatibility is main goal?" In this way anyone could develop new stuff targeting for classics and/or NG, without loose compatibility. _________________ Pegasos II G4@1GHz 2GB Radeon 9250 256MB AmigaOS4.1 fe - MorphOS - Debian 9 Jessie |
| Status: Offline |
| | IridiumFX
|  |
Re: MLS, a new graphics system Posted on 17-Jul-2020 14:07:39
| | [ #20 ] |
| |
 |
Member  |
Joined: 7-Apr-2017 Posts: 79
From: London, UK | | |
|
| @saimo
I have just watched the video. Awesome. Thanks for your hard work Just a question about the tech capabilities which I could not totally get. Can you have n "layers" of arbitrary depth or once you decide a depth is the same for all of them ? |
| Status: Offline |
| |
|
|
|
[ home ][ about us ][ privacy ]
[ forums ][ classifieds ]
[ links ][ news archive ]
[ link to us ][ user account ]
|