LeoNigro wrote: ↑Wed Dec 11, 2024 4:57 am
I unfortunately, come from a more Microsofty software dev background, thus the inclusion of mono and .NET, and I realise I probably have a bit of a blind spot. You seem to have more expertise in the Linux software development arena than I do, so I would love to pick your brain.
Are there particular packages that you want to ensure are included in COS3?
Is there any particular dev environment or tech you are utilising that you would like to see included?
Also, I would be particularly interested in things that facilitate retro programming on 8-bit and 16-bit systems and maybe even facilitate cross compilation.
Glad to hear that COS3 is in development. I learned programming on my C64 back in the 80s. There was no Internet back then, so learning programming came through checking out C64 programming books from my local library. I learned and used BASIC for most of my casual programming projects. On the C64 I acquired a program called “Garry Kitchen’s Game Maker,” which allowed the creation of graphics, sound effects, and coding.
There are so many different development tools avalable today that it can be challenging to determine which tools to include in a system. I think you have done a good job regarding such decisions for COS2. On a Linux based system GCC and open source libraries are common: the SDL 1.2/2.0 library suite, openGL, and Vulkan. Eclipse and Code::Blocks are common IDE’s on Linux. Visual Studio is a new comer to Linux, and I think it’s good addition; having tools from the Windows side helps, I think.. Godot is good. Irrlicht is a 3D library that would be good to include also.
A development project that I was working on in AGK (App Game Kit) on Linux Mint runs successfully in COS2. I also found some of my old Windows projects run also in COS2, so I presume WINE is setup by default on COS2, which is very cool. The App Game Kit is developed by The Game Creators, who had also developed the DarkBasic programming language, which I’ve also used. I’ve read online comments that DarkBasic was inspired by the AmigaOS programming language AMOS. AMOS was, and still is, a popular BASIC language on the Amiga. I knew about it during my years as a Commodore Amiga 1200 user, but I used BlitzBasic instead. I used BlitzBasic on my A1200 to create an Intellivision clone of
Astrosmash that I entitled
Astrocrunch. The most recent development of this game is now called Space Pilot and it can be found here:
http://www.brigadiercomputers.com/index ... pilot-game.
I chose BlitzBasic as it had several similarities to C. I eventually switched from BlitzBasic/BlitzMax to DarkBasic/AGK as The Game Creators created the DarkGDK, which was the entire Darkbasic library of functions available as a C/C++ library. There was a BlitzSDK that made the BlitzBasic functions available for C developers, but support for it didn’t last long. I was developing a 3D version of a 2D project I had created trying to use the BlitzSDK when support was pulled from BlitzSDK, so I got a little upset about it, and this is why I ended up using DarkBasic and AGK instead.
I think the idea for both is good, though: providing a development option that includes BASIC to help teach programming while also allowing the same functions to made available as a C library for those who want to move on to C/C++. This provides an easier step-up to higher levels of development. While developing in BlitzBasic or in DarkBasic, one learns the function names, so transitioning from BASIC to C is easier as the function names remain the same, thus reducing the learning curve from BASIC to C. Many, like myself, learned BASIC coding in Secondary School, so this development option is useful for such young coders. The one function that would make such a transition better would be a program that would convert the code from BASIC into C; this way time spent in writing BASIC code isn’t a loss when decicing to move over to C. Python is common for young programmers these days, so including Python would be good also.
I haven’t investigated it yet, but BlitzMax, which had a Linux version, is open source now over at
https://www.blitzbasic.org/forum/downloads.php. To maintain the Retro theme, including the open source version of BlitzMax could provide some nostalgia to those who wrote BlitzBasic programs on their Commodore Amigas back in the day.
A Commander X16 development option could be a good option as well; I’m sure The 8-Bit Guy may help you with that. He did recently open an arcade near where I live, and I’m not sure if the X16 is in the arcade, but I would think he’d be interested in widening the development base for it. And for cross-development to old Commodore 8-bit and 16-bit systems, Hans de Ruiter has some related ideas on his new YouTube channel (
https://www.youtube.com/@KSD-AmigaCorner).
There is an online repository of old 8-bit programming books over at
http://www.atariarchives.org. Indeed most books are Atari focused but many can also be used for C64 programming. Perhaps adding some bookmarks in the web browser for some of these online resources can be helpful for enhancing a retro environment. It’s sister site,
http://www.atarimagazines.com includes Atari and Commodore 64 based magazines, such as Compute! and Compute’s Gazette, that retro seekers may also find useful.
Sorry for the lengthy reply, but I hope this helps. Please let me know if you need clarification or more information.