为旧系统开发游戏

develop a game for an old system

我有一个学校编程项目,只要我们展示我们的编程技能,这个主题是免费的,我有一个 amiga 500,我想知道我是否可以为它制作一个游戏?也许没什么复杂的,我知道系统有多么有限,但是否可以在 windows 10 台电脑上用模拟器制作/测试它,然后再将它刻录到磁盘上?另外,我是否可以将 comodore disquette 放入 USB 磁盘 reader 中以读取代码?还是 "too compiled" 可以从中学到什么?谢谢!

Amiga 是(曾经)是一台不错的编程计算机。 根据您的时间预算,从头开始学习和编写游戏代码可能会非常耗时(除非您已经熟悉 68000 汇编语言)。

虽然有很多选择,可以使用各种语言在这台计算机上编程:

C 编程 将 C 与 GCC 或 VBCC 和专用(但非常简单和紧凑)游戏引擎一起使用,例如 ACE:https://github.com/AmigaPorts/ACE

Amiga 带有内置的图形和音频函数库(即使是老式的 A500),可能 可以帮助您开发游戏,完全 os-友好的方式。结果会很慢,但您将能够使用硬件的每个部分(blitter、copper、bobs、sprites...):http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node040D.html

基本 Amiga 有多个版本的 Basic 语言,其中 most 个实现了相当全面的命令集来获得 most 的硬件规格(精灵、bobs...) 您可能想尝试 AMOS Basic,most 著名的:https://www.ultimateamiga.co.uk/index.php/page,16.html

作为替代,Blitz Basic 可能是这台机器上第二个 most 流行的基础:https://www.amigafuture.de/downloads.php?view=detail&df_id=3663&sid=661dbda78c2a180a20715f7467a95708

68K组装 如果你真的需要获得 Amiga 的 most,同时对金属超级 close,并且几乎是从零开始,那么你可能想看看 Photon 的视频教程:https://www.youtube.com/watch?v=p83QUZ1-P10&list=PLc3ltHgmiidpK-s0eP5hTKJnjdTHz0_bW 这些 tutos 相当面向 demos 场景,但游戏开发项目的视觉方面与您在 demos 中找到的内容非常相似os cene 项目(使用 bobs、sprites、blitter、copper list、播放 ProTracker 模块...)

我唯一的建议是在模拟器中完成大部分工作,无论您家里是否有合适的硬件。os。 WinUAE 是一个近乎完美的精确模拟器。您还将受益于所有现代工具 edit/version 您的代码(Visual Studio 代码,Git...)。

除了Amiga,我会推荐2台oldschool风格的机器(截至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,模拟器 可能是您最好的朋友。

一旦您的作品值得在真机上进行测试,并且如果您需要 "burn"(复制)您的作品到软盘上,我的建议是购买带有 PCMCIA/CompactFlash 的 Amiga 1200适配器。使用 Gotek(USB 到软盘适配器)可能是一种更便宜的替代方案,它也适用于你的 A500(但请不要为了让 Gotek 装进去而破坏你的 Amiga)。

现在 Megadrive 有一个不错的选择,感谢 Everdrive SD 卡适配器,它允许您在真正的控制台上启动您自己的任何 ROM 文件。

  1. 到 run/test 你在 Windows 上的 Amiga 东西使用 WinUAE:http://www.winuae.net/

  2. 您几乎可以使用您喜欢的任何编程语言,但 C 可能得到最好的支持(许多编译器、官方文档),而汇编程序(摩托罗拉 MC68000 CPU)让您可以完全控制用于精美效果和超高效编码(快速图形,...)的硬件。还有(或多或少)Amiga 特定的语言,例如AMOS 或 BlitzBasic/AmiBlitz,(或多或少)旨在处理特定于 Amiga 的东西或简化事物(屏幕处理、精灵、音乐、硬件访问,...)

  3. 如果您想使用 C,那么最好使用 Amiga 的 "official" 编译器,如果可能的话: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. PC 软盘驱动器无法读取或写入开箱即用的 Amiga 软盘,您需要一些额外的硬件,尝试使用谷歌搜索其中一些:ADTWin、ADF-Copy / ADF 驱动器,Disk2FDI,"Arduino Amiga Floppy Disk Reader/Writer"

  6. 零调制解调器电缆(例如,到 PC 或 Linux 盒的零调制解调器串行 USB 适配器电缆)是传输文件的简单方法 from/to Amiga - 尝试 google:"amiga SER: nullmodem",或"Amiga Explorer"(一个windows应用程序,还可以让您直接将.adf磁盘映像从PC写入Amiga的软驱)

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

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

也许您正在寻找现成的游戏引擎