为旧系统开发游戏



我有一个学校编程项目,只要我们展示我们的编程技能,这个主题是免费的,我有一台amiga 500,我想知道我是否可以为它制作一个游戏?也许没有什么复杂的,我知道这个系统有多有限,但有可能在带有模拟器的windows10 pc上进行制作/测试,然后将其刻录到磁盘上吗?还有可能我把一个comodore disquette放在一个usb读卡器里,读代码吗?还是说它"过于编译",无法从中吸取任何东西?非常感谢。

Amiga是一台很好的编程计算机。根据您的时间预算,从头开始学习和编写游戏可能相当耗时(除非您已经熟悉68000汇编语言)。

不过,有很多其他选择,可以在这台计算机上使用各种语言进行编程:

C编程将C与GCC或VBCC以及专用(但非常简单紧凑)游戏引擎(如ACE)结合使用:https://github.com/AmigaPorts/ACE

Amiga附带了一个内置的图形&可能的音频功能(甚至是好的旧A500)可以帮助您以完全操作系统友好的方式开发游戏。结果会很慢,但你可以使用硬件的每一个部分(blitter、copper、bobs、sprite…):http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node040D.html

BasicAmiga有几个版本的Basic语言,其中大多数都实现了一组相当全面的命令,以充分利用其硬件规范(精灵、波波…)您可能想尝试AMOS Basic,最著名的一款:https://www.ultimateamiga.co.uk/index.php/page,16.html

作为替代方案,闪电战基本版可能是该机器上第二受欢迎的基本版:https://www.amigafuture.de/downloads.php?view=detail&df_id=3663&sid=661dbda78c2a180a20715f7467a95708

68K Assembly如果你真的需要在超级接近金属的同时充分利用Amiga,并且几乎从零开始,那么你可能想看看Photon的视频教程:https://www.youtube.com/watch?v=p83QUZ1-P10&列表=PLc3ltHgmidpK-s0eP5hTKJnjdTHz0_bW这些教程都是以demoscene为导向的,但游戏开发项目的视觉方面大多与demoscene项目中的内容相似(使用bob、sprite、blitter、copper list、播放ProTracker模块…)

我唯一的建议是,无论你家里是否有合适的硬件,都要在模拟器中完成大部分工作。WinUAE是一个近乎完美的精确模拟器。您也将受益于所有编辑/版本代码的现代工具(Visual Studio代码、Git…)

除了Amiga,我推荐2台老式口味的机器(截至2018年):

  • SEGA Megadrive/Genesis,可以在超级使用优秀的SGDK库的友好方式:https://github.com/Stephane-D/SGDK
  • Pico-8,一个可以(必须)用Lua编程的虚拟老式控制台。Pico-8可以被理解为一个从未存在过的8位游戏机的模拟器。不过,它的社区确实很活跃。它可以在这里找到:https://www.lexaloffle.com/pico-8.php

关于Megadrive,模拟器可能是您最好的朋友。

一旦你的作品值得在真机上测试,如果你需要在软盘上"刻录"(复制)你的作品,我的建议是买一个带PCMCIA/CompactFlash适配器的Amiga 1200。使用Gotek(USB到软盘适配器)可能是一种更便宜的选择,也适用于A500(但请不要为了安装Gotek而屠杀Amiga)。

Megadrive现在有了一个不错的选择,这要归功于EverdriveSD卡适配器,它允许您在真正的控制台上启动自己的任何ROM文件。

  1. 要在Windows上运行/测试Amiga软件,请使用WinUAE:http://www.winuae.net/

  2. 你可以使用几乎任何你喜欢的编程语言,但C可能是最受支持的(许多编译器、官方文档),汇编程序(摩托罗拉MC68000 CPU)可以让你完全控制硬件,实现华丽的效果和超高效的编码(快速图形等)。还有(或多或少)Amiga特定的语言,如AMOS或BlitzBasic/AmiBlitz,这些(或多或少)是为了处理Amiga特定的东西或简化事情(屏幕处理、精灵、音乐、硬件访问…)

  3. 如果你想使用C,那么最好使用Amiga的"官方"编译器,如果可能的话:SAS-C(以前叫Lattice-C)。如果你找不到,试试vbcc、gcc、DiceC。。。(此CD具有完整的gcc/POSIX开发环境(以及更多):https://archive.org/details/cdrom-geek-gadgets-2)

  4. 这里有很多C和AmigaOS编码文档:http://amigadev.elowar.com/

  5. 电脑软盘驱动器无法直接读取或写入Amiga软盘,您需要一些额外的硬件,请尝试在谷歌上搜索其中的一些:ADTWin、ADF Copy/ADF drive、Disk2FDI、"Arduino Amiga软盘读写器">

  6. nullmodem电缆(例如,连接到PC或Linux盒的nullmoder串行USB适配器电缆)是从Amiga传输文件的简单方法-试试谷歌:"Amiga SER:nullmodem"或"Amiga Explorer"(一个windows应用程序,也可以让你直接将.adf磁盘图像从PC写入Amiga的软盘驱动器)

  7. 当然,你可以从软盘上的旧东西中学习,这取决于软盘的内容和你的专业技能如果磁盘中包含一些源代码,那就很好了。更有可能的是,意味着任何商业游戏等,它将包含一个由机器代码制成的可执行文件-用汇编程序编写,或用C代码编译,或其他什么-甚至是一个自定义加载器(=非AmigaDOS磁盘,没有DOS访问权限),为此你需要认真了解M68000指令、Amiga硬件,也许还有AmigaOS(API)。换句话说:它可能是"过度编译"的,除非你是汇编大师,或者想成为汇编大师。

注意:正如你所说,你想为你的Amiga 500编写一款游戏-这意味着我们谈论的是"经典"Amiga:m68k CPU、A500、A1200、A2000等,Workbench/Kickstart版本3.9/3.1,软盘等,包括MiniMIG、Vampire、M5等现代重新实现-如果你对非经典的,可能被称为"下一代"的Amiga计算感兴趣,可以尝试在谷歌上搜索其中的一些:AmigaOS4、AROS、MorphOS、AmigaONE

也许你正在寻找一个现成的游戏引擎

  • REDPILL
  • Scorpion发动机
  • Amiga C发动机

最新更新