itafroma/zork
Composer 安装命令:
composer require itafroma/zork
包简介
Port of MIT's version of Zork from the original MDL source.
README 文档
README
This repository contains an attempt at porting the text-based adventure game Zork from its original source code written in the MIT Design Language (MDL) to PHP.
Rationale
You might be wondering, "why do this?" And you may well ask, "Why climb the highest mountain? Why, 35 88 years ago, fly the Atlan—" Okay, the real reason is because Zork holds a special place in my heart and I wanted to see if it'd be possible to replicate it in its original form—feature for feature, bug for bug—in modern languages.
Caveats
The original incarnation of Zork was written in the late '70s in a language that has long been obsolete. In order to create a faithful adaptation, the original algorithms, procedures, and program design have been ported without consideration of modern programming principles. Concepts and structures that did not exist in MDL—for example, objects—are not used. This repository should not be considered a paragon of current development practices, but an exploration of a historical moment in game development.
With that in mind, I have made a few conceits:
- Concepts and data structures that existed in MDL but do not exist in certain, more modern languages (e.g. enumerable types in PHP) are replicated as best as possible while still maintaining the spirit of the original code.
- Namespacing of functions (and classes when they are necessary) is used.
Roadmap
You can follow along with development on my blog in a series of posts I'm calling "Porting Zork". This project will follow the Semantic Versioning standard: the first numbered unstable version, 0.1.0, will contain a running executable (though not a complete game). The 1.0.0 release will be a complete port.
Installation and usage
Installation is done using Composer via Packagist:
composer create-project itafroma/zork:dev-master
At this stage of development, there is no working binary, but you can run tests using PHPUnit:
cd zork
./vendor/bin/phpunit --configuration phpunit.xml.dist
Acknowledgments
The original Zork was designed and implemented between 1977 and 1979 by Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling working out of the MIT Laboratory for Computer Science Dynamic Modeling System (MIT-DMS).
I am using the reference manual The MDL Programming Language by S. W. Galley and Greg Pfister to facilitate the porting process.
Copyright and license
The original Zork source code is copyright © 1978 Massachusetts Institute of Technology. All rights reserved.
Where applicable, the ported source code is copyright © 2015 Mark Trapp. All rights reserved. The ported code is made available under the MIT license. A copy of the license can be found in the LICENSE file.
Development disclaimer
This a personal project in its early stages of development and planning. It is not ready for collaboration or a guarantee of fitness. It's being made available for transparency (and so I have something to point to when I want to talk about it), but be warned that:
- Support requests via GitHub issues or email will go unanswered and ignored
- Pull requests will be summarily rejected
- Public progress may be minimal to non-existent for long stretches at a time
You're welcome to use what's here under the terms of its license (if one is available) or the principles of fair use (if one is not). If you like the idea/premise behind this project, I would suggest starting over the way you'd want to do it yourself as I am very unlikely to accept future contributions forked off of, or derived from, this project's current stage of development.
itafroma/zork 适用场景与选型建议
itafroma/zork 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 46 次下载、GitHub Stars 达 12, 最近一次更新时间为 2015 年 02 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「game」 「zork」 「MDL」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 itafroma/zork 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 itafroma/zork 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 itafroma/zork 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Extension AssetBundle google design material for yii2
Slim Framework 3 OOP skeleton with Web, Secured API and Cli endpoints.
腾讯小游戏ThinkPHP5.0.*版
the first PHP project
Simple CLI game
PHP chemcial - A PHP library for chemcials
统计信息
- 总下载量: 46
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 12
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-02-08