自从我写上一篇文章以来,已经有很长一段时间了。现在我们生活在这个所谓的新常态中,我把更多的时间花在其他活动上,而不是看电视或玩游戏。于是,我开始回忆起过去美好的事情,其中有一件事把我带到了80年代:我以前的斯佩西。当我对游戏开发的热情正式开始的时候。
好的,所以当我在阅读关于视频游戏黄金时代的书籍,看相关的视频,阅读关于下一个月ZX Spectrum(以及Z80架构)的帖子,并为Speccy播放新的创作时,我想到了嗯…。现在为特种部队开发一款游戏有多难?有没有什么很酷的开发工具可以帮助我避免感觉自己回到了石器时代?在这一点上,你可能会说什么?但让我们面对现实吧,游戏开发已经发生了很大的变化,因为在那个时代,工具对于凡人来说根本不方便,调试真的是一件令人头疼的事情。在那些日子里,游戏开发已经发生了很大的变化,仅仅对于普通人来说,工具根本不方便,调试真的是一件令人头疼的事情。此外,我敢打赌,我们中的许多人已经习惯了舒适。有时可能太多了,但嘿,事情就是这样。
现在,当我在做我的发现过程,以建立一个符合我需求的堆栈时,我碰巧找到了几个非常吸引我注意的工具,以至于我觉得有动力写一篇关于它们的文章,试图也与现代平台的游戏开发保持短暂的距离,并给这些页面带来一些新的复古氛围。在这些页面上,我碰巧找到了一些非常吸引我的工具,我觉得有动力写一篇关于它们的文章,试图与现代平台的游戏开发保持短暂的距离,给这些页面带来一些新的复古氛围。
在安装任何编译器和相关工具之前,我搜索了除这两种语言之外的其他语言,即原始Basic和汇编语言。我的目标有两个:(A)用这种语言编写游戏的一般部分,以及(B)为汇编留下关键代码。
这就是我遇到像Elena这样有趣的项目的时候,Elena是一种基于C#的语言,它看起来很有前途,但已经一年多没有作者的帖子了。当然,还有C,但正如我将在下一节中提到的那样,我希望与VS完全集成。
然后进入BORIEL ZX BASIC!这是一个用Python编写的编译器,可用于主要平台(Windows、Linux和MacOSX),将扩展的BASIC版本翻译成Z80汇编代码。为什么要延期?因为他的作者JoséRodriguez(@boriel)以FreeBasic的语法为基础,在其中引入了结构化语言的功能,比如函数、子例程和标签。此外,他还提供了一组函数和子例程以及新的数据类型,当然还有教程。
但这完全不是它。有一个关键功能我仍然必须提一下:JZX Basic允许内联汇编指令!这对我来说是一个杀手锏的特写,这里有一个链接来展示它的一个例子。
这是一种非常流行的语言,因为近年来许多游戏都是用它为Speccy创建的,每周都会有新的添加。恩霍拉布埃纳,何塞!
这一次对我来说成了一个挑战。原因呢?我使用Visual Studio(用来玩虚幻游戏,用Unity玩游戏,用真的什么都玩)。我知道对许多人来说,使用VS可能是一种过度杀伤力和障碍,但习惯于长时间的编译不会带来任何问题,所以这对我来说是相当自然的一步。
一开始,我是从z88dk开始的,然后我寻找了更直观的工具,甚至找到了VS Code的解决方案,但都没有真正集成到VS中。幸运的是,我在GitHub找到了SPECTNETIDE,这个项目是由István Novák(@istvannovak)创建的。这是一个从一开始就集成到VS中的高级框架,具有许多方便的功能。它支持所有传统平台。它允许在单个解决方案上处理多个项目。是的,调试器.。那个令人惊叹的调试器,它允许在指令上设置断点,同时您可以直观地检查其集成仿真器上呈现的内容!
除此之外,该框架还附带了其他工具,允许您检查CPU、ULA、内存、调用堆栈,甚至磁带文件。
作者确实乐于接受建议。事实上,他实现了我的很多要求,包括Boriel ZX Spectrum的支持!如果你问我,这是一个双赢的局面。
这里有点不利的是,目前没有对ZX Spectrum Next的支持,但好消息是,这样的支持是路线图的一部分。所以我迫不及待地想让它发生。
最近,IDE的速度越来越快,因为许多新用户都活跃在该项目的页面上,有新的请求和错误报告。(太棒了,István!)。
尽管SpecNetIDE附带了内置仿真器,但在工具集中拥有外部仿真器总是很有用的。而我更喜欢的是规格。这是免费的。它使用起来很简单。这项工作做得很好。所以,这对我来说已经足够了。
现在,还有其他选择。其中几个是:ZESARUX仿真器和CSpect仿真器。前者最初是为基于Unix的操作系统发布的,现在可用于Windows等其他操作系统。而后者,另一款知名且非常流行的多平台仿真器。两者都是,imvho,很好的选择。
但是,令我惊讶的是,还有第三个仿真器:Spec256。它允许使用256种颜色,没有冲突。暂时来说,它是假想的Speccy的仿真器,而不是真正的Speccy,因为它模拟的是Z80架构,带有64位寄存器和64位内存映射(而不是8位)。这是一个非常有趣的选择,但不幸的是,它需要修改原来的游戏才能获得这些出色的结果,所以只有几个游戏被改编了。
现实世界中的另一种选择是用ULAplus取代Speccy的ULA,例如,它允许使用64色模式,组织成16种颜色的4个调色板的查找表,这是相当令人印象深刻的。但是再一次,ZX Spectrum Next已经发布了,对吗?出于怀旧的目的,许多人宁愿保持他们的Speccy机器完好无损。但是,选择是有的。你说了算..。
现在,关于图片,有很多工具可以创建像素图片(免费的和商业的),但问题是它们都不支持以Speccy期望的格式导出生成的图形-至少是AFAIK,我也没有找到提供这种功能的插件或插件。幸运的是,我们可以找到一些选项来满足这一需求。
其中之一是SevenuP,这是一个简单的编辑器,因为它支持调色板并按预期导出数据,所以它可以完成这项工作。
另一个选择是MultiPaint,这是一个比SevenuP功能更多的编辑器,它也包括对ULAplus的支持。
两者都是非常方便的编辑器,尽管GUI有所不同,但如果您熟练使用像素艺术,结果可能会非常接近,所以最终,无论您选择哪一个图形编辑器,都可能会将原因归结为品味问题。
我首先想到的是Archive.org,也被称为互联网档案馆。这个网站一直在以数字形式备份数据,网站和其他文物,是的,…。包括电子游戏。我为什么要在这里提呢?因为它有一个专门介绍辛克莱·斯派姆的游戏的部分,而且尽管目前并不是所有的游戏都包括在内(在哪里),对于可用的游戏,你可以在网上播放,因为它们嵌入了M.A.M.E!
最后,还有一些博客可以帮助你迈出第一步,也可以进入更高级的领域,例如ZX Spectrum Dev中的冒险,这是一个致力于最初的Speccy(而不是致力于下一个)的线程,有很多有趣的信息和YouTube中有用视频的链接。(五)总结
总而言之,我目前为ZX Spectrum开发游戏的堆栈是:
1.Boriel ZX Basic+Z80汇编语言2.SpectNetIDE(Visual Studio版)3.Speccy Emulator 4.Windows SevenuP。
我希望你喜欢这个帖子。和往常一样,欢迎您的评论,如果有人正在为Speccy(或任何其他基于Z80的平台,如Amstrad,MSX等)编写游戏,您的开发堆栈是什么?