Replies: 1 comment
-
Hi, sorry for late reply, I just reached my PC. I've started coding up ACE 11 years ago, with intent of having games working under kickstart 1.3 and stock configuration of A500. The first version of ACE was OS-friendly, basically just a wrapper extending graphics.library's functionality. I've found some blockers which made me ultimately drop using the graphics.library:
I guess some things could be done differently (Amiga coding wasn't and probably still isn't documented extensively) but I've ran into performance/capability blockers so I just went with full custom code. The main takeaway is that if you want to write for OS, you need to aim with games that can be done with the API and no fancy tricks that bend the limits. Oh and it's crucial to use more modern OS version to get all the goodies and fixes. Still, ACE isn't that os-unfriendly - it unfreezes it for memory allocation and file accesss. Also, there's an os-friendly branch which allows having the OS alive in the background for as long as you want, but the graphics etc are still done with custom code. |
Beta Was this translation helpful? Give feedback.
-
Hello. I'm Thom Cherryhomes, a developer with tons of experience, not just on Amiga, but on dozens of other platforms.
I am in the process of making a game (a version of PAC-MAN, using graphics and sound data from the arcade ROMs) which uses the Amiga operating system (Exec, graphics, layers, input, audio, etc.) to implement the game, while providing source code and documentation to serve as a canonical example of how to make a game that is friendly with the system and can co-exist along with other running applications, as well as running on all possible Amiga systems and peripheral configurations.
I have not only all of the Rom Kernel Manual (RKM) documentation, but also source code for version 40 of the operating system, and am finding myself scratching my head, because what I see is neither (1) slow nor (2) bloated. I see a system that goes to great lengths to multiplex resources to be shared amongst many tasks, providing low level access to the hardware in a way that can coexist with such multiplexing.
What were your findings? Do you have any examples as to what gave you your conclusions?
-Thom
Beta Was this translation helpful? Give feedback.
All reactions