• PC博物馆(番外01)-城会玩,初中生开发实体尺规大航海游戏


    发了好几期翻译的PC博物馆,本期发个番外,说说老软件写的小游戏。

    1992年,笔者读初中。当时小城人家里基本都没有电话、空调,更别说电脑了。比较幸运的是,矿务局淘汰了一批长城286给学校,电脑班的小伙伴们就写起了GWBASIC/QBasic。回想起在学校里的经历,和伙伴们一起设计这个小游戏是最开心的事情。

    1. 大航海游戏的构思

    为了打发无聊的假期,我们准备筹划一款多人参加的航海游戏。这个游戏最好满足几个关键的要求:

    • 足够酷,紧张刺激。
    • 多人参与,每个人各司其职,和真的驾驶室一样。
    • 可以回放,好让我们自鸣得意。
    • 不能很复杂,最好开开心心就把游戏开发出来。

    场景:我们首先构造一个平面笛卡尔坐标系作为场景,上北下南,长度单位为海里或者等效的某个尺度。

    角色

    • 轮船。最初位于原点处,是游戏者要操控的角色。
    • 水雷。在某些随机的海域,有固定的圆形水雷区域。轮船如果开入水雷区域,会迅速丢失生命值。弃船后的舢板不会受到水雷影响。
    • 风暴。在某些随机的海域,产生快速移动的风暴区域。轮船如果撞上风暴区域,会迅速丢失生命值。

    目标*: 游戏的目标是不断感知水雷和暴风,规避危险,控制轮船抵达目的地。目的地每一轮都会随机生成。
    基本要素技能:

    • 雷达:可以感知一定范围内的暴风和水雷。
    • 汇报:在屏幕上打印风暴和水雷的参数。
    • 海图:可以查看雷达扫描的海图,直观感受附近的危险。
    • 黑匣子:记录游戏过程,可以进行回放(上帝视角,如上图)。
    • 弃船(舢板)模式:放弃轮船,乘坐舢板。舢板不会受到水雷的影响,但会在暴风中迅速沉没。

    时间系统:自然时间轴。可按需快进一定的时间或者距离。

    玩家

    • 操作手:负责在计算机上输入后续动作参数。
    • 绘图手:负责根据文本格式的方位、速度、距离,在白纸上进行尺规绘图,不断更新航迹、威胁的位置、方向。
    • 船长:根据绘图手绘制的情况,决定调整规避暴风和水雷的路线。

    一旦游戏开始,受制于286电脑捉襟见肘的图形能力,能否在数学坐标系中引导船只穿越危险,取决于绘图手、操作手、船长的密切配合。

    2. 大航海游戏的玩点

    这个游戏准确说是准图形游戏。大部分操作是基于字符界面的。它的特点是间接性、数学模型、时间轴与实体尺规绘图。
    操作手大部分时间面对的界面是这样的:
    UI
    由于时间轴是可以选择自然流淌的,有足够的时间进行各种线下操作。最酷的就是交流和标图:

    操作手大声说:“绘图手,当前位置相对原点南偏西16.01度,距离99.03海里。”

    绘图手:“明白,有威胁吗?”

    操作手:“南偏西88.4度,距离中心65海里,边缘48海里,有半径17海里的暴风。”

    绘图手:“已经标注,走向呢?”

    操作手:“运动方向北偏东58度,速度129”

    船长:“根据目前标图的形势,该暴风可能与既定航迹交汇。设置速度100,我们走快点。”

    操作手:“明白,航速100,航向不变。”

    船长:“确认没有其他威胁,航行30海里后进入P3航点进行检查”

    操作手:“明白,时间轴推进到P3航点。”

    一次游戏完成后,一般会产生一副这样的实体海图:
    海图在紧张的极端情况下,暴风和水雷封堵了所有去路,船长只能选择弃船,进行舢板航行。有限的感知范围变得很小。
    在这里插入图片描述

    3. 胜负与回放

    在完成航行,或者游戏失败后,可以选择用黑匣子回放上帝视角的过程,以便唏嘘一下为什么没有规避成功。
    Blackbox

    4. 游戏截图

    在这里插入图片描述

    5. 源码

    可在Dos下用Qbasic运行。需要CCDOS或者Win95的汉字环境。
    https://gitcode.net/goldenhawking/oldtimes/-/blob/master/ship/ship.bas
    https://gitcode.net/goldenhawking/oldtimes/-/blob/master/ship/blackbox.bas

  • 相关阅读:
    自学(网络安全)黑客——高效学习2024
    开题报告之论文框架
    Ubuntu系统学习笔记(完整版)
    torch张量的降维与升维
    Kafka日志索引详解以及生产常见问题分析与总结
    西南科技大学模拟电子技术实验四(集成运算放大器的线性应用)预习报告
    21天打卡挑战学习MySQL——《SQL基础入门》第二周 第四篇
    031.Python面向对象_类&补充_内置私有属性&特殊方法
    小鹏汽车面试经验分享
    组合模式
  • 原文地址:https://blog.csdn.net/goldenhawking/article/details/126201028