Click Here
home features news forums classifieds faqs links search
5812 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
39 crawler(s) on-line.
 13 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 BSzili:  7 mins ago
 Dragoon:  55 mins ago
 matthey:  1 hr 3 mins ago
 m0lebrain:  2 hrs 59 mins ago
 Steady:  3 hrs 24 mins ago
 DiscreetFX:  4 hrs 26 mins ago
 Signman:  4 hrs 32 mins ago
 freak:  4 hrs 34 mins ago
 Hammer:  4 hrs 49 mins ago
 NutsAboutAmiga:  5 hrs 4 mins ago

/  Forum Index
   /  Amiga Development
      /  ALS, a new graphics system
Register To Post

Goto page ( 1 | 2 | 3 | 4 Next Page )
PosterThread
saimo 
ALS, a new graphics system
Posted on 16-Jul-2020 11:00:01
#1 ]
Elite Member
Joined: 11-Mar-2003
Posts: 2307
From: Unknown

In the past few days I've been working on a new graphics engine.

VIDEO PREVIEW #1


OVERVIEW

"ALS" stands for "AMOS Layers System" (formerly "MLS" = "Multi-Layer System"), as it turns the screens of AMOS Professional ("AMOS" from now on) into layers that can be laid over one another, with complete control of order, colors and trasparency, while keeping them renderable as usual.
It is easy to use, does not require much knowledge of the Amiga graphics hardware, does not require installation or extensions, and comes as a set variables, arrays and procedures written in fully-commented AMOS code - it can be thought of as an AMOS source-level library.


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 type (OCS/ECS/AGA)
· Palettes management
· Banks management
· Layers snapshots

ECS/AGA FEATURES

· More flexible positioning of display window
· Display border blanking
· Selectable video standard (NTSC/PAL)

AGA FEATURES

· Non-EHB 6-plane displays/layers
· 4x planes fetch mode
· 24-bit display colors
· 24-bit palette colors
· SHRES display resolution
· SHRES horizontal positioning of layers

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, when 6 planes used, display colors 32-63 equal to display colors 0-31 with halved brightness
· On OCS/ECS, 12-bit display colors
· On OCS/ECS, 12-bit palette colors
· On OCS, slightly restricted horizontal positioning of display window
· On OCS, fixed video standard (NTSC/PAL) depending on the hardware
· 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 screen effects not allowed/possible
· Serial port not usable


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 brought to the creation of 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 didn't support sprites. While pondering on how to add them, I realized that actually the core design wasn't 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% of the development... I lost the sources. I can't remember how that happened, but for sure I couldn't recover them, so I remained only with the sources dating back to some days before, when some key additions had not been made yet. I was so angry that I hated the idea of reimplementing what had been lost, and that, coupled with the fact that I was about to move country, marked the end of 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'd do that sometime, as a smaller project between bigger ones. But, at the same time, I could never really accept the idea of using a non-optimal system, so a few times I considered completing AVS... only to drop the idea immediately: I just couldn't bother getting acquainted with that old code, maybe discovering that, after all, I'd do things differently once again.
Although I dedicated myself to many other projects, the ghosts of these systems kept on haunting me. In 2019 I presented CSS to the world with a video preview: it was an attempt between doing justice to the system (and thus hopefully make peace with it) and forcing myself to complete the work by exposing publicly the waste and the shame it represented. Since then, I made a new game (Blastaway), I continued the work on a game and released a preview of it (QUOD INIT EXIT IIo), I released two little updates for another game (MeMO), I prepared an update (still unreleased) for yet another game, I created two other graphics systems and 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 I designed and implemented a new and proper system from the scratch - and so ALS was born.


WHAT'S GOING TO HAPPEN?

ALS is almost complete - only one thing is still missing: unsurprisingly, sprites support*. Even the documentation is in place, so, in theory, it could be released already - yes, the plan is to make it available so that other developers can build games and other cool stuff on top of it. However, I'm not going that route because, firstly, I want to test the system thoroughly and, secondly, because it might be lacking in some department and I haven't realized that yet.
Therefore, I decided to develop one or two mini-games with it before releasing it: that will make for a proper test and give me the chance to make also the dream of pimping up an old game come true.

*Sprites are always left behind for one reason: with this system, it's natural to use all the bitplanes available to have as many layers and colors as possible; as a consequence, all the color registers are set automatically as needed by the layers; since the hardware assigns some of those registers to the sprites according to a very limiting scheme, it's very hard or even impossible to draw and arrange the sprites. The only practical solution is not using all the planes (at most 4 on OCS/ECS and 7 on AGA), but that reduces greatly the power and the beauty of layers, which defies the purpose of having layers in first place.
Anyway, implementing sprites is possible and I do intend to do it (a routine is already in place, actually).


PERFORMANCE

Whenever a color, an alpha value, or the stack of the layers gets changed, it is necessary to recalculate all the colors starting from those relative to the first bitplane of the first layer affected (for example: on AGA, if all the bitplanes are used, layer 2 starts from the 5th bitplane and its alpha gets changed, all the colors from 16 to 255 must be recalculated). 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). To give an idea: the video has been recorded using UAE, but on my Amiga 1200 equipped with a 68030 @ 50 MHz the same demo, compiled, slows down when the HUD layer fades in (the colors from 64 to 255 need to be recalculated).
Other than that, the system is quite lightweight.


WHY AMOS CODE?

Although assembly would make the routines dramatically faster, one amusing and motivational thing for me was precisely using AMOS only. Returning to AMOS and writing everything in such language after many years was fun and, additionally, it's just too cool to say: "Hey, this stuff is made in AMOS!"

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.

 Status: Offline
Profile     Report this post  
Lou 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 15:01:33
#2 ]
Elite Member
Joined: 2-Nov-2004
Posts: 4046
From: Rhode Island

Looks great!

 Status: Offline
Profile     Report this post  
MEGA_RJ_MICAL 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 15:37:01
#3 ]
Regular Member
Joined: 13-Dec-2019
Posts: 349
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

 Status: Offline
Profile     Report this post  
Templario 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 15:39:42
#4 ]
Elite Member
Joined: 22-Jun-2004
Posts: 3541
From: Unknown

@MEGA_RJ_MICAL
ZORRAM

_________________
Free programs&games:
http://www.morguesoft.eu

 Status: Offline
Profile     Report this post  
MEGA_RJ_MICAL 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 15:43:09
#5 ]
Regular Member
Joined: 13-Dec-2019
Posts: 349
From: AMIGAWORLD.NET WAS ORIGINALLY FOUNDED BY DAVID DOYLE

@Templario

Quote:

Templario wrote:
@MEGA_RJ_MICAL
ZORRAM


Always.

_________________
I HAVE ABS OF STEEL

 Status: Offline
Profile     Report this post  
Templario 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 15:45:58
#6 ]
Elite Member
Joined: 22-Jun-2004
Posts: 3541
From: Unknown

@MEGA_RJ_MICAL

Yes, the best option in these forums.

Last edited by Templario on 16-Jul-2020 at 03:46 PM.

_________________
Free programs&games:
http://www.morguesoft.eu

 Status: Offline
Profile     Report this post  
Petah 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 16:44:20
#7 ]
Regular Member
Joined: 10-Mar-2003
Posts: 395
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

 Status: Offline
Profile     Report this post  
saimo 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 17:25:49
#8 ]
Elite Member
Joined: 11-Mar-2003
Posts: 2307
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

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 21:13:11
#9 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11415
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
Profile     Report this post  
saimo 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 21:24:51
#10 ]
Elite Member
Joined: 11-Mar-2003
Posts: 2307
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.

 Status: Offline
Profile     Report this post  
klx300r 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 21:26:29
#11 ]
Elite Member
Joined: 4-Mar-2008
Posts: 3559
From: Toronto, Canada

@saimo

thanks Simone!

_________________
____________________________
c64-2sids, A1000, A1200T-060@50(finally working!),A4000-CSMKIII
! My Master Miggies- Amiga 1000 & AmigaOne X1000 !
mancave-ramblings
X1000 I BELIEVE

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 21:50:42
#12 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11415
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
Profile     Report this post  
NutsAboutAmiga 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 21:59:47
#13 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11415
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
Profile     Report this post  
saimo 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 22:27:06
#14 ]
Elite Member
Joined: 11-Mar-2003
Posts: 2307
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.

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 22:32:47
#15 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11415
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
Profile     Report this post  
saimo 
Re: MLS, a new graphics system
Posted on 16-Jul-2020 23:28:10
#16 ]
Elite Member
Joined: 11-Mar-2003
Posts: 2307
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.

 Status: Offline
Profile     Report this post  
OlafS25 
Re: MLS, a new graphics system
Posted on 17-Jul-2020 8:27:37
#17 ]
Elite Member
Joined: 12-May-2010
Posts: 5761
From: Unknown

@saimo

thanks for your work

 Status: Offline
Profile     Report this post  
OlafS25 
Re: MLS, a new graphics system
Posted on 17-Jul-2020 10:19:18
#18 ]
Elite Member
Joined: 12-May-2010
Posts: 5761
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
Profile     Report this post  
Fl@sh 
Re: MLS, a new graphics system
Posted on 17-Jul-2020 13:34:13
#19 ]
Regular Member
Joined: 6-Oct-2004
Posts: 168
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.

 Status: Offline
Profile     Report this post  
IridiumFX 
Re: MLS, a new graphics system
Posted on 17-Jul-2020 14:07:39
#20 ]
Member
Joined: 7-Apr-2017
Posts: 28
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
Profile     Report this post  
Goto page ( 1 | 2 | 3 | 4 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle