diff --git a/.idea/Gamerecommendation.iml b/.idea/Gamerecommendation.iml new file mode 100644 index 0000000000000000000000000000000000000000..fa3fa520b0e0feee3f4df865e6566e6c9bd81fd7 --- /dev/null +++ b/.idea/Gamerecommendation.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..b460e4c6fe2a2dab9bcc66f1542b0c5555b106d2 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..91dc617556823f26284604744474215d4f5d7925 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..9661ac713428efbad557d3ba3a62216b5bb7d226 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000000000000000000000000000000000..04fbcd9fdc92755877240e4694cbdc382593b7c8 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + { + "associatedIndex": 5 +} + + + + + + + { + "keyToString": { + "DefaultHtmlFileTemplate": "HTML File", + "JavaScript 调试.game_recommendations.html.executor": "Run", + "JavaScript 调试.index.html.executor": "Run", + "Python.IN.executor": "Run", + "Python.app.executor": "Run", + "Python.database (1).executor": "Run", + "Python.database.executor": "Run", + "Python.database_name (1).executor": "Run", + "Python.databse_game.executor": "Run", + "Python.extract_images.executor": "Run", + "Python.models.executor": "Run", + "RunOnceActivity.ShowReadmeOnStart": "true", + "git-widget-placeholder": "master", + "last_opened_file_path": "C:/Users/PEKINGMILITARY/IdeaProjects/软工一班第八组/pabug", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "run.code.analysis.last.selected.profile": "aDefault", + "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable", + "vue.rearranger.settings.migration": "true" + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1720255298650 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.en.md b/README.en.md deleted file mode 100644 index f51fa11c3843cab6ed875ac9c108e9a7d19e8137..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# 软工1班 - -#### Description -软工1班的小周期最终项目提交仓库 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index f0e84200be053fdbc16d5db9821e501c6b3c3ff7..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# 软工1班 - -#### 介绍 -软工1班小周期项目提交仓库 - -#### 提交项目说明 - -1. 项目源码(除 node_modules文件夹都要提交) -2. 项目文档说明(最少包含三个模块 1.项目背景 2.项目功能说明 3.项目技术架构) -3. 项目截图 - -#### 特别说明 - -1. 如果不具备独立完成项目能力,需要在项目文档中说明清楚自己所做的内容以及完成功能 -2. 项目提交时间截止到2024.7.11 晚8点 -3. 不得抄袭,不得作假,一经发现,本项目分数为0 -4. 一周以后,出实习成绩 -5. 对本项目提交有疑问,找班主任咨询 \ No newline at end of file diff --git a/README.txt b/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..527f24c857227159d27f7c7b675fddb5d95f5f09 --- /dev/null +++ b/README.txt @@ -0,0 +1,224 @@ +1 项目背景_游戏推荐系统 +本项目旨在开发一个游戏推荐系统网页,用户可以通过该网页浏览游戏信息,并获得游戏推荐。项目数据来源于网络爬虫,从多个网站收集了100个游戏的封面图、名称、发布时间和介绍等信息。收集到的数据存储在MySQL数据库中,并通过Flask框架构建Web应用展示和推荐游戏。 + +2 功能特性,项目功能说明 + 2.1 数据提取和准备: +从静态文件夹中提取游戏的图片、名称、介绍和发布时间信息。 +使用正则表达式处理发布时间文本,提取年份信息。 + 2.2 数据库存储: +使用 SQLAlchemy 将游戏数据存储到 MySQL 数据库中。 +包括游戏名称、图片路径、发布日期和游戏简介等字段。 + 2.3 异常处理和数据一致性: +异常处理确保在数据存储过程中出现问题时进行回滚,以维持数据的一致性。 +使用数据库会话管理,确保在操作完成后及时关闭会话。 + 2.4主页展示:主页展示所有游戏的封面图和名称,每行显示5个游戏,共20行。 +游戏详情:点击游戏名称后,弹出该游戏的详细信息,包括发布时间和游戏介绍。 +游戏推荐:每个游戏详情页面都有一个"推荐游戏"链接,点击后会显示与当前游戏最相似的10个游戏。相似度通过计算游戏特征向量的余弦相似度得出。 + +3 项目技术架构 + 3.1 数据爬取与处理 +爬虫技术:使用Python的requests和BeautifulSoup库从网站上爬取游戏数据,包括游戏封面图、名称、发布时间和介绍。 +数据存储:爬取的数据首先保存到本地文件夹中,然后通过SQLAlchemy ORM将数据插入到MySQL数据库。 + 3.2 配置数据库 +在 MySQL 数据库中创建一个名为 game 的数据库。 +在项目中的 your_script.py 文件中配置数据库连接信息: +DATABASE_URI = 'mysql+pymysql://user:password@localhost/game' +数据库类型:MySQL +数据库结构:数据库名为game,包含一个表game。表结构如下: +id (INT, AUTO_INCREMENT, PRIMARY KEY) +game_name (VARCHAR(255), NOT NULL) +img_path (VARCHAR(255)) +release_date (DATE) +game_description (TEXT) +created_at (DATETIME, DEFAULT CURRENT_TIMESTAMP) +updated_at (DATETIME, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) + 3.3 后端 +框架:Flask +功能: +路由管理:使用Flask路由功能管理主页和游戏详情页的路径。 +数据库操作:通过SQLAlchemy与MySQL数据库交互,进行数据的查询和插入。 +游戏推荐:计算游戏特征向量的余弦相似度,实现游戏推荐功能。 + 3.4 前端 +模板引擎:Jinja2(Flask自带) +页面结构:使用HTML和CSS设计页面布局和样式。 +交互:使用JavaScript实现用户点击游戏名称时的详情展示和推荐游戏列表显示。 + +4 运行指南 + 4.1 环境要求 +Python 3.12.4 +SQLAlchemy +MySQL 数据库 +安装依赖 +安装 SQLAlchemy 和 pymysql: +pip install sqlalchemy pymysql + 4.2 数据爬取与存储 +运行数据爬取脚本,确保数据已保存到本地文件夹中。 +运行数据插入脚本,将数据保存到MySQL数据库。 + 4.3 启动应用 +python app.py +在浏览器中打开 http://127.0.0.1:5000/ 查看应用。 + +5 文件结构 +pabug/ +│ +├── database/ +│ ├── database.py/ +│ ├── database_game.py/ +│ └── models.py/ +│ +├── static/ +│ ├── imgs/ +│ ├── introduce/ +│ ├── name/ +│ ├── time/ +│ └── background.jpg +│ +│── templates/ +│ ├── game_detail.html +│ ├── guess_you_like.html +│ ├── index.html +│ └── recommend.html +│ +│── webspider/ +│ ├── content +│ ├── eigenvector +│ ├── IM.py +│ ├── IN.py +│ ├── NA.py +│ └── TI.py +│ +│── requirements.txt +│ +└── README.txt + +6 示例图片保存在目录picture + +7 代码示例 + 7.1 app.py: +from flask import Flask, render_template, request, jsonify +from sqlalchemy import create_engine, text +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +from datetime import datetime +import os +import re + +app = Flask(__name__) + +DATABASE_URI = 'mysql+pymysql://root:211070@localhost/game' +engine = create_engine(DATABASE_URI, echo=True) +Session = sessionmaker(bind=engine) +Base = declarative_base() + +class Game(Base): + __tablename__ = 'game' + id = Column(Integer, primary_key=True, autoincrement=True) + game_name = Column(String(255), nullable=False) + img_path = Column(String(255)) + release_date = Column(Date) + game_description = Column(Text) + created_at = Column(DateTime, default=datetime.now) + updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) + +Base.metadata.create_all(engine) + +@app.route('/') +def index(): + session = Session() + games = session.query(Game).all() + session.close() + return render_template('index.html', games=games) + +@app.route('/game/') +def game_detail(game_id): + session = Session() + game = session.query(Game).get(game_id) + session.close() + if game: + return jsonify({ + 'name': game.game_name, + 'release_date': game.release_date.strftime('%Y-%m-%d'), + 'description': game.game_description + }) + else: + return jsonify({'error': 'Game not found'}), 404 + +@app.route('/recommend/') +def recommend(game_id): + # 计算游戏相似度并返回推荐结果的逻辑 + pass + +if __name__ == '__main__': + app.run(debug=True) + + 7.2 数据插入脚本: +import os +import re +from datetime import datetime +from sqlalchemy import create_engine, Column, Integer, String, Date, Text, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker + +DATABASE_URI = 'mysql+pymysql://root:211070@localhost/game' +engine = create_engine(DATABASE_URI, echo=True) +Session = sessionmaker(bind=engine) +Base = declarative_base() + +class Game(Base): + __tablename__ = 'game' + id = Column(Integer, primary_key=True, autoincrement=True) + game_name = Column(String(255), nullable=False) + img_path = Column(String(255)) + release_date = Column(Date) + game_description = Column(Text) + created_at = Column(DateTime, default=datetime.now) + updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) + +Base.metadata.create_all(engine) + +base_dir = 'C:/Users/PEKINGMILITARY/IdeaProjects/软工一班第八组/pabug/static/' +imgs_dir = os.path.join(base_dir, 'imgs') +introduce_dir = os.path.join(base_dir, 'introduce') +name_dir = os.path.join(base_dir, 'name') +time_dir = os.path.join(base_dir, 'time') + +data = [] +for i in range(1, 101): + img_path = os.path.join(imgs_dir, f'img{i}.jpg') + with open(os.path.join(introduce_dir, f'introduce{i}.txt'), 'r', encoding='utf-8') as f: + game_description = f.read().strip() + with open(os.path.join(name_dir, f'name{i}.txt'), 'r', encoding='utf-8') as f: + game_name = f.read().strip() + with open(os.path.join(time_dir, f'time{i}.txt'), 'r', encoding='utf-8') as f: + release_year_str = f.read().strip() + match = re.search(r'\d{4}$', release_year_str) + if match: + release_year_str = match.group() + try: + release_date = datetime.strptime(release_year_str, '%Y').date() + except ValueError: + print(f"无法处理时间数据:{release_year_str}") + continue + game = Game( + game_name=game_name, + img_path=img_path, + release_date=release_date, + game_description=game_description + ) + data.append(game) + +session = Session() +try: + session.bulk_save_objects(data) + session.commit() + print("数据保存成功!") +except Exception as e: + session.rollback() + print(f"数据保存失败:{e}") +finally: + session.close() + +8 注意事项: +保持代码的模块化,定期清理和重构代码。 +在进行数据库操作前,请确保备份重要数据,以免意外丢失。 +如果遇到问题或需要帮助,请查阅项目文档或联系软件工程20211106124。 \ No newline at end of file diff --git a/app.py b/app.py new file mode 100644 index 0000000000000000000000000000000000000000..4430d99ef9eee5ea63e06de7321b0c653c98b258 --- /dev/null +++ b/app.py @@ -0,0 +1,184 @@ +import os +import numpy as np +from flask import Flask, render_template, request +from sklearn.metrics.pairwise import cosine_similarity + +app = Flask(__name__) + +games = { + "精灵宝可梦Go": [0, 0, 0, 0, 1, 0, 1, 0], + "最终幻想7": [1, 0, 0, 0, 1, 0, 1, 0], + "小蜜蜂": [0, 0, 0, 0, 0, 0, 1, 0], + "魔兽争霸2:黑暗之潮": [0, 0, 1, 1, 0, 0, 0, 0], + "星球大战:钛战机": [0, 1, 0, 0, 0, 0, 1, 0], + "俄勒冈之旅": [0, 0, 0, 0, 0, 0, 1, 0], + "猴岛小英雄2:勒恰克的复仇": [0, 0, 0, 0, 0, 0, 1, 0], + "火爆狂飙3:路霸": [0, 1, 0, 0, 0, 1, 1, 0], + "辐射2": [1, 0, 0, 0, 0, 0, 1, 0], + "传说之下": [1, 0, 0, 0, 1, 0, 1, 0], + "英雄联盟": [0, 1, 1, 1, 0, 0, 1, 0], + "洛克人3": [0, 0, 0, 0, 0, 0, 1, 0], + "刀魂": [0, 1, 0, 0, 0, 0, 1, 0], + "模拟城市2000": [0, 0, 0, 0, 0, 0, 1, 0], + "魂斗罗": [0, 1, 0, 0, 0, 0, 1, 0], + "Inside": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马力欧:奥德赛": [1, 0, 0, 0, 0, 0, 1, 0], + "网络奇兵2": [0, 1, 1, 1, 0, 0, 1, 0], + "侠盗猎车手:罪恶都市": [0, 1, 0, 0, 0, 1, 1, 0], + "女神异闻录5": [1, 0, 0, 0, 1, 0, 1, 0], + "冥界狂想曲": [0, 0, 0, 0, 1, 0, 1, 0], + "塞尔达传说:风之杖": [1, 0, 0, 0, 1, 0, 1, 0], + "007:黄金眼": [0, 1, 0, 0, 0, 0, 1, 0], + "任天堂明星大乱斗DX": [0, 1, 1, 0, 0, 0, 1, 0], + "上古卷轴5:天际": [1, 0, 1, 1, 0, 0, 1, 0], + "幽浮防御": [0, 1, 1, 1, 0, 0, 1, 0], + "幻想水浒传2": [0, 0, 0, 0, 0, 0, 1, 0], + "战地1942": [0, 1, 1, 1, 0, 0, 1, 0], + "Dota 2": [0, 1, 1, 1, 0, 0, 1, 0], + "最终幻想战略版": [1, 0, 1, 0, 0, 0, 1, 0], + "星球大战绝地武士2:绝地放逐者": [0, 1, 0, 0, 0, 0, 1, 0], + "神偷2:金属时代": [0, 1, 0, 0, 0, 0, 1, 0], + "洞穴探险": [0, 0, 0, 0, 0, 0, 1, 0], + "大金刚": [0, 1, 0, 0, 0, 0, 1, 0], + "军团要塞2": [0, 1, 1, 1, 0, 0, 1, 0], + "模拟人生": [0, 0, 0, 0, 1, 0, 1, 0], + "摇滚乐队": [0, 0, 0, 0, 0, 0, 1, 0], + "辐射3": [1, 0, 0, 0, 0, 0, 1, 0], + "班卓熊大冒险": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马里奥世界2:耀西岛": [0, 0, 0, 0, 0, 0, 1, 0], + "寂静岭2": [0, 0, 0, 0, 1, 0, 1, 0], + "侠盗猎车手:圣安地列斯": [0, 1, 0, 0, 0, 1, 1, 0], + "质量效应": [1, 0, 0, 0, 1, 0, 1, 0], + "使命召唤4:现代战争": [0, 1, 1, 1, 0, 0, 1, 0], + "蝙蝠侠:阿卡姆之城": [0, 1, 0, 0, 0, 0, 1, 0], + "见证者": [0, 0, 0, 0, 0, 0, 1, 0], + "风之旅人": [0, 0, 0, 0, 1, 0, 1, 0], + "神秘海域2:纵横四海": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说:梅祖拉假面": [1, 0, 0, 0, 1, 0, 1, 0], + "守望先锋": [0, 1, 1, 1, 0, 0, 1, 0], + "杀出重围": [0, 1, 1, 1, 0, 0, 1, 0], + "博德之门2:安姆的阴影": [1, 0, 1, 0, 0, 0, 1, 0], + "吃豆人小姐": [0, 0, 0, 0, 0, 0, 1, 0], + "反恐精英1.6": [0, 1, 1, 1, 0, 0, 1, 0], + "女神异闻录4:黄金版": [1, 0, 0, 0, 1, 0, 1, 0], + "地球冒险": [0, 0, 0, 0, 0, 0, 1, 0], + "生化危机重制版": [0, 1, 0, 0, 0, 0, 1, 0], + "暗黑破坏神2": [1, 0, 0, 0, 0, 0, 1, 0], + "星际争霸": [0, 1, 1, 1, 0, 0, 1, 0], + "魔兽世界": [0, 1, 1, 1, 0, 0, 1, 0], + "星球大战旧共和国武士": [0, 1, 0, 0, 0, 0, 1, 0], + "合金装备2自由之子": [1, 0, 0, 0, 1, 0, 1, 0], + "最终幻想6": [1, 0, 0, 0, 1, 0, 1, 0], + "质量效应2": [1, 0, 0, 0, 1, 0, 1, 0], + "精灵宝可梦黄": [0, 0, 0, 0, 1, 0, 1, 0], + "塞尔达传说": [1, 0, 0, 0, 1, 0, 1, 0], + "血源诅咒": [0, 1, 0, 0, 0, 0, 1, 0], + "银河战士Prime": [0, 1, 0, 0, 0, 0, 1, 0], + "生化危机4": [0, 1, 0, 0, 0, 0, 1, 0], + "巫师3狂猎": [1, 1, 0, 0, 1, 0, 1, 0], + "合金装备索利德": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧银河": [1, 0, 0, 0, 1, 0, 0, 0], + "巨像之咆哮": [0, 0, 0, 0, 0, 0, 1, 0], + "生化奇兵": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说旷野之息": [1, 0, 0, 0, 1, 0, 1, 0], + "文明4": [0, 0, 1, 1, 0, 0, 1, 0], + "我的世界": [0, 0, 0, 0, 0, 0, 1, 0], + "光环2": [0, 1, 1, 1, 0, 0, 1, 0], + "半条命": [0, 1, 0, 0, 0, 0, 1, 0], + "合金装备3食蛇者": [1, 0, 0, 0, 1, 0, 0, 0], + "最终生还者": [0, 0, 0, 0, 1, 0, 1, 0], + "毁灭战士": [0, 1, 0, 0, 0, 0, 1, 0], + "时空之轮": [0, 0, 1, 1, 0, 0, 1, 0], + "侠盗猎车手5": [0, 1, 0, 0, 0, 1, 1, 0], + "黑暗之魂": [0, 1, 0, 0, 0, 0, 1, 0], + "街头霸王2": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧兄弟": [0, 0, 0, 0, 0, 0, 1, 0], + "光环战斗进化": [0, 1, 1, 1, 0, 0, 1, 0], + "恶魔城月下夜想曲": [0, 1, 0, 0, 0, 0, 1, 0], + "传送门2": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧64": [0, 0, 0, 0, 0, 0, 1, 0], + "荒野大镖客救赎": [1, 0, 0, 0, 1, 0, 1, 0], + "半条命2": [0, 1, 0, 0, 0, 0, 1, 0], + "俄罗斯方块": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马力欧兄弟3": [0, 0, 0, 0, 0, 0, 1, 0], + "塞尔达传说众神的三角力量": [1, 0, 0, 0, 1, 0, 1, 0], + "超级银河战士": [0, 1, 0, 0, 0, 0, 1, 0], + "传送门": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说时之笛": [1, 0, 0, 0, 1, 0, 1, 0], + "超级马力欧世界": [1, 0, 0, 0, 0, 0, 1, 0], +} + +game_names = list(games.keys()) +game_vectors = np.array(list(games.values())) + +similarity_matrix = cosine_similarity(game_vectors) + +def load_game_data(): + game_data = [] + for i in range(1, 101): + name = open(f'static/name/name{i}.txt', 'r', encoding='utf-8').read().strip() + time = open(f'static/time/time{i}.txt', 'r', encoding='utf-8').read().strip() + introduce = open(f'static/introduce/introduce{i}.txt', 'r', encoding='utf-8').read().strip() + img = f'imgs/img{i}.jpg' # 确保图片路径是相对 static 目录的相对路径 + game_data.append({ + 'id': i, + 'name': name, + 'time': time, + 'introduce': introduce, + 'img': img + }) + return game_data + + +game_data = load_game_data() + + +@app.route('/') +def index(): + return render_template('index.html', games=game_data) + + +@app.route('/game/') +def game_detail(game_id): + game = game_data[game_id - 1] + return render_template('game_detail.html', game=game) + + +@app.route('/recommend/') +def recommend_games(game_id): + similarities = similarity_matrix[game_id - 1] + similar_games_indices = np.argsort(similarities)[::-1][1:6] # 获取前5个相似游戏的索引 + similar_games = [game_data[i] for i in similar_games_indices] + return render_template('recommend.html', games=similar_games) + + +@app.route('/guess_you_like', methods=['POST']) +def guess_you_like(): + selected_genres = request.form.getlist('genres') + + genre_vectors = { + 'RPG': [1, 0, 0, 0, 0, 0, 0, 0], + 'FPS': [0, 1, 0, 0, 0, 0, 0, 0], + 'SLG': [0, 0, 1, 0, 0, 0, 0, 0], + 'RTS': [0, 0, 0, 1, 0, 0, 0, 0], + 'AVG': [0, 0, 0, 0, 1, 0, 0, 0], + 'RAC': [0, 0, 0, 0, 0, 1, 0, 0], + 'ACT': [0, 0, 0, 0, 0, 0, 1, 0], + 'SIM': [0, 0, 0, 0, 0, 0, 0, 1], + } + + user_vector = np.zeros(8) + + for genre in selected_genres: + user_vector += genre_vectors[genre] + + user_similarities = cosine_similarity([user_vector], game_vectors)[0] + + recommended_game_indices = np.argsort(user_similarities)[::-1][:10] + recommended_games = [game_data[i] for i in recommended_game_indices] + + return render_template('guess_you_like.html', games=recommended_games) + + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/database/__pycache__/database.cpython-312.pyc b/database/__pycache__/database.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3e485fa417ad8f0690fca761969072927df96438 Binary files /dev/null and b/database/__pycache__/database.cpython-312.pyc differ diff --git a/database/__pycache__/models.cpython-312.pyc b/database/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c9be5cf7c5d8a343b1167d23d50f0b306b196f9 Binary files /dev/null and b/database/__pycache__/models.cpython-312.pyc differ diff --git a/database/database.py b/database/database.py new file mode 100644 index 0000000000000000000000000000000000000000..a5a9cbc38196f72f32d1fafa35152f9080378d6a --- /dev/null +++ b/database/database.py @@ -0,0 +1,21 @@ +from sqlalchemy import create_engine, text + +DATABASE_URI = 'mysql+pymysql://root:211070@localhost/game' + +engine = create_engine(DATABASE_URI, echo=True) + +with engine.connect() as connection: + connection.execute(text("CREATE DATABASE IF NOT EXISTS game;")) + connection.execute(text("USE game;")) + + connection.execute(text(""" + CREATE TABLE IF NOT EXISTS game ( + id INT AUTO_INCREMENT PRIMARY KEY, + game_name VARCHAR(255) NOT NULL, + img_path VARCHAR(255), + release_date DATE, + game_description TEXT, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP + ); + """)) diff --git a/database/databse_game.py b/database/databse_game.py new file mode 100644 index 0000000000000000000000000000000000000000..6f37d644c2d4147a150b4fcfa6eafe0ddf9ac6a3 --- /dev/null +++ b/database/databse_game.py @@ -0,0 +1,72 @@ +import os +import re +from datetime import datetime +from sqlalchemy import create_engine, Column, Integer, String, Date, Text, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker + +DATABASE_URI = 'mysql+pymysql://root:211070@localhost/game' + +engine = create_engine(DATABASE_URI, echo=True) + +Session = sessionmaker(bind=engine) + +Base = declarative_base() + +class Game(Base): + __tablename__ = 'game' + + id = Column(Integer, primary_key=True, autoincrement=True) + game_name = Column(String(255), nullable=False) + img_path = Column(String(255)) + release_date = Column(Date) + game_description = Column(Text) + created_at = Column(DateTime, default=datetime.now) + updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) + +Base.metadata.create_all(engine) + +base_dir = 'C:/Users/PEKINGMILITARY/IdeaProjects/软工一班第八组/pabug/static/' +imgs_dir = os.path.join(base_dir, 'imgs') +introduce_dir = os.path.join(base_dir, 'introduce') +name_dir = os.path.join(base_dir, 'name') +time_dir = os.path.join(base_dir, 'time') + +data = [] +for i in range(1, 101): + img_path = os.path.join(imgs_dir, f'img{i}.jpg') + with open(os.path.join(introduce_dir, f'introduce{i}.txt'), 'r', encoding='utf-8') as f: + game_description = f.read().strip() + with open(os.path.join(name_dir, f'name{i}.txt'), 'r', encoding='utf-8') as f: + game_name = f.read().strip() + with open(os.path.join(time_dir, f'time{i}.txt'), 'r', encoding='utf-8') as f: + release_year_str = f.read().strip() + + match = re.search(r'\d{4}$', release_year_str) + if match: + release_year_str = match.group() + + try: + release_date = datetime.strptime(release_year_str, '%Y').date() + except ValueError: + print(f"无法处理时间数据:{release_year_str}") + continue + + game = Game( + game_name=game_name, + img_path=img_path, + release_date=release_date, + game_description=game_description + ) + data.append(game) + +session = Session() +try: + session.bulk_save_objects(data) + session.commit() + print("数据保存成功!") +except Exception as e: + session.rollback() + print(f"数据保存失败:{e}") +finally: + session.close() diff --git a/database/models.py b/database/models.py new file mode 100644 index 0000000000000000000000000000000000000000..5f994d40d637f0bdd79ecc7b6ce569f824bb7fd7 --- /dev/null +++ b/database/models.py @@ -0,0 +1,18 @@ +# models.py + +from sqlalchemy import Column, Integer, String, Text, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.sql import func + +Base = declarative_base() + +class Game(Base): + __tablename__ = 'game' + + id = Column(Integer, primary_key=True, autoincrement=True) + game_name = Column(String(255), nullable=False) + img_path = Column(String(255), nullable=False) + release_date = Column(DateTime) + game_description = Column(Text) + created_at = Column(DateTime, default=func.now()) + updated_at = Column(DateTime, default=func.now(), onupdate=func.now()) diff --git a/generate_game_recommendation_page.py b/generate_game_recommendation_page.py new file mode 100644 index 0000000000000000000000000000000000000000..3530c9e5d1c2141594e37704afdf83cfd893632c --- /dev/null +++ b/generate_game_recommendation_page.py @@ -0,0 +1,37 @@ +def generate_game_recommendation_page(): + num_games = 100 + games_per_row = 5 + num_rows = num_games // games_per_row + + html_content = "\n\n\n游戏推荐\n\n\n" + + for row in range(num_rows): + html_content += "
\n" + + for col in range(games_per_row): + game_number = row * games_per_row + col + 1 + + img_path = f"imgs/img{game_number}.jpg" + name_file = f"static/name/name{game_number}.txt" + introduce_file = f"static/introduce/introduce{game_number}.txt" + + with open(name_file, 'r', encoding='utf-8') as name_file: + game_name = name_file.read().strip() + + html_content += f"
\n" + html_content += f"\n" + html_content += f"

{game_name}

\n" + html_content += f"
\n" + + html_content += "
\n\n" + + html_content += "\n" + + with open('game_recommendations.html', 'w', encoding='utf-8') as html_file: + html_file.write(html_content) + + print("游戏推荐网页生成成功。") + + +if __name__ == "__main__": + generate_game_recommendation_page() diff --git a/picture/1.png b/picture/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f37ca52ffe0bfb70a242da88001fd690dcd1daa3 Binary files /dev/null and b/picture/1.png differ diff --git a/picture/2.png b/picture/2.png new file mode 100644 index 0000000000000000000000000000000000000000..7545a85df57d4099581b24978de4c5640cbf424e Binary files /dev/null and b/picture/2.png differ diff --git a/picture/3.png b/picture/3.png new file mode 100644 index 0000000000000000000000000000000000000000..35240e884359d69b474204103661cdf2c04f927d Binary files /dev/null and b/picture/3.png differ diff --git a/picture/4.png b/picture/4.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7b855c10c04d3326bdfce02c33c47367fe9ee4 Binary files /dev/null and b/picture/4.png differ diff --git a/picture/5.png b/picture/5.png new file mode 100644 index 0000000000000000000000000000000000000000..d36127f8ddce4802c7e5c37d6e02d08955a3a242 Binary files /dev/null and b/picture/5.png differ diff --git a/picture/6.png b/picture/6.png new file mode 100644 index 0000000000000000000000000000000000000000..e05e44a2a72f01b6b232768e8855415664aecc4f Binary files /dev/null and b/picture/6.png differ diff --git a/picture/7.png b/picture/7.png new file mode 100644 index 0000000000000000000000000000000000000000..075d6da6b679aaf95765cb619b0bd0c8252c277d Binary files /dev/null and b/picture/7.png differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7786a646c817de1fb3a77dabb87dd33566007231 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +Flask==2.0.2 +Flask-SQLAlchemy==2.5.1 +numpy==1.21.4 +scikit-learn==1.0.1 diff --git a/static/background.jpg b/static/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/static/imgs/img1.jpg b/static/imgs/img1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1aaa2f4fcb2606596498fca5d283912d331ca5a Binary files /dev/null and b/static/imgs/img1.jpg differ diff --git a/static/imgs/img10.jpg b/static/imgs/img10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a01f5df5b04032b2da20a8e5710936b2aaa13c0 Binary files /dev/null and b/static/imgs/img10.jpg differ diff --git a/static/imgs/img100.jpg b/static/imgs/img100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b18d069bc2ff945542322692af88d55d9acf2d1b Binary files /dev/null and b/static/imgs/img100.jpg differ diff --git a/static/imgs/img11.jpg b/static/imgs/img11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7aab15838780a2ac499662712727be1b20b7ee10 Binary files /dev/null and b/static/imgs/img11.jpg differ diff --git a/static/imgs/img12.jpg b/static/imgs/img12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd189adab08bc8a5ea6a788f56aab579f0ab86df Binary files /dev/null and b/static/imgs/img12.jpg differ diff --git a/static/imgs/img13.jpg b/static/imgs/img13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc474aef4bd4453409aff00b0095ae9a72b8694e Binary files /dev/null and b/static/imgs/img13.jpg differ diff --git a/static/imgs/img14.jpg b/static/imgs/img14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a856124ec6ae24765dffc68c0e9293def7245ff1 Binary files /dev/null and b/static/imgs/img14.jpg differ diff --git a/static/imgs/img15.jpg b/static/imgs/img15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..297b7eaad61c4742d124c0ece9e2dc3d83cfd38e Binary files /dev/null and b/static/imgs/img15.jpg differ diff --git a/static/imgs/img16.jpg b/static/imgs/img16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e4965bfc2ed60f840e5747bb9e54ca4d7d6a9e9 Binary files /dev/null and b/static/imgs/img16.jpg differ diff --git a/static/imgs/img17.jpg b/static/imgs/img17.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6adaecf6fd604d867a3656449881bc871ee5989a Binary files /dev/null and b/static/imgs/img17.jpg differ diff --git a/static/imgs/img18.jpg b/static/imgs/img18.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87c0b773b84884b837f01541ec7452c663831205 Binary files /dev/null and b/static/imgs/img18.jpg differ diff --git a/static/imgs/img19.jpg b/static/imgs/img19.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e25e821ef639b6aecda6b618d4ba825701a0864 Binary files /dev/null and b/static/imgs/img19.jpg differ diff --git a/static/imgs/img2.jpg b/static/imgs/img2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0427fdac78511436e7c2709c02870fbdb4a3ccb8 Binary files /dev/null and b/static/imgs/img2.jpg differ diff --git a/static/imgs/img20.jpg b/static/imgs/img20.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a9a7e8e6aa0027ad4beb0a66e7e793bd22a906d Binary files /dev/null and b/static/imgs/img20.jpg differ diff --git a/static/imgs/img21.jpg b/static/imgs/img21.jpg new file mode 100644 index 0000000000000000000000000000000000000000..218659cb4d0e09f713f3a76edb363c7bd3dafacf Binary files /dev/null and b/static/imgs/img21.jpg differ diff --git a/static/imgs/img22.jpg b/static/imgs/img22.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e467a1bc4119b4a1991157f0e637fda67a14660 Binary files /dev/null and b/static/imgs/img22.jpg differ diff --git a/static/imgs/img23.jpg b/static/imgs/img23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7b2cde6c0b4a0ffdda8d427c874e05541eadc04 Binary files /dev/null and b/static/imgs/img23.jpg differ diff --git a/static/imgs/img24.jpg b/static/imgs/img24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e460dbf01e74f3663b89632aba19ed11cff131fc Binary files /dev/null and b/static/imgs/img24.jpg differ diff --git a/static/imgs/img25.jpg b/static/imgs/img25.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e89a19d467a0d53ae0e481d7234bd3514e857d1a Binary files /dev/null and b/static/imgs/img25.jpg differ diff --git a/static/imgs/img26.jpg b/static/imgs/img26.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49a26acc5bd5411438116a39f92f3d10ffc9b646 Binary files /dev/null and b/static/imgs/img26.jpg differ diff --git a/static/imgs/img27.jpg b/static/imgs/img27.jpg new file mode 100644 index 0000000000000000000000000000000000000000..402b25189a3cd755c8742d765641e3503ba44500 Binary files /dev/null and b/static/imgs/img27.jpg differ diff --git a/static/imgs/img28.jpg b/static/imgs/img28.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4669c71145bc9b71ba3bf48ded50b30e1c9848df Binary files /dev/null and b/static/imgs/img28.jpg differ diff --git a/static/imgs/img29.jpg b/static/imgs/img29.jpg new file mode 100644 index 0000000000000000000000000000000000000000..11b29213be37c7c6b2ab5df707ebf22cb299a6f2 Binary files /dev/null and b/static/imgs/img29.jpg differ diff --git a/static/imgs/img3.jpg b/static/imgs/img3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77ec798698fe9701689a77fffd0a21be6cbced83 Binary files /dev/null and b/static/imgs/img3.jpg differ diff --git a/static/imgs/img30.jpg b/static/imgs/img30.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b127dbaf9a533d71975c72308055fea9c2d683f Binary files /dev/null and b/static/imgs/img30.jpg differ diff --git a/static/imgs/img31.jpg b/static/imgs/img31.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e03e04289d9e472414c9fe74259f92504b000848 Binary files /dev/null and b/static/imgs/img31.jpg differ diff --git a/static/imgs/img32.jpg b/static/imgs/img32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48ffd9b0abc36c2fdf6d9139cf5f92f79717f93b Binary files /dev/null and b/static/imgs/img32.jpg differ diff --git a/static/imgs/img33.jpg b/static/imgs/img33.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15cfac26bf5516830cf19d47ab55d59c441d1f44 Binary files /dev/null and b/static/imgs/img33.jpg differ diff --git a/static/imgs/img34.jpg b/static/imgs/img34.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b939d8207020a2e9fe3b567e9af99c9d845b3be1 Binary files /dev/null and b/static/imgs/img34.jpg differ diff --git a/static/imgs/img35.jpg b/static/imgs/img35.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b583a458ecc08a0be07efc6c61177fab5d94db4 Binary files /dev/null and b/static/imgs/img35.jpg differ diff --git a/static/imgs/img36.jpg b/static/imgs/img36.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7358d583aa352b61bb722a1cf068ebb690d3c3c Binary files /dev/null and b/static/imgs/img36.jpg differ diff --git a/static/imgs/img37.jpg b/static/imgs/img37.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad38a5618559fa17817654296657b8a483d0a14b Binary files /dev/null and b/static/imgs/img37.jpg differ diff --git a/static/imgs/img38.jpg b/static/imgs/img38.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e785e9d90d5927a24eae81c26cb869bdfdf160d2 Binary files /dev/null and b/static/imgs/img38.jpg differ diff --git a/static/imgs/img39.jpg b/static/imgs/img39.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe8cf00142991d60ad2e402819235a9ff237918c Binary files /dev/null and b/static/imgs/img39.jpg differ diff --git a/static/imgs/img4.jpg b/static/imgs/img4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..497072884bb93048fefd5ffcffc411cbdb0bd9e1 Binary files /dev/null and b/static/imgs/img4.jpg differ diff --git a/static/imgs/img40.jpg b/static/imgs/img40.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89f5b19cb51a7d36323d29dfd151f552e601d2a4 Binary files /dev/null and b/static/imgs/img40.jpg differ diff --git a/static/imgs/img41.jpg b/static/imgs/img41.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0371c23b8116a6e0565fbeabe5883058693153c6 Binary files /dev/null and b/static/imgs/img41.jpg differ diff --git a/static/imgs/img42.jpg b/static/imgs/img42.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a260c2108eedf8eb683aaad87c4d6aa2420a04c9 Binary files /dev/null and b/static/imgs/img42.jpg differ diff --git a/static/imgs/img43.jpg b/static/imgs/img43.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2f9202ac1f20947a88d22c3459f0a68df8cfe09 Binary files /dev/null and b/static/imgs/img43.jpg differ diff --git a/static/imgs/img44.jpg b/static/imgs/img44.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9340c29db387cc2a90c92ec2143e8b58c8d7e7c2 Binary files /dev/null and b/static/imgs/img44.jpg differ diff --git a/static/imgs/img45.jpg b/static/imgs/img45.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1ca32730c24f56901207cc2606fed9920e3bb39 Binary files /dev/null and b/static/imgs/img45.jpg differ diff --git a/static/imgs/img46.jpg b/static/imgs/img46.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84e795fc09fec57e6d3aa6a1d0cab59c36a1f8d5 Binary files /dev/null and b/static/imgs/img46.jpg differ diff --git a/static/imgs/img47.jpg b/static/imgs/img47.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e0d0f2382b5d5bf20bc939e93b5e8383788d051 Binary files /dev/null and b/static/imgs/img47.jpg differ diff --git a/static/imgs/img48.jpg b/static/imgs/img48.jpg new file mode 100644 index 0000000000000000000000000000000000000000..886389e336e6a15d87278651a1fe22996bc1e719 Binary files /dev/null and b/static/imgs/img48.jpg differ diff --git a/static/imgs/img49.jpg b/static/imgs/img49.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1966e4b63c53b7fcab944254dbc829846b93d3b Binary files /dev/null and b/static/imgs/img49.jpg differ diff --git a/static/imgs/img5.jpg b/static/imgs/img5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef2ee2625d62c5d9ba8c52556cecdc95e875cfb2 Binary files /dev/null and b/static/imgs/img5.jpg differ diff --git a/static/imgs/img50.jpg b/static/imgs/img50.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b40e94151ff1f83896f6cd29045191d65b602e5 Binary files /dev/null and b/static/imgs/img50.jpg differ diff --git a/static/imgs/img51.jpg b/static/imgs/img51.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3114cf2f0248e411f6785020374d9c9d5c79e565 Binary files /dev/null and b/static/imgs/img51.jpg differ diff --git a/static/imgs/img52.jpg b/static/imgs/img52.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7769ab71cfbff577376ddd0873be83dac4a9c989 Binary files /dev/null and b/static/imgs/img52.jpg differ diff --git a/static/imgs/img53.jpg b/static/imgs/img53.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e44da1d3e5e2e932d4d7755ba70c184f1695c0db Binary files /dev/null and b/static/imgs/img53.jpg differ diff --git a/static/imgs/img54.jpg b/static/imgs/img54.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e004ae2b1ccd5b2db277436588dc2757524a7dd Binary files /dev/null and b/static/imgs/img54.jpg differ diff --git a/static/imgs/img55.jpg b/static/imgs/img55.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c5623c15b5fc898e85276d865dc8fde4d8fb7b2 Binary files /dev/null and b/static/imgs/img55.jpg differ diff --git a/static/imgs/img56.jpg b/static/imgs/img56.jpg new file mode 100644 index 0000000000000000000000000000000000000000..206bfd196a36cbf8876bd4211607147f510db94b Binary files /dev/null and b/static/imgs/img56.jpg differ diff --git a/static/imgs/img57.jpg b/static/imgs/img57.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8cb19fc840e59e3eeb5d0c368248e84c07fc4b3 Binary files /dev/null and b/static/imgs/img57.jpg differ diff --git a/static/imgs/img58.jpg b/static/imgs/img58.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ea098399d1c253e175f0f828d4f135205a85964 Binary files /dev/null and b/static/imgs/img58.jpg differ diff --git a/static/imgs/img59.jpg b/static/imgs/img59.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed8d94a8349cbc676251b866fcc8ef3386aac968 Binary files /dev/null and b/static/imgs/img59.jpg differ diff --git a/static/imgs/img6.jpg b/static/imgs/img6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f0b14b0fb10afe13cbfda9f5e9e5b018c427cb63 Binary files /dev/null and b/static/imgs/img6.jpg differ diff --git a/static/imgs/img60.jpg b/static/imgs/img60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..806bc5ba155702b5c5dae229019e46d59530e958 Binary files /dev/null and b/static/imgs/img60.jpg differ diff --git a/static/imgs/img61.jpg b/static/imgs/img61.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6f0d903d57c24f3132d10e9c23a49cc4e7c445a Binary files /dev/null and b/static/imgs/img61.jpg differ diff --git a/static/imgs/img62.jpg b/static/imgs/img62.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d0bf5863f7b1f424e69f091223d97cef0a93472 Binary files /dev/null and b/static/imgs/img62.jpg differ diff --git a/static/imgs/img63.jpg b/static/imgs/img63.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d839b3d0d3b8342fe2ca5b6868fd67a8415d0d3 Binary files /dev/null and b/static/imgs/img63.jpg differ diff --git a/static/imgs/img64.jpg b/static/imgs/img64.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea6e58a627cc4df9445c6d90360836b9d749eec7 Binary files /dev/null and b/static/imgs/img64.jpg differ diff --git a/static/imgs/img65.jpg b/static/imgs/img65.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2679a73249298ee0ad0fb50d3fb91aee624293fb Binary files /dev/null and b/static/imgs/img65.jpg differ diff --git a/static/imgs/img66.jpg b/static/imgs/img66.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbb52f12142778b46958c89ddaa672a2ad87fc8c Binary files /dev/null and b/static/imgs/img66.jpg differ diff --git a/static/imgs/img67.jpg b/static/imgs/img67.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8b2f9013763e1fc1946c6e97f220869c3d3de78 Binary files /dev/null and b/static/imgs/img67.jpg differ diff --git a/static/imgs/img68.jpg b/static/imgs/img68.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe0ef4f4980c2276872aa73d40cd9f70c1bf868f Binary files /dev/null and b/static/imgs/img68.jpg differ diff --git a/static/imgs/img69.jpg b/static/imgs/img69.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0123bc721e0391609a7d9bdd1baf65c231d0e9d6 Binary files /dev/null and b/static/imgs/img69.jpg differ diff --git a/static/imgs/img7.jpg b/static/imgs/img7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3b38b1e5266d69a3c09777cf4de513accb699c2 Binary files /dev/null and b/static/imgs/img7.jpg differ diff --git a/static/imgs/img70.jpg b/static/imgs/img70.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea02500121f849249eee97805fd3fd9f50f28d57 Binary files /dev/null and b/static/imgs/img70.jpg differ diff --git a/static/imgs/img71.jpg b/static/imgs/img71.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bcf1df299a0ec4c6ec166107f0b477ec695bf3df Binary files /dev/null and b/static/imgs/img71.jpg differ diff --git a/static/imgs/img72.jpg b/static/imgs/img72.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0d6f65019a5e523b190935339225bc9e45fcea6 Binary files /dev/null and b/static/imgs/img72.jpg differ diff --git a/static/imgs/img73.jpg b/static/imgs/img73.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7e49910458bb55c04c52a10c81fc92ce6d57430 Binary files /dev/null and b/static/imgs/img73.jpg differ diff --git a/static/imgs/img74.jpg b/static/imgs/img74.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d61685b36384027916c42753161c43535b67961f Binary files /dev/null and b/static/imgs/img74.jpg differ diff --git a/static/imgs/img75.jpg b/static/imgs/img75.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d86d6b955fd9480c1b1fed0a34a34521486a7a2 Binary files /dev/null and b/static/imgs/img75.jpg differ diff --git a/static/imgs/img76.jpg b/static/imgs/img76.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b859a45e28a01f3e233749b4fe1625c4dd828a2 Binary files /dev/null and b/static/imgs/img76.jpg differ diff --git a/static/imgs/img77.jpg b/static/imgs/img77.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e999ee0af4eed678a7b4901ca9102c6b8c96194 Binary files /dev/null and b/static/imgs/img77.jpg differ diff --git a/static/imgs/img78.jpg b/static/imgs/img78.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9876bad99b6ec9e520db883bbce24e4f0f21f02 Binary files /dev/null and b/static/imgs/img78.jpg differ diff --git a/static/imgs/img79.jpg b/static/imgs/img79.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eae7a3f2d44fbc06110a62e7f9011346ae9afe9f Binary files /dev/null and b/static/imgs/img79.jpg differ diff --git a/static/imgs/img8.jpg b/static/imgs/img8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94ad105ca90994b4283b21e92cd74a9f235220cf Binary files /dev/null and b/static/imgs/img8.jpg differ diff --git a/static/imgs/img80.jpg b/static/imgs/img80.jpg new file mode 100644 index 0000000000000000000000000000000000000000..578a400b6e40469a0ae3d6b443f3c1f663ec3a25 Binary files /dev/null and b/static/imgs/img80.jpg differ diff --git a/static/imgs/img81.jpg b/static/imgs/img81.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b03e4f6490204fcb00c709ef43247e193ee88d00 Binary files /dev/null and b/static/imgs/img81.jpg differ diff --git a/static/imgs/img82.jpg b/static/imgs/img82.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0bc8e336e79301ae979eb6bac08e70eab7775d65 Binary files /dev/null and b/static/imgs/img82.jpg differ diff --git a/static/imgs/img83.jpg b/static/imgs/img83.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37bbfd34114d386291eca050ce9c70c0ad41a4eb Binary files /dev/null and b/static/imgs/img83.jpg differ diff --git a/static/imgs/img84.jpg b/static/imgs/img84.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2acb797240bb08b6b7c506187806e14e27f5c96f Binary files /dev/null and b/static/imgs/img84.jpg differ diff --git a/static/imgs/img85.jpg b/static/imgs/img85.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffd25c367e4b62177a6d38a8efe190ae51c1b54e Binary files /dev/null and b/static/imgs/img85.jpg differ diff --git a/static/imgs/img86.jpg b/static/imgs/img86.jpg new file mode 100644 index 0000000000000000000000000000000000000000..192d26de84bac331e26b765e16d9bcb4b2af5edd Binary files /dev/null and b/static/imgs/img86.jpg differ diff --git a/static/imgs/img87.jpg b/static/imgs/img87.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aeb8c210e12d17e8a69993cbc928e040dc760913 Binary files /dev/null and b/static/imgs/img87.jpg differ diff --git a/static/imgs/img88.jpg b/static/imgs/img88.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f297e1f8280bf0a46b0d141238b32187d09c8b95 Binary files /dev/null and b/static/imgs/img88.jpg differ diff --git a/static/imgs/img89.jpg b/static/imgs/img89.jpg new file mode 100644 index 0000000000000000000000000000000000000000..661ab1b0ddb8ed0c90b4278304640606ac694376 Binary files /dev/null and b/static/imgs/img89.jpg differ diff --git a/static/imgs/img9.jpg b/static/imgs/img9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..331a5ed7ee3b7971a7332ba644d412ea0c0d772c Binary files /dev/null and b/static/imgs/img9.jpg differ diff --git a/static/imgs/img90.jpg b/static/imgs/img90.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c3c8b3be9a341f213faed96e7b7e35306ed6b29 Binary files /dev/null and b/static/imgs/img90.jpg differ diff --git a/static/imgs/img91.jpg b/static/imgs/img91.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4026d9bf5e3d11055c9bdb90e7552c232f24068d Binary files /dev/null and b/static/imgs/img91.jpg differ diff --git a/static/imgs/img92.jpg b/static/imgs/img92.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46286dadc6c9ca542b376f36cd7ac2f3a55d5c81 Binary files /dev/null and b/static/imgs/img92.jpg differ diff --git a/static/imgs/img93.jpg b/static/imgs/img93.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ae65d2e3ac4037a31a88a4d83acbad36fe51667 Binary files /dev/null and b/static/imgs/img93.jpg differ diff --git a/static/imgs/img94.jpg b/static/imgs/img94.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bf433a90f5c591d65bef03845e2353c17393651d Binary files /dev/null and b/static/imgs/img94.jpg differ diff --git a/static/imgs/img95.jpg b/static/imgs/img95.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0692dfee3677c7327073b3f9a014a55bd88a48df Binary files /dev/null and b/static/imgs/img95.jpg differ diff --git a/static/imgs/img96.jpg b/static/imgs/img96.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3d66790ffbfff36f0362e0a2f5bb12cd5b2f5d6 Binary files /dev/null and b/static/imgs/img96.jpg differ diff --git a/static/imgs/img97.jpg b/static/imgs/img97.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d04b1d539876edd70607bd552901debcd249532 Binary files /dev/null and b/static/imgs/img97.jpg differ diff --git a/static/imgs/img98.jpg b/static/imgs/img98.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d56dbfa18886e294267d0f0950719e699a9fcbf Binary files /dev/null and b/static/imgs/img98.jpg differ diff --git a/static/imgs/img99.jpg b/static/imgs/img99.jpg new file mode 100644 index 0000000000000000000000000000000000000000..38eff802dce088468537451c7a9cc060a10b263e Binary files /dev/null and b/static/imgs/img99.jpg differ diff --git a/static/introduce/introduce1.txt b/static/introduce/introduce1.txt new file mode 100644 index 0000000000000000000000000000000000000000..06eb1a0ca48e7c81b96b9f821ec0860a44705bbc --- /dev/null +++ b/static/introduce/introduce1.txt @@ -0,0 +1 @@ +《精灵宝可梦Go(Pokémon Go)》游戏中的内容和玩家的周边世界息息相关。由于游戏只能通过探索周边世界来进行。《精灵宝可梦Go》激励了一大批玩家共同建立社区,并携手踏上一段探索之旅,这甚至成为了一种文化现象。游戏在发布之初其实并不算顺利,但是它却造就了一个难以想象的强大社区。而随着宝可梦对战,以及动态天气系统等重大更新的上线,它让我们儿时所幻想的宝可梦大冒险变得越来越真实。伴随着对增强现实技术开创性地运用,游戏让玩家们感觉宝可梦似乎真的就在身边一样。该游戏体现了当新兴科技与怀旧体验相结合时,所能展现出的力量。 \ No newline at end of file diff --git a/static/introduce/introduce10.txt b/static/introduce/introduce10.txt new file mode 100644 index 0000000000000000000000000000000000000000..d838b743f5382b44dc0d145c6b75d50be395ceeb --- /dev/null +++ b/static/introduce/introduce10.txt @@ -0,0 +1 @@ +一个小孩落入了怪物们的世界,然后他很快发现,自己成为了某种古老积怨的发泄对象。鉴于以往游戏里的主角们往往都是人挡杀人,佛挡杀佛,《传说之下(Undertale)》在游戏中提供了独一无二的选择。玩家们可以饶恕自己遇见的每一个敌人,虽然并没有任何人要求你那么做。玩家所做出的任何一个杀戮/饶恕的决定,都会为游戏世界带来一些改变。这些改变包括,某只怪物也许会好奇在自己的朋友身上发生了什么,获得一次让人啼笑皆非的约会机会,或是降低某场弹幕战斗的难度等等。《传说之下》这款游戏极富情感和魅力,它一心想要向玩家们展示,游戏中的每一个举动都会带来相应的后果,无论你当初认为这个行为是多么微不足道。结合以上所有要素,再配上游戏本身令人难以置信的背景音乐和弹幕挑战,《传说之下》无疑是一款让人印象深刻的游戏。 \ No newline at end of file diff --git a/static/introduce/introduce100.txt b/static/introduce/introduce100.txt new file mode 100644 index 0000000000000000000000000000000000000000..90decda3913568e4097cb1672a1b6807fbe142bf --- /dev/null +++ b/static/introduce/introduce100.txt @@ -0,0 +1 @@ +《超级马力欧世界(Super Mario World)》对笔者来说意味着很多不同的东西。从基础层面上来说,这是笔者最喜欢的系列游戏中最喜欢的游戏。这是一款,极具魅力、创造性和挑战性的平台跳跃游戏。它吸取了任天堂在NES平台上推出的前三款游戏中的精华,并将其提升到了一个新的水平。所有设计都变得更大,更明亮,更复杂。但在个人层面上,正是这款游戏引发了笔者对电子游戏的深入思考。笔者表面上看起来正心不在焉地看着电视,靠着多年练就的肌肉记忆玩着游戏。但其实正相反,笔者正透过游戏的表象,真正思考游戏设计中的深层内容。笔者清楚地记得自己曾花费几个小时练习使用马力欧的斗篷,直到自己完全掌握了滑行通关的能力。在互联网普及之前,笔者仔细检查了游戏的每一个角落,找到了每一个隐藏关卡,最终完美地通过了96个关卡。这仍然是笔者每年都会玩一次的游戏,而且让笔者感到震惊的是,即便在25年后,笔者的手指仍然熟悉游戏中的每一个细微操作。简而言之,《超级马力欧世界》是笔者有史以来最喜欢的电子游戏,也是IGN所选出的有史以来最好的游戏。 \ No newline at end of file diff --git a/static/introduce/introduce11.txt b/static/introduce/introduce11.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f428da1a05f664fca4d09b0061ca328f2ba295c --- /dev/null +++ b/static/introduce/introduce11.txt @@ -0,0 +1 @@ +《英雄联盟(League of Legends)》的神奇之处就在于,它将策略,乐趣和刺激的竞技很好地结合在了一起。虽然想要完全掌握游戏里的130个英雄十分困难,但《英雄联盟》在降低MOBA类游戏的上手难度上,的确提供了一个很好的范例。而随着玩家们段位的提升,游戏又会重新变得极富挑战性。在大多数的时候里,玩家们都在“召唤师峡谷”这张优秀的地图上竞技。当然了,如果有玩家想要休闲一下,也可以选择在“极地大乱斗”模式里练练英雄。Riot的开发者们正在重启《英雄联盟》的背景故事,这也使得游戏的内容更加完整。每一次新英雄的推出和旧英雄的重新制作都显得无比隆重。这让玩家们很难错过这些新消息。即使伴随着版本的不断更新,英雄池的不断扩大,《英雄联盟》依旧是当今最好的竞技游戏之一。 \ No newline at end of file diff --git a/static/introduce/introduce12.txt b/static/introduce/introduce12.txt new file mode 100644 index 0000000000000000000000000000000000000000..079847766a942dc3d2b6d69c4c4e34d883e21d40 --- /dev/null +++ b/static/introduce/introduce12.txt @@ -0,0 +1 @@ +如果我们将《洛克人2(Mega Man 2)》比作一首榜上热歌的话,那么《洛克人3(Mega Man 3)》就是在当初那首热歌的基础之上,将其改造成为了唱片里的大师之作。这部由卡普空发布在NES主机上的该系列第三作,很好地保持了前作标志性的高难度,以及完美的地图设计。同时又引入了极具操作性的新角色和游戏机制。从而使其成为了系列中最好的一作。《洛克人3》有三方面的因素,使得它成为了经典。首先,它第一次引进了原人(Proto Man)。这个偶尔出现的反派英雄,让玩家们的冒险变得更加刺激。其次是Rush,这条拥有许多能力的小狗可以在关卡里帮助玩家前往各种未知的角落,并解开谜题。最后,游戏里洛克人获得了滑铲技能,这完全改变了之后几十年里,角色能力的发展形式。 \ No newline at end of file diff --git a/static/introduce/introduce13.txt b/static/introduce/introduce13.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f092306620c8ea4a487cfb78649422be82fcf32 --- /dev/null +++ b/static/introduce/introduce13.txt @@ -0,0 +1 @@ +《刀魂(Soulcalibur)》是一款罕见的能够超越原作的游戏。作为1995年发布的《魂之利刃(Soul Edge)》的续作,《刀魂》完善了3D武器格斗游戏的机制。凭借其良好的平衡性,富有想象力的人物设计,流畅的战斗体验,《刀魂》成为了街机上的经典之作,以及Dreamcast上的第一个必玩游戏。由于其独特的游戏机制,《刀魂》在90年代中期的格斗游戏浪潮中,显得独树一帜。其中的任何角色,无论是忍者、海盗、骑士还是武僧,都能和其他角色公平一战,而胜负只取决于玩家的技术。这也是为什么这场“剑与魂(swords and souls)”的故事,能拥有如此多续作的原因。 \ No newline at end of file diff --git a/static/introduce/introduce14.txt b/static/introduce/introduce14.txt new file mode 100644 index 0000000000000000000000000000000000000000..301d870e7092d38c7dbf3ad8f1cb4b1f472d8c09 --- /dev/null +++ b/static/introduce/introduce14.txt @@ -0,0 +1 @@ +《模拟城市2000(SimCity 2000)》也许不是模拟城市系列里最复杂,最原始,最华丽的版本,但是毫无疑问,它是最经典的。作为《模拟城市(SimCity)》的续作,该游戏向玩家们提供了一个美丽,有趣,而又细致的沙盒世界。玩家可以按照自己的意愿,来自定义和管理游戏中的庞大城市。你可以选择建设一个完美的大都市:小船坞里停靠着游船,街道上行驶着车辆,刻着玩家姓名的纪念碑伫立其间,然后再建起能让顾问们满意的公交系统和医院。或者你也可以选择通过地震等天灾,或是外星人入侵来将这座城市夷为平地。与该系列其他作相比,本作让玩家感觉自己有权决定城市存亡的设定,让玩家很有满足感。玩家需要向自己城镇中的居民们供应水电,同时还要提供医疗保障和道路交通。随着城市规模的发展,玩家们需要继续建设公共交通,娱乐设施,以及金融系统等等。但是游戏的难度曲线从来不会突然增加,所以游戏的胜利总是显得水到渠成。总而言之,没有什么能比建造住宅区,并首次看到居民们迁入其中,更让人心情愉悦的事情了。 \ No newline at end of file diff --git a/static/introduce/introduce15.txt b/static/introduce/introduce15.txt new file mode 100644 index 0000000000000000000000000000000000000000..2abd1e9b6d91351c38608c15e48b0199b2332a31 --- /dev/null +++ b/static/introduce/introduce15.txt @@ -0,0 +1 @@ +来,跟我一起念:“上上下下左右左右BA开始。”以上这段按键顺序,几乎成为了电子游戏史上最为著名的密令。数以百万计的孩子们,口念着这段秘诀,化身比尔(Bill)和兰斯(Lance)加入了对抗红隼(Red Falcon)的战斗之中。虽然那些技术高超的玩家可以一条命通关《魂斗罗(Contra)》,但是对于其他普通玩家来说,只有通过输入30条生命的密令,才有可能击退外星人的入侵(虽然更多的时候还是会失败)。《魂斗罗》是在8位时代,为数不多的两名玩家不会相互拖累的合作电子游戏。随着大量武器的掉落,以及众多敌人从四面八方涌现,玩家们很多时候都会需要队友的火力支援。在瀑布那一关里,玩家们如果觉得队友拖累了自己的步伐,可以通过不断向上跳,来拖动屏幕、干掉队友。这是笔者常常对自己的弟弟干的事情。 \ No newline at end of file diff --git a/static/introduce/introduce16.txt b/static/introduce/introduce16.txt new file mode 100644 index 0000000000000000000000000000000000000000..86b06f540446586793d6e5f09ec8b04bd08d24c7 --- /dev/null +++ b/static/introduce/introduce16.txt @@ -0,0 +1 @@ +在放弃了类似于《超级马力欧(Mario)》系列的游戏机制,以及沃纳·赫尔佐格(Werner Herzog)的世界观以后,《Inside》 让玩家们三小时的游戏体验,都置身于阴谋,愉悦和厌恶的循环中。这款Playdead出品的充满阴冷美感的平台游戏,吸取了其前作《Limbo》的所有优缺点。它引入了前作里所没有的色彩,又去掉了其中那些无聊的重力谜题。游戏无需太多语言,就将脑筋急转弯和肉体恐怖结合在了一起,然后在结局那一刻将整个游戏推上了高潮。堪称杰作的动画、设定以及陌生感的营造,都在这一刻体现得淋漓尽致。《Inside》的天才之处,体现在它很好地改进了前作中的谜题,并将它们和游戏故事很好地结合了起来。笔者在游戏通关的过程中,耗费了更多时间来思考其背后的深层含义。任何想要体验这款游戏的玩家,都应该尝试这么做。 \ No newline at end of file diff --git a/static/introduce/introduce17.txt b/static/introduce/introduce17.txt new file mode 100644 index 0000000000000000000000000000000000000000..141d55888e4101562d099e73541cd01119381bbc --- /dev/null +++ b/static/introduce/introduce17.txt @@ -0,0 +1 @@ +《超级马力欧:奥德赛(Super Mario Odyssey)》吸收了以往马力欧游戏里所有优秀的元素,同时又将系列带上了前所未有的新高度。它是一封为之前所有作品而写的情书。游戏大胆地构建了一个全新的世界,而在这个世界的任何角落里,都有可能埋藏着未知的宝藏。《奥德赛》里致敬了许多笔者曾乐在其中的经典。游戏里那些让人拍案叫绝的关卡设计,则不断地向所有人彰显着制作者卓绝的技术,以及对游戏世界运行规则的理解。对于这个游戏,我们只能用一句话来形容它——《超级马力欧:奥德赛》给玩家带来的,是一种纯粹的欢乐。 \ No newline at end of file diff --git a/static/introduce/introduce18.txt b/static/introduce/introduce18.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f8f56fee2955c87973035ff1a7a5d0c023e8e81 --- /dev/null +++ b/static/introduce/introduce18.txt @@ -0,0 +1 @@ +对于任何资深PC玩家来说,只要听到“撒旦(SHODAN)”一词,往往都会虎躯一震,紧接着露出一个灿烂的笑容。《网络奇兵2(System Shock 2)》为今天常见的混合类第一人称游戏铺平了道路。作为类型的先驱者,它在其他同类游戏出现的几年以前,就树立了完美的典范。游戏的开场其实很简单:玩家发现自己独自处在一个空间站当中,而且明显是唯一一个有活着的东西。或者说是唯一活着的有机体。仅需寥寥几笔,敌对AI“撒旦”的强大就展现得淋漓尽致。玩家可以通过在游戏过程中搜集语音记录,来了解故事背景(这一首创设定,在当今同类游戏中几乎成为标准)。与此同时,玩家们还可以自由决定人物的发展方向,从DPS,到可以入侵任何设备的黑客,应有尽有。《网络奇兵2》节奏紧凑,构思精妙,最重要的是,它超越了它所处的时代。 \ No newline at end of file diff --git a/static/introduce/introduce19.txt b/static/introduce/introduce19.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b4df088406685206c727f3464ce9d63b6c90647 --- /dev/null +++ b/static/introduce/introduce19.txt @@ -0,0 +1 @@ +作为《侠盗猎车手(Grand Theft Auto)》这个伟大系列的第二部3D作品,《侠盗猎车手:罪恶都市(Grand Theft Auto: Vice City)》在发布之初,曾面临了巨大的压力。因为制作者曾信誓旦旦的表示,该作对于《侠盗猎车手3(Grand Theft Auto 3)》来说,将是一个巨大的突破。但它确实做到了。Rockstar将故事的背景设定在了1980年代的迈阿密。这段充斥着性和暴力的标志性时期,给游戏带来了十足的可玩性。游戏里随处可见的,是想要出人头地的黑帮混混,华丽的跑车,堆积如山的毒品,以及装满钞票的皮包。《罪恶都市》融合了那个时代众多流行文化的精粹。它借鉴的对象包括了《疤面煞星(Scarface)》《迈阿密风云(Miami Vice)》等等。游戏里的主角,追求着某些比生命更重要的东西,然后一步步从一个一文不名的小角色,成长成了只手遮天的大人物。他在血汗里建立起了自己的帝国。而迈阿密这个阳光普照,吸毒成瘾,为性痴狂的沿海城市,也因主角而血流成河。集合其独特的80年代风格和开放世界玩法,《罪恶都市》的可玩性在任何时候都不会降低。仅仅游戏里美妙的配乐,就能值回它的价格。《侠盗猎车手:罪恶都市》是对那个十年,性感而辛酸地绝妙重现。而它也绝对不会因时间的流逝而褪色。 \ No newline at end of file diff --git a/static/introduce/introduce2.txt b/static/introduce/introduce2.txt new file mode 100644 index 0000000000000000000000000000000000000000..e9c14e207f7dc3c116c16cbe71243f7d15154540 --- /dev/null +++ b/static/introduce/introduce2.txt @@ -0,0 +1 @@ +对于笔者来说,很少有其他游戏的初次游玩体验,能像《最终幻想7(Final Fantasy VII)》一样,让人记忆深刻。直到今天笔者还记得游戏开始时,带给当时自己的震撼。在雪崩(Avalanche)中,一个名为克劳德(Cloud)的士兵和他的同伴们跳下一辆火车,然后开始了他们在米德加(Midgar)以及之后的伟大冒险。当然了,现在回想起来,无论在该作之前诞生的《时空之轮(Chrono Trigger)》,还是发布于该作之后的《女神异闻录5(Persona 5)》,都是比《最终幻想7》更好的RPG游戏。但是它们带给笔者的共鸣感,都远远比不上《最终幻想7》。《最终幻想7》向笔者展现了游戏中的冒险可以是何等的宏大,丰富,以及激动人心。游戏给笔者带来了太多难以忘怀的回忆,例如海温德(Highwind)起飞时的场景,遭遇巨大而恐怖的星球武器(Weapon)时的紧张,以及失去关键队员时的心碎。这也是为什么在时隔20年以后,《最终幻想7重置版(Final Fantasy VII Remake)》的消息几乎统治了当年的E3——我们已经在计算着重返米德加的时间了。 \ No newline at end of file diff --git a/static/introduce/introduce20.txt b/static/introduce/introduce20.txt new file mode 100644 index 0000000000000000000000000000000000000000..842cbbc725dcb77c736ccc8a492565b91f9ea597 --- /dev/null +++ b/static/introduce/introduce20.txt @@ -0,0 +1 @@ +《女神异闻录5(Persona 5)》给人的感觉就是,所有其制作团队在前作里想要做到,却因为技术不足而没有完成的事情,在该作之中都实现了。游戏通过手绘的宫殿,替代了程序生成的地牢。《女神异闻录5》结合魅力十足的视觉效果和艺术风格,以及令人印象深刻的配乐,成为该系列游戏中最让人印象深刻的一作。游戏里所有的一切,从用户界面到转场特效再到过场动画,都很好地和游戏的风格融合在了一起。而游戏的战斗系统将系列的主要内容与那些在十多年来从未有过的完美平衡的战斗结合在一起。所有的这些,结合其充满奇思妙想的剧情,以及让人过目不忘的人设,使得该作成为了史上最好的JRPG游戏之一。 \ No newline at end of file diff --git a/static/introduce/introduce21.txt b/static/introduce/introduce21.txt new file mode 100644 index 0000000000000000000000000000000000000000..a478a2fddb02539096b9c0fd65836206787335d2 --- /dev/null +++ b/static/introduce/introduce21.txt @@ -0,0 +1 @@ +很少有游戏能创造出像《冥界狂想曲(Grim Fandango》一样的游戏场景。Tim Schafer 在LucasArts工作室任职期间的最后一款冒险游戏,或许是他最杰出的作品之一了。主角Manny Calavera在冥界不可思议的冒险之旅的灵感,取自于墨西哥亡灵节。游戏中包含了各种充满幻想色彩的角色、无可挑剔的剧情以及巧妙的解谜元素。在游戏中,玩家将扮演死亡旅行社的代理人,开启一场诙谐幽默,充满创意的冒险旅程。游戏中的每一句对白都值得你反复聆听和回味。《冥界狂想曲》的重制版于2015年发售,游戏美妙的故事、解谜以及艺术设计都得到了很好的重现。很少有游戏能够达到它的水准。 \ No newline at end of file diff --git a/static/introduce/introduce22.txt b/static/introduce/introduce22.txt new file mode 100644 index 0000000000000000000000000000000000000000..90a01f04279047084f975b30436af62875e18279 --- /dev/null +++ b/static/introduce/introduce22.txt @@ -0,0 +1 @@ +《塞尔达传说:风之杖(The Legend of Zelda: The Wind Waker)》给人带来别样的感官体验:游戏配乐令人愉快和难忘,2.5D的卡通渲染风格,精美地描绘了《塞尔达传说:时之笛(The Legend of Zelda: Ocarina of Time)》时间线之后海拉尔大陆的风貌。在游戏中发现致敬《时之笛》的彩蛋是一件很享受的事情,但《风之杖》的光芒从未被其前作所掩盖。相反,航海之旅很有趣,因为本作中林克可以控制风,而不是时间。《风之杖》是一款非常具有想象力的作品。这种想象力不仅体现在剧情中,在场景和角色设计上,以及战斗过程中亦是如此。通常情况下,林克可以使用各种令人印象深刻的武器击败敌人。在被遗忘的要塞(Forsaken Fortress)附近潜行的时候,你很难不去拾取敌人身上的物品。《风之杖》为玩家们提供了一种兼具探索、创意和恶作剧的感觉(毕竟林克可以与海盗们一起旅行),这是其他同类型游戏中感受不到的。 \ No newline at end of file diff --git a/static/introduce/introduce23.txt b/static/introduce/introduce23.txt new file mode 100644 index 0000000000000000000000000000000000000000..500a4094b6c364cf1b231bd88dcfb86f9b8954dd --- /dev/null +++ b/static/introduce/introduce23.txt @@ -0,0 +1 @@ +在笔者年轻的时候,很少有游戏能像《007:黄金眼(GoldenEye 007)》这样起到解决争论的作用。当时笔者与另外三个人住在一间公寓里,如果我们不能理性地像个成年人那样决定该由谁来做家务的话,我们就会在《黄金眼》的多人模式中做出决定。我们总会选择Facility这张地图,而为了能够显示出谁才是真正的邦德,我们总是选择Slaps Only模式(只能使用手刀攻击)。而且谁都不能选Odd Job这个角色(因为他可以像扔回旋镖一样用帽子攻击别人)。在1997年,《黄金眼》是一款开创先河的游戏。它不仅仅是一款不错的电影改编游戏(即使到今天,笔者都很难想到有哪款电影改编游戏能与它相提并论),还成为了主机平台第一人称射击游戏的范本。它的单机模式非常有代入感,让你感觉自己就是邦德。而其分屏的本地多人模式,也很快就风靡了世界各地。这也是笔者第一次体会到用狙击枪从远处干掉目标是多么爽快。以至于在18年后的今天,狙击枪仍然是笔者在任何游戏中的首选武器。 \ No newline at end of file diff --git a/static/introduce/introduce24.txt b/static/introduce/introduce24.txt new file mode 100644 index 0000000000000000000000000000000000000000..8516fac5ce5d0b799be18ce22c3b49cf62e9ff53 --- /dev/null +++ b/static/introduce/introduce24.txt @@ -0,0 +1 @@ +如果把N64平台的《任天堂明星大乱斗(Super Smash Bros.)》比作开胃菜的话,那么《任天堂明星大乱斗DX(Super Smash Bros. Melee)》绝对是餐桌上的主菜。相比之下,后者包含了大量任天堂粉丝们一直以来热切期待的东西:更多的角色、更多的舞台、更多的模式、丰富的收集品,以及任天堂历代最佳游戏的配乐。(《任天堂力量(Nintendo Power)》杂志附送的现场版配乐CD,仍是笔者最喜欢的游戏原声带之一!)在那个还没有线上联机的时代,《大乱斗DX》绝对是合作游戏的王者。笔者每次通宵的时间都花在解锁超梦和Mr. Game & Watch这些角色上面,或者是和朋友们轮流尝试,在Event Match 51中击败银河库巴(Giga Bowser)。即使在解锁所有内容之后,和朋友们一起4人乱斗的快感,仍然是本作的一大亮点。 \ No newline at end of file diff --git a/static/introduce/introduce25.txt b/static/introduce/introduce25.txt new file mode 100644 index 0000000000000000000000000000000000000000..b5b189514a94e87dfc086a9c4bf6db7002021070 --- /dev/null +++ b/static/introduce/introduce25.txt @@ -0,0 +1 @@ +《上古卷轴5:天际(The Elder Scrolls V: Skyrim)》对于笔者(一个20年来,对角色扮演游戏的热爱的玩家)来说是一个关键的转折点。在《天际》中,游戏世界变得如此之大,如此的身临其境,而且如此细致入微,以至于笔者不得不克制自己翻开每一块岩石,完成每一个任务,以及收集所有物品的想法。对笔者而言,相比于其前作《上古卷轴4:湮没(The Elder Scrolls IV: Oblivion)》,《天际》在所有方面都有很大的改进。诺德人故乡陡峭险峻的高峰和龙裔的传说要比在塞洛迪尔(Cyrodiil)发生的相对宁静的故事有意思多了。但更重要的是,在每个角落,每条道路附近都有许多可以探索的东西,甚至在游玩了一百多个小时以后,你还会偶然遇到之前没有发现过的东西。游戏对于世界观构建、探索元素和沉浸感等细节的关注体现在每一张卷轴,每一座陵墓,以及每一项任务之中。这足以让《天际》成为最好的角色扮演游戏之一,同时也史上最好的游戏之一。 \ No newline at end of file diff --git a/static/introduce/introduce26.txt b/static/introduce/introduce26.txt new file mode 100644 index 0000000000000000000000000000000000000000..00a75de483e49128e9b99552afdb86ca378dc175 --- /dev/null +++ b/static/introduce/introduce26.txt @@ -0,0 +1 @@ +《幽浮:UFO防御(X-COM: UFO Defense)》的神奇之处在于,即使它拥有极其陈旧(但富有表现力)的画面和像是数据表格一样的界面,但它仍然可以将抵御外星人、保护地球的战争,表现得如此富有紧张感和临场感。玩家所做出的每一个决定,从选择在哪里建立基地,到研究哪一种外星科技,再到是否使让士兵的最后几步来换子弹,蹲下,还是选择赌一把运气,开枪射击远处的外星人。这些选择都极为重要,如果做出了正确的选择,你的外星人猎杀小队就可以从使用先进的武器(如发射激光的制导导弹)、护甲,战术布局中获得优势;而反之,你的小队就会被屠杀殆尽,或是更糟糕的后果——变成流着口水的僵尸,沦为寄生兽(Chryssalid)的孵化器。这款游戏最好的玩法是,用你家人或朋友的名字给你小队中的每一名普通士兵命名,让你感觉战斗中伤亡的不仅仅是几个无名的外星人饵料。游戏中随机生成的地图,使玩家永远不会知道下一个角落潜藏着什么危险,而可破坏的地形意味着你可以打坏掩体。这种不可预测性使玩家的小队从一群弱者变成一支所向披靡的超级部队,能够带给玩家非凡的成就感。当然,除非你总是输得很惨。 \ No newline at end of file diff --git a/static/introduce/introduce27.txt b/static/introduce/introduce27.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2a62e7c9c3ac8f2e3db63aaf94765350e147228 --- /dev/null +++ b/static/introduce/introduce27.txt @@ -0,0 +1 @@ +在精致的美术设计、简单的游戏机制和动听的配乐上,《幻想水浒传2(Suikoden II)》与Square公司的杰作《时空之轮(Chrono Trigger)》有些相似。但区别于后者,《幻想水浒传2》有着模糊的道德界限和黑暗的剧情。在很长一段时间里,《幻想水浒传2》的稀缺性使大多数美国玩家没能入手这款游戏。而如今广大玩家们终于可以玩到这款作品了,它对于任何一位RPG游戏粉丝来说都是必玩的经典。《幻想水浒传2》的剧情不是关于拯救世界。相反,它的情节采用了非常本土化的视角,从主角熟悉的个人交际圈,逐渐扩大。游戏中真正的坏人很少,当你试图在对家人、朋友、导师和自己的义务做出一些平衡时,会让你感受到来自道德和良心的压力。《幻想水浒传2》通过让玩家在游戏中建立自己的据点的方式,给玩家带来了大量十分有趣的角色。这是一个由各行各业的男女组成的前沿国家,人们渴望倾尽所能地为所有人建设更美好的家园。相比于大多数典型的叙事型RPG游戏,《幻想水浒传2》是一款十分有新意的作品。 \ No newline at end of file diff --git a/static/introduce/introduce28.txt b/static/introduce/introduce28.txt new file mode 100644 index 0000000000000000000000000000000000000000..56d4a1894f4bedd0e92ce2311765b7ff29f0ccfc --- /dev/null +++ b/static/introduce/introduce28.txt @@ -0,0 +1 @@ +这个具有里程碑意义的射击游戏系列的首部作品,《战地1942(Battlefield 1942)》让笔者花费了数百小时的时间来游玩。虽然当时还有其他一些多人团队合作的射击游戏,但《战地1942》算得上是自成一派的作品。大规模的战役同时在海陆空全方位展开。在巨大的开放地图上指挥大型军舰,使用坦克、火炮轰击敌人,以及使用精准的轰炸改变战局的感觉令人陶醉。没有哪款游戏能像《战地1942》一样拥有如此大规模的战斗场面,而该系列的战场在接下来的15年中变得越来越广阔。 \ No newline at end of file diff --git a/static/introduce/introduce29.txt b/static/introduce/introduce29.txt new file mode 100644 index 0000000000000000000000000000000000000000..31738809498b4b3e2aa607c98d453c8fa317dc68 --- /dev/null +++ b/static/introduce/introduce29.txt @@ -0,0 +1 @@ +在一局游戏结束以后,或者即使关闭了客户端,《Dota 2》也不会结束。因为《Dota》不仅是一款游戏,它更是一种生活方式。维尔福公司的这款MOBA游戏是有史以来最有深度,机制最为复杂的游戏之一。虽然其基本规则一直保持不变,但其游戏机制却一直在改变和增加。较高的门槛会将许多新玩家拒之门外,但那些成功入门并被它吸引住的玩家,很有可能再也不会玩别的游戏了。《Dota2》中的100多名英雄各自具有不同的玩法,而真正上手一个英雄可能就需要花上数百个小时的时间。即便这样,玩家们还是经常需要学习新东西。每一次失败的战略,每一次死亡,每一次复活都是一次探索新玩法的机会。玩的更好不仅仅体现在数据上,你会感觉到自己的进步,而且每一次战胜敌人都会像第一次一样给人带来巨大的成就感。《Dota 2》最有意思的莫过于和朋友们一起五人开黑了。打钱,gank,团结一致完成目标,最终摧毁遗迹取得胜利。这种难以置信的过程让人想要一次又一次地体验。 \ No newline at end of file diff --git a/static/introduce/introduce3.txt b/static/introduce/introduce3.txt new file mode 100644 index 0000000000000000000000000000000000000000..2059c36b50ea1295b2a03dae492a99be2ebf1c6c --- /dev/null +++ b/static/introduce/introduce3.txt @@ -0,0 +1 @@ +《小蜜蜂(Galaga)》可能是有史以来,让笔者最接近于佛性的一款游戏。在玩它的过程中,笔者陷入了一种半空灵的状态。成队编制的敌人,不断升级的分数,被窃取的战士,以及濒临死亡的游戏体验结合在一起,创造出了这款嘈杂且狂热的街机游戏。笔者在游戏的过程中,体会到了一种涅槃般的极乐。总计40分钟的游戏过程,在笔者的意识里好像只过去了5分钟一样,还差点因为在机场的街机厅玩这款游戏,而错过了一趟航班。玩家需要在街机上,才能获得《小蜜蜂》完整的游戏体验。包括双向摇杆,火红色的大按钮,老旧音响所发出地独一无二的尖细音乐,显像管(CRT)带来的柔和色彩和像素化的画面,以及略显粗糙的操作手感。只有以上的这些结合在一起,才能带来《小蜜蜂》真正的体验。笔者并不能确定,平面射击游戏是否因为小蜜蜂的出现而变得更好。但在它之前,像《太空侵略者(Space Invaders)》或《大蜜蜂(Galaxian)》虽然极富创意,但是操作都十分笨重。而《小蜜蜂》的手感,却如丝般顺滑、流畅。作为当代射击游戏的先驱之一,流畅的操作,精确的控制,良好的平衡仿佛已经深深的植入了后来那些伟大的街机和主机游戏的DNA中。 \ No newline at end of file diff --git a/static/introduce/introduce30.txt b/static/introduce/introduce30.txt new file mode 100644 index 0000000000000000000000000000000000000000..81b7e9ced640ab5c9f85415058e8e1fe52422a66 --- /dev/null +++ b/static/introduce/introduce30.txt @@ -0,0 +1 @@ +《最终幻想战略版(Final Fantasy Tactics)》最吸引笔者的是它复杂的游戏机制,这会不断对笔者的修改和微观管理做出奖励。每一场战斗都鼓励玩家进行创新,和关卡开发者斗智斗勇。这些非常考验玩家创造力的关卡,还会对玩家有前瞻性的战略准备和快速的战术反应做出奖励。游戏的剧情与阴险的背叛有关,最后以悲剧收场,成功支撑起了以上这些令人愉快的游戏系统。 \ No newline at end of file diff --git a/static/introduce/introduce31.txt b/static/introduce/introduce31.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a0f3db05446722df9f6d15b5165dbd3fb4dea48 --- /dev/null +++ b/static/introduce/introduce31.txt @@ -0,0 +1 @@ +比凯尔·卡塔恩(Kyle Katarn)可能不会被新的星球大战正史宇宙认可,但他绝对是笔者最喜欢的绝地武士。《星球大战:黑暗力量(Star Wars: Dark Forces)》以及《星球大战绝地武士:黑暗力量2(Star Wars Jedi Knight: Dark Forces II)》中可能已经塑造出了他的形象,但是直到《星球大战绝地武士2:绝地放逐者(Star Wars Jedi Knight II: Jedi Outcast)》,我们才真正看到凯尔的巅峰状态(或者是更糟的状态,如果你一路玩下去的话)。这款游戏不仅需要你对善恶做出选择,在那个(电影里)主要使用光剑战斗的时代,《绝地放逐者》更是满足了粉丝们使用原力的梦想。《绝地放逐者》设法让与每一个敌人的战斗,都能带来刺激的感觉。无论敌人是会被像布娃娃一样甩来甩去的风暴突击兵,还是新的西斯学徒,在熟练地挥舞着光剑、使用出不同风格的连击时,你都会感觉自己像是一位绝地大师。加上凯尔·卡塔恩无赖一样的智慧和魅力,以及他对复仇的执着,使得《绝地放逐者》的剧情成为了星球大战宇宙中最好的故事之一。 \ No newline at end of file diff --git a/static/introduce/introduce32.txt b/static/introduce/introduce32.txt new file mode 100644 index 0000000000000000000000000000000000000000..58f2d4f7ddacefe83b5e05093345080c064d4026 --- /dev/null +++ b/static/introduce/introduce32.txt @@ -0,0 +1 @@ +《神偷2:金属时代(Thief II: The Metal Age)》很好地诠释了什么是潜行,而且还在游戏中加入了蒸汽朋克风格的魔幻元素。开发商Looking Glass打造了一个可信的世界观:在这里,科技在不断发展,而古老的魔法也得到了传承。除此之外,游戏中还有一位完美的"反英雄",要不是世界末日意味着没东西可偷,他才不会想要拯救世界。《神偷2》给玩家配备了进行完美盗窃所需要的所有工具,以及一张可以记录笔记的交互式地图。这款游戏值得你花时间去琢磨,而且在游戏过程中你还可以偷听到守卫们风趣的闲聊内容。悄无声息地在屋顶飞奔,在密道中闪转腾挪,你会感觉到自己不只是一个普通的小偷,而是一位偷窃大师。 \ No newline at end of file diff --git a/static/introduce/introduce33.txt b/static/introduce/introduce33.txt new file mode 100644 index 0000000000000000000000000000000000000000..a62c3d31c922f8a587304ac63c2d46688072a8ef --- /dev/null +++ b/static/introduce/introduce33.txt @@ -0,0 +1 @@ +《洞穴探险(Spelunky)》是一个关于耐心的游戏。无论你走了多远,只要死亡就会重头开始,这就是游戏的惩罚机制。但是每一次,你都会以不同的方式去死去,在犯错中学习。玩家会不断成长,在下一局中学会如何避免这种死亡。《洞穴探险》是一款关于模式识别的游戏。每个关卡都是随机生成的,但玩家会识别出其中熟悉的元素。你会知道怎么区分开地雷和神庙里的冰洞。在游戏的过程中,你每一次都会比上一次更加有准备,更有进步,更加节省时间。游戏本身可以教会你如何玩得更好。《洞穴探险》是一款关于胜利的游戏。当你第一次成功进入了新的区域时,当你最终击败奥尔梅克(Olmec)时,当你打破自己的最快纪录时,你都会感觉到一种成就感——付出就会有收获。但也许你应该继续挑战你的记录,或许下次还能再快几秒,不是吗?总而言之,《洞穴探险》是一款关于不断进步的游戏。 \ No newline at end of file diff --git a/static/introduce/introduce34.txt b/static/introduce/introduce34.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c1f080efb3ab53873ce735f0c02ca612436aace --- /dev/null +++ b/static/introduce/introduce34.txt @@ -0,0 +1 @@ +当你走进街机厅时,会发现《大金刚(Donkey Kong)》看起来有些与众不同。它的浅蓝色游戏机比其他游戏机要矮一些,圆一些,更受欢迎一些。游戏上面发光的字幕和插画式的美术风格,明显是上世纪60年代的比萨饼外送盒的风格。这台游戏机显然不是用来玩刺激的太空战斗游戏的。那它里面有些什么?当你把硬币投进去之后,屏幕上显示出一只猩猩攀爬着梯子嘲笑你的卡通画面,在它问你,“你能爬到多高?”之后,开始画面就结束了。随后,木桶和火焰就充满了屏幕,而角色每一个复杂的动作,会让你产生自己正在看动画片的错觉。你可能爬不了多高,但希望你身上带了够多的硬币。 \ No newline at end of file diff --git a/static/introduce/introduce35.txt b/static/introduce/introduce35.txt new file mode 100644 index 0000000000000000000000000000000000000000..53ae72d9adfa16d2e82c98a63a82569bbefcd7bd --- /dev/null +++ b/static/introduce/introduce35.txt @@ -0,0 +1 @@ +笔者并不是射击游戏的死忠粉丝,但维尔福公司的《军团要塞2(Team Fortress 2)》触碰到了笔者自己都没有意识到的兴趣点。也许是它简洁而又充满活力的设计,或者是愚蠢而又残酷的黑色幽默风格。虽然笔者也说不清楚,但是游戏中各具特色的角色,肯定是让笔者喜欢的重要原因——因为游戏中不仅可以用枪支。无论你喜欢用火焰喷射器,还是喜欢伪装成敌人,《军团要塞2》中都会有适合你的角色。让《军团要塞2》成为笔者最喜欢的游戏的另一个原因——很长的游戏寿命。《军团要塞2》发展出了新的运营方式,包括成就了这款游戏未来的社区mod和免费游戏的模式。除此之外,还有各种各样的帽子,以及新的装备和模式。而且这还是一款支持各种游戏类型的团队射击游戏,无论你是喜欢制作武器,交易帽子,和机器人对战,还是只想和朋友进行快速比赛。 \ No newline at end of file diff --git a/static/introduce/introduce36.txt b/static/introduce/introduce36.txt new file mode 100644 index 0000000000000000000000000000000000000000..267d860b355f34cc98183b310d8d8c0965c89ddb --- /dev/null +++ b/static/introduce/introduce36.txt @@ -0,0 +1 @@ +当笔者回想其自己在原版《模拟人生(The Sims)》上花费的无数时间时,笔者的记忆被分成了两个截然不同的部分。首先是宁静的部分,笔者小心翼翼地在游戏中实现成为一家之主的梦想(对于一个13岁的孩子来说,这是的确是一个奇怪的梦想)。调整房屋的平面图并重新布置家具是笔者此前从来不会在意的东西,但是一到了《模拟人生》中,笔者居然布置得很开心。与当时笔者最喜欢的其他游戏不同,其他游戏都有一个明确的目标,即达到终点或是击败最终boss,但在《模拟人生》中,笔者却一直在游戏中闲逛,完全不关心游戏目标,只是快乐地沉浸在不可思议的分数和舒缓的声音中。如果说上述是如梦幻一般的记忆,那另外一部分就是噩梦一般的。饥饿、溺水、触电,这些交织在一起就会发生像是《黑镜(Black Mirror)》中那样的恐怖事情。不过庆幸的是,笔者最喜欢的记忆几乎都在前一部分记忆中。 \ No newline at end of file diff --git a/static/introduce/introduce37.txt b/static/introduce/introduce37.txt new file mode 100644 index 0000000000000000000000000000000000000000..5dedd073abe6d851583bb00a46153fa161ca475c --- /dev/null +++ b/static/introduce/introduce37.txt @@ -0,0 +1 @@ +笔者听说过《吉他英雄(Guitar Hero)》,但当时笔者只有一台Xbox和一台Xbox 360。所以当《吉他英雄2(Guitar Hero II)》推出时,笔者就爱上了这种使用塑料吉他的玩法。而在2007年,同样是由《吉他英雄》开发商Harmonix制作的《摇滚乐队(Rock Band)》发售后,笔者和同事们都为了这款能扮演整支乐队的游戏而疯狂。我们这么兴奋是有原因的。《摇滚乐队》创造了一种新型的多人游戏模式——四名玩家不仅要合作,而且还要在房间里活动起来。它至今仍然保持着其他游戏不能替代的感觉,而这种学习演奏乐器的过程,无论是学会用双手演奏吉他,或是手脚协调起来敲架子鼓,本身就是一种游戏。即使你学会了如何弹奏乐器,从简单难度上升到专家难度,也是一次有回报的冒险过程:你可以看到,并听到你的成果。作为一支四人乐队,主宰你和朋友们都喜欢的经典歌曲,并在最高难度下完成演奏的记忆总是会历久弥新。 \ No newline at end of file diff --git a/static/introduce/introduce38.txt b/static/introduce/introduce38.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a7e9904deb3d263734ad54d3c11e8990fd3b3fe --- /dev/null +++ b/static/introduce/introduce38.txt @@ -0,0 +1 @@ +《辐射3(Fallout 3)》是第一款让笔者感觉到不舒服的游戏。这并不是因为这款游戏很糟糕,正相反,它是一款十分优秀的游戏,完全有资格在史上最佳游戏前100名中占有一席之地。笔者感觉不舒服的原因是这款游戏一旦玩起来,根本停不下来。笔者当时在宿舍里奋斗了很长的时间,以至于养成了很多不健康的生活习惯。《辐射3》的世界让笔者流连忘返。首都废土(Capital Wasteland)的景象可能与2008年前后推出的其他后启示录主题游戏一样黄沙漫天。但与众不同之处在于,本作对众多肮脏却迷人的角色、支线剧情、怪异的场景都进行了深入刻画,而这些事物都被主线故事所串联起来。时至今日,《辐射3》对其开发商贝塞斯达公司来说,仍然是一项复杂的而非凡的成就,就算它曾让笔者感觉不舒服,也十分值得去玩。 \ No newline at end of file diff --git a/static/introduce/introduce39.txt b/static/introduce/introduce39.txt new file mode 100644 index 0000000000000000000000000000000000000000..c89f941ef68f346fa36971671b48835cb55d7fa1 --- /dev/null +++ b/static/introduce/introduce39.txt @@ -0,0 +1 @@ +这句话可能会得罪一些人,但是笔者还是要说:《班卓熊大冒险(Banjo-Kazooie)》是史上最好的《超级马力欧(Super Mario)》类型的游戏。在你反驳之前,请先听我解释。这款Rare工作室在N64平台推出的杰作沿用了《超级马力欧64(Super Mario 64)》的3D平台跳跃玩法,并在其中融入了令人难以置信的魅力、品质和深度。关卡中,搞笑的对白和奇怪的生物会让你感到非常有趣。在这些亮点之上,Rare工作室还给玩家们带来了所有平台跳跃游戏中,最有趣、最多样化的游戏世界。从向你介绍游戏各种机制的第一个世界“Mumbo’s Mountain”,到拥有巧妙谜题的第九世界“Click Clock Wood”,每个世界都充满了创意。笔者可以滔滔不绝地讲收集品完美的平衡性,或像是“Stop ‘n’ Swop”这种巨大的秘密。但却是《班卓熊大冒险》的细节处理,让它成为笔者长期以来最喜欢的平台跳跃游戏。例如,巫婆Gruntilda的主题音乐的声音,会随着你的行动而变化;当你靠近疯狂怪物公馆(Mad Monster Mansion)时,氛围会更加诡异;宝藏湾(Treasure Trove Cove)的海盗主题音乐也是一样。 \ No newline at end of file diff --git a/static/introduce/introduce4.txt b/static/introduce/introduce4.txt new file mode 100644 index 0000000000000000000000000000000000000000..90445784bc05c40a3ec32dd6255c6917377a35f3 --- /dev/null +++ b/static/introduce/introduce4.txt @@ -0,0 +1 @@ +暴雪有史以来玩过最大的花样,就是让笔者相信自己擅长即时战略游戏。除了放置建筑和微操以外,《魔兽争霸2:黑暗之潮(Warcraft 2: Tides of Darkness)》还向玩家们讲述了一个发生在人类和兽人之间,扣人心弦的战争故事。无论你支持哪一方,《魔兽争霸2》里的战役都能让你从一名一无所知的战略游戏菜鸟,成长为一名能和AI谈笑风生的出色指挥官。每张地图都不仅仅是一座战场,同时还是一个待解的谜题。玩家们需要通过探索战争迷雾覆盖的区域,合理利用环境,才能取得胜利。飞行和水上单位为进攻敌人的要塞提供了新的策略,这使笔者不得不停下来思考如何操作一场三维的战斗。当然了,这还远远不够,笔者总会孜孜不倦地戳那些友方单位和小动物,直到它们要求停手,或者华丽的爆炸。 \ No newline at end of file diff --git a/static/introduce/introduce40.txt b/static/introduce/introduce40.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f9e730dbd7089af0b6d671ec1e65d37ce2d7e92 --- /dev/null +++ b/static/introduce/introduce40.txt @@ -0,0 +1 @@ +在这个追求奖杯和成就的时代,达到100%的完成度是司空见惯的事情。但是当《超级马里奥世界2:耀西岛(Super Mario World 2: Yoshi's Island)》推出之后,你会发现,探索给玩家的带来的奖励要比玩家分数(Gamerscore)的奖励更加丰厚:你需要收集所有非常隐蔽的红色硬币和花朵,并在关卡中得到30颗星星(这意味着你基本上不能受伤),才能获得100%的评价。如果你在某个世界的每一关都达成了这点,那么每一个世界都会开启两个比其他关卡都要难的新关卡。笔者花了好几个小时才100%通关了《耀西岛》,卡带上的存档一直保存得很好,直到笔者在测评一台当年的山寨超级任天堂主机(Super Nintendo)时,笔者的存档不幸丢失了。后来笔者在头开始玩这款游戏时,感觉到了从来没有过的兴奋。 \ No newline at end of file diff --git a/static/introduce/introduce41.txt b/static/introduce/introduce41.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2e9be62b85a2e794dc650690628440473c9a065 --- /dev/null +++ b/static/introduce/introduce41.txt @@ -0,0 +1 @@ +前四作《寂静岭》对于我来说都是珍贵的,但《寂静岭2(Silent Hill 2)》在笔者心中占据了特殊的位置。这是《寂静岭》系列第一次把城镇本身塑造成角色,这里充满了各种各样的怪物、僵尸、杀手以及更为抽象的生物。《寂静岭2》将恐怖聚焦于建筑、布局以及空间的个性上。就像是将人类的灵魂化为实体,这对于玩家来说更加有趣。更重要的是——它很恐怖。探索人类深层的堕落以及它对我们周围人和事物的影响,是一件十分恐怖的事情,但是很少有游戏可以将这种恐怖处理得如此优雅且成熟。作为一名恐怖游戏的忠实粉丝,甚至在十几年后的今天,笔者依然欣赏《寂静岭2》的游戏素质。 \ No newline at end of file diff --git a/static/introduce/introduce42.txt b/static/introduce/introduce42.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c18c51490522a0b85db526759d589528097d1e9 --- /dev/null +++ b/static/introduce/introduce42.txt @@ -0,0 +1 @@ +《侠盗猎车手3(Grand Theft Auto III)》是游戏开放世界历史上的分水岭。然而就在它发售的3年以后,《侠盗猎车手:圣安地列斯(Grand Theft Auto: San Andreas)》就凭借优秀的素质全面碾压了《侠盗猎车手3》。游戏拥有大片森林、村庄以及沙漠。想要更多载具?这款2004年的游戏拥有超过250种载具,包括喷气式飞机、联合收割机、割草机、自行车、拖车、叉车等等。音乐方面呢?这里有11个广播电台,以及超过150首原声音乐。这些还不够吗?那么游戏中还有降落伞,一个运营中的赌场,喷气背包,同屏漫游合作,角色吃太多快餐会发胖,甚至还有塞缪尔·杰克逊出现在游戏中。PS2是史上最畅销的游戏主机,而《侠盗猎车手:圣安地列斯》是PS2上最畅销的游戏。不难解释其原因。 \ No newline at end of file diff --git a/static/introduce/introduce43.txt b/static/introduce/introduce43.txt new file mode 100644 index 0000000000000000000000000000000000000000..72cee472ed82cca72cb69f475fd11b1e318774a0 --- /dev/null +++ b/static/introduce/introduce43.txt @@ -0,0 +1 @@ +在科幻作品中,很少有像薛帕德在《质量效应(Mass Effect)》中登上神堡那样伟大的时刻。空间站的空间感、历史和意义,在当时的游戏作品中都是无与伦比的。了解不同的种族,以及几个世纪以来他们如何共存,这是构筑世界梦想的组成部分。就像生活空间一样,空气在你出生之前就已经存在,而在你死亡之后它们依然存在。同时神堡也成为了BioWare打造出的完美枢纽,用来展示他们的角色是多么优秀且丰富。你将通过薛帕德,与游戏世界与角色进行互动,亲自创造一个完全属于你的科幻故事,同时也是为游戏史上伟大的三部曲铺平道路。 \ No newline at end of file diff --git a/static/introduce/introduce44.txt b/static/introduce/introduce44.txt new file mode 100644 index 0000000000000000000000000000000000000000..a23979a9cc9d97a3d43220194e80c009ccd9664d --- /dev/null +++ b/static/introduce/introduce44.txt @@ -0,0 +1 @@ +E3 2007令人难忘的原因有两个。其一,它离开了浮华迷人的洛杉矶会议中心,搬去了更为低调的圣莫尼卡;其二,这是《使命召唤4:现代战争(Call of Duty 4: Modern Warfare)》的首次公开亮相,游戏的背景设定在现代,戏剧性地背离了之前几代《使命召唤(Call of Duty)》的二战题材。游戏中印象最深的就是All Ghillied Up,两名狙击手潜入乌克兰核事故城市普里皮亚季(Pripyat)。你需要仔细观察,屏住呼吸,然后静静等待、距离你藏身之处只有几英寸远的装甲巡逻队缓缓走过。这是一个射击游戏中,从未有过的紧张体验。游戏的定位以及极佳的节奏,使得《使命召唤4》的单人战役成为了史上最令人难忘的FPS作品之一。并且它的多人游戏完美、平衡,也使其成为多年来在线游戏的常青树。 \ No newline at end of file diff --git a/static/introduce/introduce45.txt b/static/introduce/introduce45.txt new file mode 100644 index 0000000000000000000000000000000000000000..65fcb765c47bb2e3a599e7cd3356da763d80457a --- /dev/null +++ b/static/introduce/introduce45.txt @@ -0,0 +1 @@ +在《蝙蝠侠:阿卡姆疯人院(Batman: Arkham Asylum)》为超级英雄游戏奠定基础之后,《蝙蝠侠:阿卡姆之城(Batman: Arkham City)》便让蝙蝠侠来到了哥谭市大街,再次将蝙蝠侠游戏拔高了一个等级。这不仅仅是因为你能用一系列令人印象深刻的小道具击败敌人,更是因为在游戏的晚上你可以处理的事情也变多了。《蝙蝠侠:阿卡姆之城》找到了完美的方法,让玩家使用蝙蝠侠通过力量和智慧对抗敌人,并且从而引出了超级英雄游戏史上最棒的boss战。每个超级大反派都增加了一种压迫性的力量,来阻挡你的脚步,而游戏故事的高潮仍然是电子游戏中,最引人注目的时刻之一。 \ No newline at end of file diff --git a/static/introduce/introduce46.txt b/static/introduce/introduce46.txt new file mode 100644 index 0000000000000000000000000000000000000000..db4eaa79f255c2b58280ce46a885a61ad6108e92 --- /dev/null +++ b/static/introduce/introduce46.txt @@ -0,0 +1 @@ +《见证者(The Witness)》中,玩家置身于颜色鲜明、景色简约的小岛上。然而,在这宁静的环境中,我们却遇到了一系列“残忍”的谜题,每一个都给我们带来了独特的挑战。这些令人摸不着头脑的谜题,需要你仔细观察周围景观,注意阳光的反射,甚至需要聆听小动物的叫声。玩家需要努力思考,寻找那些难以捉摸的谜题答案。游戏最后的挑战,是14个随机产生的谜题,玩家必须在7分钟之内全部解决,这几乎是不可能完成的目标。被困在某个谜题的过程是令人沮丧的,但只要你攻克了谜题,那种无与伦比的兴奋感,可以将一切阴霾一扫而散。虽然在传统意义上,《见证者》没有提供任何剧情,但这并不代表它没有讲述故事。哲学的隐喻和寓言式意象,分散在游戏中的各个角落,等待着玩家进行自己的理解。和许多其他游戏“呵护”玩家的做法不同,《见证者》新颖地要求玩家达到一定的“高度”,期待着玩家进行自己的思考。而这也使得《见证者》十分具有挑战性,同时也让它成为了游戏中非常特殊的一作。 \ No newline at end of file diff --git a/static/introduce/introduce47.txt b/static/introduce/introduce47.txt new file mode 100644 index 0000000000000000000000000000000000000000..87b8d4f8cb5f942a4240a0cbbe6a9314af00ce6e --- /dev/null +++ b/static/introduce/introduce47.txt @@ -0,0 +1 @@ +《风之旅人(Journey)》是最接近模仿诗歌效果的电子游戏。就结构而言,它十分简单,你最终只需要登上远方的山顶。但在一路上,你可以在闪闪发光的沙漠中冲浪,躲避由布制成的飞行敌人,以及偶尔还会遇见同行的旅者。这段旅行有一个独特的基调,大部分的游戏时间是梦幻且忧郁的,但当《风之旅人》迎来结局时,游戏才真正得到了升华。诸如“惊人”这种词如今已经被用烂了,它的含义已经被使用者掏空,但这个词在《风之旅人》身上却充分发挥了其含义。 \ No newline at end of file diff --git a/static/introduce/introduce48.txt b/static/introduce/introduce48.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e919f987955a72ead628774de8430449e9665ee --- /dev/null +++ b/static/introduce/introduce48.txt @@ -0,0 +1 @@ +许多游戏都在试图模仿电影,使用一些烂俗的角色。最初,《神秘海域(Uncharted)》看似也是在做同样的事情——一个寻宝者,经常处于异国他乡的危险之中。但如果你玩过《神秘海域》,尤其是第二作的话,你会发现它可以轻松超越好莱坞近期产出的电影。《神秘海域2:纵横四海(Uncharted 2: Among Thieves)》运用“电影”展示了游戏的核心角色内森·德雷克,与他的新搭档克洛伊·弗瑞兹的关系。这并不代表游戏场面“不壮观”:在喜马拉雅的村庄,被坦克的围堵;在一辆行驶的火车上,被空中的直升机追赶。《神秘海域2:纵横四海》为电影式游戏和画面树立了新的标杆,并且把内森·德雷克塑造成那个时代最伟大的游戏角色之一。 \ No newline at end of file diff --git a/static/introduce/introduce49.txt b/static/introduce/introduce49.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e85595846a45443956defebc61720e120f1ede6 --- /dev/null +++ b/static/introduce/introduce49.txt @@ -0,0 +1 @@ +任天堂完全可以借助《时之笛》的成功,以一个安全且熟悉的方式创造续作。但相反,他们制作了《塞尔达传说:梅祖拉假面(The Legend of Zelda: Majora's Mask)》,这是《塞尔达传说》系列中最奇怪,风险最大的游戏。它与任何林克的冒险都不同,呈现了一段紧张、离奇、阴暗的探险。在游戏中有两件事一直拨动着笔者的心弦。首先就是那令人难以置信的时间概念。时间滴滴答答地流逝,而你做的每一个决定都如此珍贵。其次便是末日世界的荒凉,就像是一个王国的命运,无法避免地走向灭亡。此外,还有贯穿游戏的骷髅小子,他的故事同样令人印象深刻。 \ No newline at end of file diff --git a/static/introduce/introduce5.txt b/static/introduce/introduce5.txt new file mode 100644 index 0000000000000000000000000000000000000000..9beec9c13b2dc3e68ad442d033fdc56289bd4227 --- /dev/null +++ b/static/introduce/introduce5.txt @@ -0,0 +1 @@ +基于具有杰出太空作战游戏机制的《星球大战:铁翼同盟(Star Wars X Wing)》的基础上,《星球大战:钛战机(Star Wars: TIE Fighter)》首次让玩家们拥有了帝国一方的视角,笔者对此非常喜欢。坐在钛战机的驾驶舱中,聆听着双离子引擎标志性的轰鸣,发射绿色的离子炮。所有这些,让这个围绕保卫白卜庭(Palpatine)皇帝的权利而展开的故事,显得十分有趣。 \ No newline at end of file diff --git a/static/introduce/introduce50.txt b/static/introduce/introduce50.txt new file mode 100644 index 0000000000000000000000000000000000000000..509eb531fc44a6d694d5c6960dba0e957639adb8 --- /dev/null +++ b/static/introduce/introduce50.txt @@ -0,0 +1 @@ +如果说暴雪是在炼金的话,那么《守望先锋(Overwatch)》应该是最沉重的那颗。它通过《军团要塞(Team Fortress)》的玩法搭配MOBA人物的角色设计,创造出最闪耀的那款作品。你可以在其身上,看到暴雪如何在优秀的射击游戏上进行突破。这是一个有趣的产品,它的背景故事被分为PG-13级(美国),而其中的角色性格又可爱多样。玩家、cosplayer、同人小说作家、ARG侦探,每个人都有理由参与到游戏中来。暴雪并没有完全克隆《军团要塞》,而是制作出了一款引申的作品。这是一个快速、令人满意的射击游戏,同时你还可以在游戏过程中调整角色,针对敌方阵容选择克制的人物。 \ No newline at end of file diff --git a/static/introduce/introduce51.txt b/static/introduce/introduce51.txt new file mode 100644 index 0000000000000000000000000000000000000000..0ef63f0eb4b3559c4f03627bcb0c3ae4d8bc7165 --- /dev/null +++ b/static/introduce/introduce51.txt @@ -0,0 +1 @@ +探寻发生在近未来的众多的阴谋,是驱动玩家进行游戏的一大动力。这款游戏鼓励玩家在半开放的世界中,探索每一个角落。游戏中饱含令人惊喜与有趣的秘密,随着科技的发展,人们对未来文明提出了很多引人关注的设想。游戏的主人公是一位名叫J.C.Denton的特工,在经过纳米改造后,通过不断升级改造装备,Denton可以在不同的环境中进行光学隐身。这一设定使《杀出重围(Deus Ex)》的可玩性大大提高,玩家可以选择一条不同的路径进行游戏。可以是在一群敌人当中杀出一条生路,可以是趁着敌人没发现偷偷地溜过去,也可以抢夺敌方的自动炮塔并消灭敌人。玩家甚至可以在不伤害任何敌人的情况下通关游戏。 \ No newline at end of file diff --git a/static/introduce/introduce52.txt b/static/introduce/introduce52.txt new file mode 100644 index 0000000000000000000000000000000000000000..1231df093bf3b7d1be74e64e0a71d7c55fc004f8 --- /dev/null +++ b/static/introduce/introduce52.txt @@ -0,0 +1 @@ +这款游戏是本世纪初,角色扮演游戏复兴时期非常优秀的一款作品,时至今日仍是同类游戏中的极具代表性的作品之一。充满想象力的角色和故事,种类丰富的武器、装备和魔法,足以使玩家沉迷在游戏的世界中无法自拔,玩家需要花费上百个小时来探索游戏中隐藏的秘密。《博德之门2:安姆的阴影(Baldur's Gate II: Shadows of Amn)》是一款真正通过数字化展现了《龙与地下城(Dungeons & Dragons)》的世界以及规则。《龙与地下城》类型的游戏在电子游戏的长河中可谓源远流长,时至今日依然有着大量的拥趸,但是这些虚拟的地牢冒险与现实世界中的事物相去甚远。虽然以今天的目光来看,《博德之门2》有些陈旧,但它仍然不失为一部优秀的作品。 \ No newline at end of file diff --git a/static/introduce/introduce53.txt b/static/introduce/introduce53.txt new file mode 100644 index 0000000000000000000000000000000000000000..3bac9b2954b37667b19f41997dbece0a323dc05d --- /dev/null +++ b/static/introduce/introduce53.txt @@ -0,0 +1 @@ +《吃豆人小姐(Ms. Pac-Man)》让人们重新回忆起了经典街机及弹珠机游戏的风采。重制的画面,经典的画风,更加快速的运行速度,让这款游戏广受喜爱。IGN编辑们时常乐此不疲地在这款游戏中进行高分挑战,在午间休息时,玩上一会儿是一件轻松惬意的事情。即便有着众多新奇的玩具和游戏,但是《吃豆人小姐》仍然有着足够的吸引力让我们沉迷其中。这款游戏会给办公室内增添无数的欢声笑语,几十年来,能创造这么多快乐的游戏并不多呀。 \ No newline at end of file diff --git a/static/introduce/introduce54.txt b/static/introduce/introduce54.txt new file mode 100644 index 0000000000000000000000000000000000000000..b07334786e37c9629d28648a463b7b761cc0d5df --- /dev/null +++ b/static/introduce/introduce54.txt @@ -0,0 +1 @@ +《反恐精英(Counter-Strike)》是笔者玩过时间最长的一款游戏,无论从哪个角度来讲,这款游戏堪称笔者游戏生涯的起点。在讲求技巧的游戏中,《反恐精英》所包含的内容令人称赞:优秀的关卡设计,充满魅力的团队设置,玩家需要学会奉献精神和良好的竞争意识,以及强大的团队信念。这款游戏既让笔者收获了胜利的喜悦,也让笔者从失败中吸取了教训。它使笔者爱上了第一人称射击游戏,也是笔者小时候沉迷于电脑游戏的原因。 \ No newline at end of file diff --git a/static/introduce/introduce55.txt b/static/introduce/introduce55.txt new file mode 100644 index 0000000000000000000000000000000000000000..59b579f6ff0213a475b9f9135f173ca90e5a7a1b --- /dev/null +++ b/static/introduce/introduce55.txt @@ -0,0 +1 @@ +《女神异闻录4:黄金版(Persona 4: Golden)》能够让玩家忘记自己是在玩一款游戏。玩家可以在学校里闲逛,可以和朋友们进行巡查,可以处理日常事物,这些事情会让玩家感到格外熟悉。这里既有惹你生气的人,也有你关心的人,以及你顾虑的人,所有的人都各不相同,就像真实的人一样。你是被关注的,这感觉非常真实。《女神异闻录》系列擅长将迷宫与社会问题进行融合,在《女神异闻录4》中,每名角色都能感受到自己处在一个拥有凝聚力的团体中,不仅在朝着一个共同的目标努力,并且相互之间更是朋友。每一个迷宫都是以角色内心深处的秘密为主题,通过一个个迷宫后,玩家将会更加了解这些角色。玩家与队员们共同经历着各种故事,某种意义上,大家就像是一家人。黄金版加入了更多的角色和配音,这种情绪得到了更加浓烈的渲染,玩家在游戏的最后会舍不得离开,就像是不想和好朋友分别一样。 \ No newline at end of file diff --git a/static/introduce/introduce56.txt b/static/introduce/introduce56.txt new file mode 100644 index 0000000000000000000000000000000000000000..693d5703e56a863fbf62dcfaaf88c7e8cefc9d65 --- /dev/null +++ b/static/introduce/introduce56.txt @@ -0,0 +1 @@ +《地球冒险(EarthBound)》可能是笔者租的最多的游戏。笔者知道这很奇怪,但在那时,玩这款游戏时的共鸣感十分强烈。不同于同时期的众多幻想风的角色扮演游戏,《地球冒险》的故事依托于真实的世界。这款游戏中,玩家不再是感受来自幻想世界的悲伤,而是享受充满五颜六色、幽默的世界,了解各种有趣的人和事,而这些内容是同时期的游戏中所未曾出现过的。同时,本作在情感的堆积上表现得非常老道。在那个普遍租游戏的时代,笔者曾一次又一次地租借这款游戏,反复地游玩,甚至花费了大学奖学金。直到后来,父母发现了这件事,他们为笔者买下了这款游戏。到现在,这款游戏也是笔者最喜欢的JRPG之一。 \ No newline at end of file diff --git a/static/introduce/introduce57.txt b/static/introduce/introduce57.txt new file mode 100644 index 0000000000000000000000000000000000000000..ae0e0c79f036d7a1d0597593b275f866e1d3c15f --- /dev/null +++ b/static/introduce/introduce57.txt @@ -0,0 +1 @@ +《生化危机(Resident Evil)》重制版不仅是对经典原作的重现还原,而且几乎在各个方面都超越了原版。在不破坏游戏原有氛围的前提下,重制版创造了新的亮点。通过斯宾塞大厦的走廊时,即使是最熟悉的道路(周围都是哥特式建筑),也会给人一种全新的体验。经典的恐怖谜题与库存管理得到进一步完善,在照顾新玩家的同时,也没有抛弃老粉丝们的感受。这些大胆的创新最终成为《生化危机》系列最具标志性的元素:从楼梯后面的门里传来的超现实呻吟声,以及对原设定的颠覆——玩家杀死的丧尸将会保持死亡状态。不死的僵尸和深红色头颅营造了一种可怖的气氛,同时游戏为系列增加了新的维度:探索、战斗、库存管理。虽然系列游戏几经变革,但在系列中很少有游戏能像这个一样完美。 \ No newline at end of file diff --git a/static/introduce/introduce58.txt b/static/introduce/introduce58.txt new file mode 100644 index 0000000000000000000000000000000000000000..39240035fd2b8a5fe6e0560fb5fd1825cd62b20f --- /dev/null +++ b/static/introduce/introduce58.txt @@ -0,0 +1 @@ +笔者第一次接触这款游戏是在2011年,是这款游戏的发布十多年后。即使经过了这么长的时间,这款经典的作品依然打动了笔者,它所呈现的精彩内容令人惊叹。毕竟,《暗黑破坏神2(Diablo II)》没有偏离玩家的喜好。游戏中的职业和技能树异常丰富,众多特色系统更是需要大量的时间进行熟悉。本作完美地呈现了游戏的核心模式——战斗、寻宝,升级。无论是刚刚开始游戏还是已经通过了地狱难度,玩家总是会充满继续下去的动力。紧张的气氛,丰厚的回报刺激着玩家继续冒险。暴雪赋予了《暗黑破坏神2》玩法上无数的可能性。对于游戏中的大多数内容笔者都没有接触到,事实上作为玩家也并不需要去尝试全部的内容。笔者玩的是死灵法师,召唤出不死生物,引发链锁尸爆,将整个世界染成红色,就非常满足了。 \ No newline at end of file diff --git a/static/introduce/introduce59.txt b/static/introduce/introduce59.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd1b5fd5d919d9b5ea9271cd72e596def805f7d7 --- /dev/null +++ b/static/introduce/introduce59.txt @@ -0,0 +1 @@ +在20世纪90年代,过场动画是PC游戏取得成功的驱动力之一,当暴雪展现出令人瞠目结舌的视觉效果时,受到了如王者般的推崇。通过《星际争霸(StarCraft)》和1998年的《星际争霸:母巢之战(Start Craft: Brood War)》,暴雪将过场动画推向了一个新的高度。玩家不仅享受到极好的RTS体验,而且在完成章节后,还能欣赏人类与野蛮的外星人抗争的精彩过场动画。进一步讲,这些过场动画与优秀的配乐和精彩的故事相结合。通过故事情节的深入,笔者喜欢上了不同的小角色并于他们互动,当虫族打算抓捕凯瑞甘并使之屈服的时候,笔者感到无比的愤怒。这名角色一直伴随在玩家左右,当她被俘获后,玩家就开始了拯救她的任务。不过,《星际争霸》的魅力更多的在于多人模式。某些时刻玩家需要扮演神族保卫基地对抗虫族的猛攻,或者成功输送一只部队前去消灭敌人的基地。与现存的大部分视频游戏相比,《星际争霸》仍然保持着足够的竞争力,在玩家中有着活跃的表现。精心设计的玩法及出众的平衡性,让玩家们乐此不疲地反复游玩,并且每次都会取得不同的游戏结果。正是这些精彩的内容驱使着玩家不断投身其中,并且这么多年来一直保持着对这款游戏的热忱。 \ No newline at end of file diff --git a/static/introduce/introduce6.txt b/static/introduce/introduce6.txt new file mode 100644 index 0000000000000000000000000000000000000000..eb0c00ecc445f68c74f5ca5f9df0deba7205348c --- /dev/null +++ b/static/introduce/introduce6.txt @@ -0,0 +1 @@ +对于很多玩家们来说,曾在游戏中面对过最艰难的选择就是自己应该亲自涉水渡河,还是将牛车赶到木板上再飘过去。而事后证明,这两个选项都是错的。《俄勒冈之旅(The Oregon Trail)》也许是很多人对于PC游戏最早的记忆。这个几十年前,在童年的教室中甚是流行的游戏,激发了一代又一代人对电子游戏的喜爱。这个游戏最为巧妙的一点是,它既征服了教师们,让他们允许学生在课间玩游戏,同时又能做到寓教于乐。虽然笔者并不是很确定,一个八岁的孩子是否真的能掌握有关痢疾的知识。《俄勒冈之旅》对整个游戏行业的影响力一直延续到了今天。像《80天环游世界(80 Days)》或者《器官之旅(Organ Trail)》这些游戏,明显都借鉴了《俄勒冈之旅》里面通过做出不同选择,来推进不同冒险故事的玩法。但这个游戏想要表达的,即“玩家每一个有意义(或是冒险)的举动,都将影响游戏的结局”,这一核心观点,在之后太多的游戏里都能见到。这一玩法也许并不是该游戏首创,但是没人可以说清,它究竟给后来的游戏和玩家带来了多么巨大的影响。 \ No newline at end of file diff --git a/static/introduce/introduce60.txt b/static/introduce/introduce60.txt new file mode 100644 index 0000000000000000000000000000000000000000..b83ed9db22d6814adc34df79b2cdbb5f18a47923 --- /dev/null +++ b/static/introduce/introduce60.txt @@ -0,0 +1 @@ +曾几何时,《无尽的任务(Ever Quest)》是MMO类型游戏的王者,直到暴雪打造出了有史以来最大的MMO游戏——《魔兽世界(World of Warcraft)》,而《魔兽世界》的地位或许将永久地保持下去。经历了六次扩展之后,《魔兽世界》依然保持着蓬勃的生命力。虽然玩家的数量总是起伏不定,但是每当新版本出现的时候,曾经离开的玩家还是会再次回归。笔者认为《魔兽世界》的独特之处在于其展示出的高自由度。喜欢和朋友们组队进行游戏吗?如果喜欢的话,这款游戏完全可以让你和你的朋友组建起团队共同展开冒险,而且不分种族或阶级。想要单独进行游戏?你同样可以单独去完成任务,当然一些高级别的任务需要团队合作才能完成,但是在寻求组队系统的帮助下,玩家可以方便地找到队伍,迎战强力的敌人。当然,围绕联盟和部落的争斗是《魔兽世界》的一大魅力。 \ No newline at end of file diff --git a/static/introduce/introduce61.txt b/static/introduce/introduce61.txt new file mode 100644 index 0000000000000000000000000000000000000000..6cbeef426cfa856b7b711af473902a07eba702a9 --- /dev/null +++ b/static/introduce/introduce61.txt @@ -0,0 +1 @@ +《星球大战:旧共和国武士(Star Wars: Knights of the Old Republic)》几乎是凭借一己之力,拯救了整个星战系列游戏。这也是这个备受喜爱的IP第一次被交到BioWare手中进行制作。它的地位,绝不仅仅只是史上最好RPG游戏那么简单。同时,它还使得西方的RPG游戏开始在主机平台上占据一席之地,也让XBOX成为了那些顶级第三方游戏的发布平台之一。《旧共和国武士》的故事背景,设定在原作三部曲的4000年以前,游戏时长大约40个小时。正因如此,它可以自由地叙事和塑造角色,而不用担心卢卡斯影业指手画脚。所以我们迎来了瑞文,同时还有自带黑色幽默的机器人成员HK-47。更重要的是,我们拥有了第一款,玩家的抉择能带来实际后果的星战游戏。玩家也可以通过自己的善行(一些选择)来站在正义的一方,成为一名正直的英雄。反之,通过出卖自己曾许诺帮助的角色,可以获取邪恶一方的积分,最终成为一个纯粹而疯狂的恶棍。 \ No newline at end of file diff --git a/static/introduce/introduce62.txt b/static/introduce/introduce62.txt new file mode 100644 index 0000000000000000000000000000000000000000..d416cbab710e53a0a73701baed6ffbe4cc16a78a --- /dev/null +++ b/static/introduce/introduce62.txt @@ -0,0 +1 @@ +《合金装备2:自由之子(Metal Gear Solid 2: Sons of Liberty)》是《合金装备(Metal Gear series)》系列长久以来最富争议的作品之一。但该作在游戏主题与结构上的大胆创新,也成为了其亮眼的优点。将雷电(Raiden)定为主角的做法,本身就是一项大胆的冒险。因为在游戏上市之前,各种迹象都表明索利德•斯内克(Solid Snake)这位伟大的英雄将会回归。可想而知,当玩家们发现新的《合金装备》引入了一位全新的主角时,心中是怎样的震惊。但后来证明,这一做法是十分明智的。因为从第三人称的视角出发,给我们提供了了解斯内克这位传奇士兵的全新途径。《合金装备2》最让人印象深刻地一点,也许在于游戏中的故事竟能和十多年以后的今天如此息息相关。仅仅是“超越时代”四个字,还不足以形容它的伟大。通过许多奇妙的剧情转折,《合金装备2》甚至在游戏中深入探讨了模因论,信息时代危机,人工智能危机,以及后现实社会中的政治等问题。这些内容在系列的后续作品里已经很少能见到了。在2001年,《合金装备2》带着其爽快的玩法与难以置信的魅力,向我们讲述了一个野心勃勃,扣人心弦的故事。它在当年给笔者带来的震撼,时至今日依旧记忆犹新。再结合游戏中那些激动人心的秘密行动,使该作成为了系列中最好的作品之一。 \ No newline at end of file diff --git a/static/introduce/introduce63.txt b/static/introduce/introduce63.txt new file mode 100644 index 0000000000000000000000000000000000000000..912e400de66c9356617c51a64c7085f715718452 --- /dev/null +++ b/static/introduce/introduce63.txt @@ -0,0 +1 @@ +对于笔者来说,在90年代中期初见《最终幻想6(Final Fantasy VI)》时,就好像读到了一部启示录一样。游戏里黑暗的蒸汽朋克风格的世界,是笔者从未见过的。而游戏里的主角们,与前作人物欢快的个性相比,变得更加复杂、深沉,这也使人深深为之着迷。游戏里的音乐,同样令人印象深刻,其中由植松伸夫创作的配乐(包括《Dancing Mad》《Aria di Mezzo Carattere》等),时至今日,依旧是笔者的最爱。但真正让《最终幻想6》变得与众不同的,还是游戏里那些经典的瞬间。魔导装甲在雪域中缓缓移动;塞莉丝在歌剧院里吟唱;从西杰尔的飞艇上,冲向围绕在四周的死神鸟;杰夫卡毁灭世界并成为了神。这些画面在笔者的脑海里铭记了超过20年。除了绝妙的情节和配乐以外,《最终幻想6》还推出了全新的战斗系统,玩家们可以在战斗间隙自由调整参战人员。游戏里共有14个可选用的角色,而且没有一个是凑数的。而笔者非常喜欢的一个设定,就是在面对某些高难度的Boss时,玩家需要有针对性地调整自己的策略。游戏中还可以通过魔石碎片调整角色的法术和能力,这让玩家们可以根据自己的喜好,来进行自定义的角色塑造。《最终幻想6》被视为《最终幻想》系列的一个里程碑,是十分合理的。其独一无二的战斗系统,以及充满戏剧性的剧情设定,使得它在该系列的众多作品中显得独树一帜。至今,哪怕仅仅是想到这款游戏,都能让人心潮澎湃。笔者一直喜欢《最终幻想6》,至今依然深深爱着。 \ No newline at end of file diff --git a/static/introduce/introduce64.txt b/static/introduce/introduce64.txt new file mode 100644 index 0000000000000000000000000000000000000000..029f3bbe9e0d31452abc1294f43c94846ff391e3 --- /dev/null +++ b/static/introduce/introduce64.txt @@ -0,0 +1 @@ +《质量效应(Mass Effect)》将游戏的舞台设置在了极富未来感的银河系中,而《质量效应2(Mass Effect 2)》则带领玩家们进一步地探索和体验了这个世界。作为Shepard的指挥官,笔者在银河系中踏上了一段难以想象的招兵买马之旅。而这个故事,也有一个极为揪心的结局,当然了,游戏是否会以悲剧收场完全取决于玩家自己。当玩家前去参加一项绝命行动时,会遇见游戏里一些刻画最为精致、饱满的角色,而他们真的能够唤起你心中的某些情感。在游戏中,赢得伙伴忠诚的最大好处之一,是能够了解关于他所在种族的更多事件,并了解他们是如何在这个纷乱的银河系里生存下来的。对于笔者来说,伙伴们的忠诚并不是一件可以权衡的事情,而是在良知的驱动下,做出的必然选择。 \ No newline at end of file diff --git a/static/introduce/introduce65.txt b/static/introduce/introduce65.txt new file mode 100644 index 0000000000000000000000000000000000000000..94cceb625150e61702b93b5db962f308d6e53993 --- /dev/null +++ b/static/introduce/introduce65.txt @@ -0,0 +1 @@ +在玩家成功捕获全部151只宝可梦之前,《精灵宝可梦黄(Pokémon Yellow)》第一次教会了玩家如何尊重和照顾这些偶尔会闹脾气的神奇生物。《精灵宝可梦黄》借鉴了《精灵宝可梦红(Pokémon Red)》和《精灵宝可梦蓝(Pokémon Blue)》中最棒的那些优点。同时,又有了新的进展,使得游戏与原版动画更为接近。其中最令玩家欣喜的改变,莫过于在游戏一开始,就能拥有一只从皮卡丘了。在本作里,召唤宝可梦的目的不再是仅仅为了对战,它们还能在旅途中给玩家提供陪伴,并且拥有自己的情绪。宝可梦的形象也脱离了之前单纯作为作战工具的窠臼。游戏中和原版动画相关的小彩蛋也十分有趣,它让玩家们回忆起了小智初见皮卡丘时的场景。但总的来说,游玩《精灵宝可梦黄》是玩家体验宝可梦世界最好的途径之一,就这么简单。 \ No newline at end of file diff --git a/static/introduce/introduce66.txt b/static/introduce/introduce66.txt new file mode 100644 index 0000000000000000000000000000000000000000..46a497479347849da404f7104b74bed99ef00ee0 --- /dev/null +++ b/static/introduce/introduce66.txt @@ -0,0 +1 @@ +《塞尔达传说(The Legend of Zelda)》在笔者心里一直占据着一个十分特殊的位置,因为它是笔者玩的第一款游戏。在那之前,笔者的日常娱乐之一,是观看父亲和姐姐玩游戏,然后通过思考,提出一些不成熟的建议。但当笔者看到《塞尔达》里那片神秘而广阔的土地时,就决定要亲自接受挑战了。笔者从未想过自己可以通过电视屏幕,踏上一段如此奇幻的冒险。随着画面的变换,林克不断遭遇着新的敌人,新的障碍,还有新的谜题。于是笔者在父亲的帮助下绘制了几十幅地图,并在上面写下了自己在冒险途中的笔记和心得。笔者还像今天的许多游戏攻略一样,在地图上标记出了未完成的地牢坐标。《塞尔达传说》针对“游戏世界可以开放到何等程度”这一问题,设立了一个极高的标准。同时,它还展现了如何通过巧妙的细节提示,来指引玩家完成一段危机四伏的旅程。笔者童年时的想象力,从这个游戏中汲取了太多的养分,而到了今天依旧还在不断地生根发芽。 \ No newline at end of file diff --git a/static/introduce/introduce67.txt b/static/introduce/introduce67.txt new file mode 100644 index 0000000000000000000000000000000000000000..713b858c1100a191882b910da5ce00e3e12506ed --- /dev/null +++ b/static/introduce/introduce67.txt @@ -0,0 +1 @@ +《血源诅咒(Bloodborne)》在游戏最开始时,带有明显的哥特式恐怖。玩家会在最初的几小时中,穿越雅南(Yharnam)黑暗的小巷和不祥的教堂,面对成群低吼的狼人。而这些设定,又有着洛夫克拉夫特式的克苏鲁神话风格。但在游戏里,制作者野心勃勃地向我们讲述了一个关于宗教与科学,梦境与现实,无脑的神明与恐怖的新生者的故事。这些,已经远远地超出了洛夫克拉夫特作品的范畴,使其成为了一个独特而残暴的第三人称动作游戏。From Software故意移除了《黑暗之魂(Dark Souls)》中盾牌,从而迫使玩家变得更富攻击性。制作人宫崎英高表示,他希望玩家们通过那些恐怖武器挥出的每一次斩击,都像是在为自己的生存而战。就和以往一样,宫崎在本作中的设计,依旧完美无瑕。 \ No newline at end of file diff --git a/static/introduce/introduce68.txt b/static/introduce/introduce68.txt new file mode 100644 index 0000000000000000000000000000000000000000..1795dc3a8ffc03a7cd6508e18f0223813988040f --- /dev/null +++ b/static/introduce/introduce68.txt @@ -0,0 +1 @@ +当《银河战士Prime(Metroid Prime)》登陆GameCube时,它是当时所有平台上制作最精美,技术最先进的游戏之一。在后Wii时代,我们实在很难再找到另一款任天堂出品的,如此前沿第一人称射击游戏了。这也是GameCube玩家,在2002年游戏发布时倍感兴奋的原因。在这之前,笔者其实并没有玩过《银河战士(Metroid)》系列的其他作品,所以购买《银河战士Prime》的初衷也只是为了看看自己的GameCube能够有些什么新的表现。当然了,还有一大原因是因为IGN给出了9.8的高分。游戏十分华丽、流畅,而且展现出了令人惊讶的细节:鸟儿,虫子以及其他的野生动物们在游戏里的废墟中随处可见,而散落在期间的象形文字和蚀刻版画又展现着这些废墟的过往。《银河战士Prime》还是一段孤独的旅程。它的故事发生在鸟人族的废墟中,在这里,玩家没有任何可以交谈的对象。独自探索一颗陌生的星球正是这个系列作品的精髓所在,这也是为什么后续作品在引入星际战士和猎人之后无法取得成功的原因。 \ No newline at end of file diff --git a/static/introduce/introduce69.txt b/static/introduce/introduce69.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2d120f230780cb86d002278b37edf7cde2d3783 --- /dev/null +++ b/static/introduce/introduce69.txt @@ -0,0 +1 @@ +在笔者看来,只有少数几款作品可以被视为整个游戏行业的里程碑。整个游戏的发展史,都可以用它们出现的时间节点来划分阶段。而《生化危机4(Resident Evil 4)》就是一个这样的游戏。理论上,《生化危机4》在发布时其实承担了很多不必要的风险。作为一款M级游戏,它却选择了在任天堂GameCube这个家庭娱乐型平台上独家发售。游戏的主线第一次脱离前几部作品中,标志性的浣熊市(Raccoon City)。该作还构建起了方便操作的越肩视角,来取代第一代所创立的的第三人称固定视角。这也使得《生化危机4》和前几作比起来,有更明确的动作导向。但事实上,所有的冒险都是值得的。《生化危机4》成为了系列作品中最受推崇的一部。而它在游戏镜头和操作上做出的改革,也为第三人称动作游戏确立了新的标准。它的烙印,在今日无数的游戏中依旧清晰可见。 \ No newline at end of file diff --git a/static/introduce/introduce7.txt b/static/introduce/introduce7.txt new file mode 100644 index 0000000000000000000000000000000000000000..63c6cdfbd5bb42c280bc99e6c156796c47da9a43 --- /dev/null +++ b/static/introduce/introduce7.txt @@ -0,0 +1 @@ +当《猴岛小英雄2:勒恰克的复仇(Monkey Island 2: LeChuck's Revenge)》 发布时,玩家们早已经认识了其中的主角盖博拉什(Guybrush Threepwood)。所以也自然清楚将会迎来一个怎样的冒险故事。至少当时我们是这样想的。然而,游戏的制作人朗.吉尔伯特(Ron Gilbert)却给所有人留下了一个大大的疑惑。《猴岛小英雄2》在一片狂欢中落下帷幕,这让玩家们不由得猜测,发生在前两作之中的故事,是不是仅仅来自于一个小男孩的幻想。又或者是本作的结局仅仅是勒恰克的另一段咒语呢?无论如何,《猴岛小英雄2》中的故事、笑点和节奏紧密地结合在一起,使其成为了卢卡斯电艺(LucasArts)最好的冒险游戏之一。 \ No newline at end of file diff --git a/static/introduce/introduce70.txt b/static/introduce/introduce70.txt new file mode 100644 index 0000000000000000000000000000000000000000..36fad77248d8d35091215af72af828327467687c --- /dev/null +++ b/static/introduce/introduce70.txt @@ -0,0 +1 @@ +虽然《巫师3:狂猎(The Witcher 3:Wild Hunt)》中包含了异次元的威胁,魔物狩猎以及魔法力量等极为吸引眼球的要素,但是笔者始终认为,它最大的成就还是在于其中的世俗感。杰洛特所在的世界充斥着泥土、茅草和金属。他赖以谋生的主要方式,是通过自由选择完成他人的委托来获取报酬。这位猎魔人最大的爱好,是在酒馆里和别人打昆特牌。这样的真实感,使得玩家更能对杰洛特的遭遇感同身受,同时也能更好地理解游戏中的那个世界。而当糟糕的事情发生时,玩家们也能摸清事情的来龙去脉。一个RPG游戏需要具备一定的复杂性来迎合那些勇于思考的玩家,同时又要有足够的人物刻画来使主角变得生动。而无论从哪方面看,《狂猎》都取得了惊人的成就。游戏的剧情在拯救世界和处理家庭矛盾之间取得了巧妙地平衡,而玩家的抉择的确能带来改变世界的重大影响。而整个游戏看上去,又有另一种美感。游戏后续推出的两个DLC也都十分的出色。杰洛特旅程的结局虽然建立在世俗的基础之上,但是绝对不会欠缺魔幻的色彩。 \ No newline at end of file diff --git a/static/introduce/introduce71.txt b/static/introduce/introduce71.txt new file mode 100644 index 0000000000000000000000000000000000000000..1aa76e5d0d5a86fa6b765f1a27f405f982415ddf --- /dev/null +++ b/static/introduce/introduce71.txt @@ -0,0 +1 @@ +在过去的二十年中,也许会有某些版本的《合金装备(Metal Gear Solid)》因为其笨重的手感而变得平庸。但我们绝对不能因此忘记了初版《合金装备索利德(Metal Gear Solid)》是多么伟大。以及它对以人物为主导的游戏造成了多么重大的影响。《合金装备索利德》之所以如此出众,不仅仅是因为它是第一款战术谍报类游戏,更在于它在画面无缝衔接上做出的创举。本作过场剧情全为即时演算,使得游戏的剧情与操作联系地非常紧密。这是一款耐心打磨的大师之作。而其值得称道的潜入玩法,以及独一无二的打破次元壁的设定,都使得它足以名垂青史。你还记得游戏里那个绝妙的创意吗?玩家只有通过切换到Player 2才能击败拥有读心能力的强大Boss。 \ No newline at end of file diff --git a/static/introduce/introduce72.txt b/static/introduce/introduce72.txt new file mode 100644 index 0000000000000000000000000000000000000000..73dd83aa03729f94eb143ac0d0b35e2e6847338f --- /dev/null +++ b/static/introduce/introduce72.txt @@ -0,0 +1 @@ +《超级马力欧银河(Super Mario Galaxy)》的发布似乎使得同时代的所有游戏制作者们都成为了一个笑话。“谁能拥有远超同行的制作能力,以及其他人一辈子无法拥有的想象力?答案是任天堂EAD工作室。”在任天堂初次尝试3D平台游戏之后,他们很快就在《银河》这款游戏中,做到了超越完美的范畴。它仿佛是来自于另一个世界的作品,而这样说还不能完美诠释它。透过藏在地图设计中的隐喻,我们也许能够体会到这款游戏设计之初的某些想法。每一颗星球都是一次对游戏机制的挑战。而每一个星系,都是由一系列拥有共同主题的冒险组成的。这就像是任天堂这个公司一样。当玩家们熟悉了某种玩法时,他们就会转头开发一种全新的游戏机制,然后让那些经典的作品成为记忆里闪烁的回忆。这样的设定使得整个游戏都建立在惊喜所带来的乐趣之上。如果每20分钟,玩家就将体验一种全新的玩法,那么游戏中的欢乐绝对不会停止。这也是为什么《超级马力欧银河》在发布超过十年之后,依旧蕴含着游戏界真理的原因。 \ No newline at end of file diff --git a/static/introduce/introduce73.txt b/static/introduce/introduce73.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0b21861529c8023557c22d1572f26dcdea259ea --- /dev/null +++ b/static/introduce/introduce73.txt @@ -0,0 +1 @@ +每当笔者想到《巨像之咆哮(Shadow of the Colossus)》这款游戏时,第一个跃进脑海的词语就是“宏大”。当在游戏中看到旺达骑上阿格罗,开始征服那片辽阔的土地,笔者不由得泛起了类似观看《阿拉伯的劳伦斯(Lawrence of Arabia)》时的敬畏之感。而在玩家面对16巨像其中之一的时候,如潮水般涌来的是巨像庞大体型所带来的震撼、恐惧和好奇。笔者至今还能清晰地记得,自己在面对《巨像之咆哮》中每一个Boss时的情绪。最初的恐惧和敬畏,往往很快就被随之而来的沉思所取代。而每一场战斗,都像是一个解谜游戏。玩家需要学会观察周遭的环境和巨像的行为模式,然后尝试通过各种策略来击败他们。这样的设定带来了惊人的试炼体验,让玩家们倾尽全力去避免出现任何差错。所有的这一切,都让游戏具备了足够的戏剧冲突和强烈的史诗感。在手中的利剑刺穿最后一座巨像时,忧郁和悔恨却填满了笔者的心头。笔者不断地扪心自问,自己真的是一个恶人吗?这些古老的生物仅仅只是单纯的活在这个世界上,而笔者却为了拯救自己的爱人,自私地向他们挥下了屠刀。很少有游戏能像《巨像之咆哮》这样,在逼迫玩家不断前进的同时,又让他们的心中充满了对于自己先前决定的懊悔。 \ No newline at end of file diff --git a/static/introduce/introduce74.txt b/static/introduce/introduce74.txt new file mode 100644 index 0000000000000000000000000000000000000000..c9ff2e39a10b291b95226add532edfe429a9909d --- /dev/null +++ b/static/introduce/introduce74.txt @@ -0,0 +1 @@ +《生化奇兵(BioShock)》中最让人印象深刻的,莫过于那句随着游戏进程而不断变化含义的“Would you kindly..”(与主角的身世相关,是一句能够控制主角的启动语)。但这一段前往Rapture的冒险,可不仅仅只是一场盛装之下的骗局这么简单。我们可以看到,游戏中某个变异者,会像母亲照顾婴儿一样保养他的枪支。而Rapture的掌控者Andrew Ryan则在游戏接近尾声时,迎来了惊人的反转。《生化奇兵》在游戏中接连不断地给玩家们带来了惊喜。当然了,这大部分还要归功于可能是游戏史上最杰出的场景之一——Rapture。游戏大量的剧情,都发生在Rapture这座凋零的水下都市之中。随处可见的断壁残垣和门窗紧闭的房屋,都等待着玩家前去探索。即使在十多年以后,笔者依旧会不时想起《生化奇兵》,它令人难以置信的地图设计,以及其中那些帅气的变异质体,都让人久久难以忘怀。 \ No newline at end of file diff --git a/static/introduce/introduce75.txt b/static/introduce/introduce75.txt new file mode 100644 index 0000000000000000000000000000000000000000..901e822c8c3d43d7450c3e89bcb6ce0f5307138f --- /dev/null +++ b/static/introduce/introduce75.txt @@ -0,0 +1 @@ +当第一次见到一条龙从海拉尔湖(Lake Hylia)中腾空而起时,笔者默默的放下了手中的Switch,然后给大约十个人发送了消息。发消息的目的并不是为了描绘刚刚见到了怎样壮观的场景,而仅仅是为了告诉他们,游戏中将会有一些意想不到的惊喜发生。这个游戏并不会为了展现某个特定场景就夺走玩家对镜头的控制权,然后再突兀地进入一场Boss战当中。也不会仅仅通过背景音乐的变换,来提示某一特殊事件的发生。笔者可能是自己众多朋友中第一个见到这幅绝景的人。这也是笔者在多年游戏生涯之中,获得的最纯粹的探索体验。这就是《塞尔达传说:旷野之息(The Legend of Zelda: Breath of the Wild)》独一无二的地方。任天堂在《塞尔达传说》系列上作出的改进,都被它完美地展现了出来:真正开放的世界,运作良好的游戏引擎,以及单一谜题的地牢。而所有这一切都是为了一个目的而服务,那就是增强游戏中探索世界的体验。无论是研究乐都气球(Octo balloon)的使用方法,用“错误(偷鸡)”的方式通过神庙,还是亲眼见到一条巨龙,都让人充满了惊奇。也许还有很多其他玩法近似于《旷野之息》的游戏,但它们中的任何一个都无法带来这样的体验。 \ No newline at end of file diff --git a/static/introduce/introduce76.txt b/static/introduce/introduce76.txt new file mode 100644 index 0000000000000000000000000000000000000000..dad3b0dd671a7f9d81bdaca48979bc37cd57e534 --- /dev/null +++ b/static/introduce/introduce76.txt @@ -0,0 +1 @@ +有些游戏,会随着剧情的终止迎来它的结局;而有些游戏,则会在玩家主动放弃之前源源不断的带来乐趣。而《文明(Civilization)》系列就属于后者,而经典的《文明4(Civilization IV)》更是其中的佼佼者。《文明4》里仿佛有一个叫做“下一回合”的魔咒,每当玩家告诉自己“再玩30分钟”时,往往一抬头就看见了第二天初升的太阳。这不得不让人震惊,时间都去哪儿了?《文明4》是一款真正允许玩家随心所欲地选择自身发展路径的游戏。无论是和平崛起,外交至上,远交近攻还是征战四方,玩家可以通过任何自己喜欢的方式,在历史上留下自己的印记。这是一款极具包容性的游戏,它能满足各种游戏风格的玩家需求,也因此具备了近乎于无限的可重玩性。千万别忘了《Baba Yetu》,这首《文明4》标志性的凯歌曾获得了格莱美提名。这样高亢的赞歌,在之前的游戏音乐里是闻所未闻的。它以一种难以置信的方式,歌颂了人类的希望以及向前进军的勇气。时至今日,这首歌依旧能给人心中带来光明。 \ No newline at end of file diff --git a/static/introduce/introduce77.txt b/static/introduce/introduce77.txt new file mode 100644 index 0000000000000000000000000000000000000000..c20d218f1d4d865217203c1ec0406519e7dea237 --- /dev/null +++ b/static/introduce/introduce77.txt @@ -0,0 +1 @@ +《我的世界(Minecraft)》这个游戏的基础设定简单到令人发指。玩家需要四处搜集木头和矿石等材料,然后通过它们制作物品。然而,正是这样的设定,却赋予了这个游戏近乎无限的可能性。玩家们关于《我的世界》这个游戏最具史诗感的印象,往往都是关于“第一夜”这个时间段的。游戏在一开始时,往往都是阳光明媚的。而玩家们则需要抓紧白天的时间,砍树,挖掘,甚至是猎杀动物来获得食物。一切看上去都是那么美好,直到夜幕降临,真正的敌人开始四处出现。直到这时,你才意识到,这原来是一个生存游戏!于是你匆忙地建起一个临时的木屋,或者躲进洞里一直等到天明。随着太阳的升起,所有敌人都化为灰烬,探索的自由终于重回玩家手中。这时,一股探索世界甚至更加深挖游戏内容的冲动,涌上了心头。是继续坚守阵地还是转移战场呢?是成为一名居住在地底的穴居人,还是在高山之巅建立自己的城堡呢?这些都是在《我的世界》中可以自由完成的事情,而通过丰富的想象力,玩家能在游戏中让任何事情成为现实。 \ No newline at end of file diff --git a/static/introduce/introduce78.txt b/static/introduce/introduce78.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b224c47ff541fc8765dc37cccd966b2847754e5 --- /dev/null +++ b/static/introduce/introduce78.txt @@ -0,0 +1 @@ +笔者不确定自己是否见过比《光环2(Halo 2)》更加夸张宣传。“拯救地球”的营销活动让粉丝们目眩神迷,尤其是当他们得知士官长与星盟之间战斗的主场将重返地球时,更是如此。在2004年E3之后,某场在“桑扎霸市”上进行的5V5比赛,让笔者首次接触到了这款游戏。而在接下来的几周时间里,笔者的脑海中除了《光环2》以外别无他物。而当11月9日这个《光环2》的发布日期终于到来时(正如Peter Moore在他的手臂纹身中承诺的那样),玩家们才发现,之前那些夸张的宣传其实并未言过其实。单人剧情很好地讲述了士官长与神风卫士(the Arbiter)之间的纠葛,而且在事后看来,这一模式在当时完全被低估了。而多人模式则完全改变了游戏的玩法。游戏中的武器和车辆都经过了完美的调整。游戏中多人模式地图的总数,通过后续的地图扩展包达到了11张。废弃建筑(Lockout),船身(Midship),凝结(Coagulation),象牙塔(Ivory Tower),登基上任(Ascension)等等,每一张都让笔者记忆犹新。哪怕时至今日,《光环2》依旧是笔者最爱的多人射击游戏。 \ No newline at end of file diff --git a/static/introduce/introduce79.txt b/static/introduce/introduce79.txt new file mode 100644 index 0000000000000000000000000000000000000000..de3318fe5fc015100a54d1215651bd3bb453d5ca --- /dev/null +++ b/static/introduce/introduce79.txt @@ -0,0 +1 @@ +当《半条命(Half-Life)》在1998年首次推出时,就立刻展现了其中所蕴含的革命性。Valve不仅向世人证明了通过第一人称射击游戏,也能讲述一个真实且激动人心的故事。还使其成为了对后续所有射击游戏来说,教科书一般的存在。《半条命》通过一种绝妙的方式,向玩家展现了游戏中的背景设定。在黑山基地中,玩家通过主角戈登.弗里曼博士的视角,见证了一场由意外事故造成的异次元入侵。《半条命》中的叙事方式,不再是通过过场动画来推动剧情,而是让玩家们透过戈登的视角来经历这一切。这一技术在当时极为惊艳,使得玩家们感觉自己似乎真的成为了戈登一样。游戏中标志性的怪物(其中最著名的是一种能将科学家转化成恐怖僵尸的食脑虫),以及令人印象深刻的AI士兵,都给《半条命》中敌人营造出了一种真实的恐怖感。那些令人印象深刻的武器,从一根简单的撬棍,到消音十字弓,再到用来射击外星蜜蜂的生物制导武器,都让这场发生在黑山基地废墟的战斗,变得精彩纷呈。 \ No newline at end of file diff --git a/static/introduce/introduce8.txt b/static/introduce/introduce8.txt new file mode 100644 index 0000000000000000000000000000000000000000..9145a2109aa799a3ad3a39936d9c4f7670b68a66 --- /dev/null +++ b/static/introduce/introduce8.txt @@ -0,0 +1 @@ +虽然不像《超级马力欧赛车(Super Mario Kart)》或者《暴力摩托(Road Rush)》那样古老,但是作为一款街机赛车游戏,《火爆狂飙3:路霸(Burnout 3: Takedown)》的确是无可争议的经典。如果有谁提到街机赛车游戏,却遗忘了《火爆狂飙3》的话,那么笔者一定会向他投去蔑视的目光。在游戏的前作《冲撞点(Point of Impact)》里,开发者已经在高速追逐和破坏车辆之间,作出了微调。而在《路霸》里,他们进一步完善了这一点。这是一个很容易打发时间的游戏,无论玩家是选择自己一个人玩,还是和朋友一起。没有任何一个游戏能像《火爆狂飙3》那样,给我们带来如此多的悲欢和火热的氛围。没有什么事情,能比在终点前撞毁某人的赛车更毁友谊了。还好这种事情,在下一局“碰撞模式”开始之前就会被忘掉(大多数时候是这样的)。 \ No newline at end of file diff --git a/static/introduce/introduce80.txt b/static/introduce/introduce80.txt new file mode 100644 index 0000000000000000000000000000000000000000..2212ce71c732a83263bebb4915df03b205542d14 --- /dev/null +++ b/static/introduce/introduce80.txt @@ -0,0 +1 @@ +《合金装备(Metal Gear)》系列的精髓,在于它的核心玩法,而不在于某个特定的角色,这一观点在《合金装备3:食蛇者(Metal Gear Solid 3: Snake Eater)》 中表现得尤为突出。本作游戏继续深挖系列的核心玩法,并向玩家们证明,这些玩法不但依旧行之有效,还能超出预期。它迫使玩家运用起自己已有的有关谍报和渗透的全部技巧,去适应一个全新的陌生环境。而所有这些大胆的举动,都建立在制作者对于游戏系统极高的理解之上。也许你已掌握了所有潜入技巧,也经历了无数的军事训练,但身处俄罗斯荒原上未知的丛林中,你依旧会被一览无遗,且脆弱不堪。这时,你人如其名,是一条“裸蛇(Naked Snake)”。游戏的色调和结构都发生了奇异的转变,但看上去却包含着独特的魅力。这也给整个游戏赋予了系列其他作品中所没有的诗情画意。《食蛇者》的剧情里,也许包含着游戏史上最好的爱情故事之一。它也可能是一场最为新奇和刺激的冷战时期的冒险,以及第一个真正让玩家的抉择,对整个故事产生影响的游戏。虽然游戏的剧情会显得有些悲惨,甚至可以说是给玩家带了毁灭性的打击,但是它依旧保持了系列中荒诞不羁的喜剧风格,这让笔者十分欣赏。任何一个能让玩家的情绪如此剧烈起伏的游戏,都当得起这样的赞誉。 \ No newline at end of file diff --git a/static/introduce/introduce81.txt b/static/introduce/introduce81.txt new file mode 100644 index 0000000000000000000000000000000000000000..b5542c93e0093144e85ba857b5b9f9266802ea8c --- /dev/null +++ b/static/introduce/introduce81.txt @@ -0,0 +1 @@ +即使已经过去了五年,笔者依旧会时常回忆起《最后生还者(The Last of Us)》里的三个瞬间。第一个瞬间,来自于开场动画中,有关乔尔身世的介绍。在那一刻笔者就知道,顽皮狗(Naughty Dog)工作室将会以一种特殊的叙事方式,来给玩家们重新讲述这个经典的故事,而自己也一定会深陷其中。第二个瞬间则进一步强化了之前的观点。在游戏的后期,笔者不得不做出某项至关重要的选择,来决定乔尔的行动,即使这样的选择并不是笔者的本意。这种失调感给人带来的震撼是毋庸置疑的,但是这些行为却是有其独特的意义。因为这是属于乔尔和艾莉的故事,他们给人的感觉实在是太过真实了。当然,这也要归功于剧本,动画,以及特洛伊•贝克(Troy Baker)和 艾什莉•约翰逊(Ashley Johnson)出色的表演。而《最后生还者》的最后一幕,更是将游戏和剧情融合到了极致。游戏结局时,两名主角的谈话实在是蕴含了太多沉重的感情,尤其是在玩家经历了发生在他们身上一切的事情之后。笔者实在无法想象出这个游戏还能有什么其他的谢幕方式,能比这样的结局更加令人难以忘怀。 \ No newline at end of file diff --git a/static/introduce/introduce82.txt b/static/introduce/introduce82.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0196313109e04744f2780bfcb82d5fa1a1afaa9 --- /dev/null +++ b/static/introduce/introduce82.txt @@ -0,0 +1 @@ +《毁灭战士》改变了笔者的人生。或者说至少是改变了笔者的游戏生涯。在游戏发布前的一段时间里,笔者几乎将自己所有的精力,都投入到了8位和16位平台上的横版动作游戏中。而《毁灭战士(Doom)》这款第一人称射击游戏的横空出世,确实令人瞠目结舌。《毁灭战士》的所有方面都令人难以忘怀。色彩斑斓且冲击力十足的画面,阴森恐怖的光影效果,让人过耳不忘的音乐,以及出色的武器和敌人形象的设计。《毁灭战士》中的每一个生物,从小鬼到恶魔再到机械恶魔单(Cyberdemon),都像是来自于噩梦之中。而游戏的设定也是闻所未闻,那就是所有怪物都彼此仇视,就像他们仇恨玩家那样。当然,还有游戏里的“Deathmatch”(《毁灭战士》的互联网多人对战模式)。无论玩家是选择通过连接两台电脑来一场1V1的较量,还是依靠局域网来一场四人游戏,《毁灭战士》的“Deathmatch”都彻底改变了游戏的玩法。更让人难以置信的是,时至今日,它依旧很有趣。 \ No newline at end of file diff --git a/static/introduce/introduce83.txt b/static/introduce/introduce83.txt new file mode 100644 index 0000000000000000000000000000000000000000..b1645c3baf7bf4b2e884db8e39a48cdce156825c --- /dev/null +++ b/static/introduce/introduce83.txt @@ -0,0 +1 @@ +《时空之轮(Chrono Trigger)》被普遍认为是史上最好的RPG游戏是有一定道理的。游戏从一开始时,主角过着看似平淡的生活,却突然被卷入了一场超时空之旅中。这样的转折,本身就十分刺激且令人欣喜。当年的Squaresoft拥有被称为“梦之队”的制作团队,包括《最终幻想》系列的制作者坂口博信,《勇者斗恶龙(Dragon Quest)》系列的制作者Yuji Horii,以及负责人设的《龙珠(Dragon Ball)》作者鸟山明。在1995年春季发布后,《时空之轮》散发出了更耀眼的光芒(不仅仅因为豪华制作团队)。虽然当时的SNES已经日薄西山,但《时空之轮》凭借其多重的叙事,丰满的人塑造,以及绝妙的配乐,依旧在游戏史上占据了一个重要的位置。 \ No newline at end of file diff --git a/static/introduce/introduce84.txt b/static/introduce/introduce84.txt new file mode 100644 index 0000000000000000000000000000000000000000..725b5e31bc4c362814fc57c32127ce0d948616d0 --- /dev/null +++ b/static/introduce/introduce84.txt @@ -0,0 +1 @@ +如果一定要用一句话来形容《侠盗猎车手5( Grand Theft Auto V)》,那就是广袤无边却又追求细节。再也没有任何一个开放世界,能像《侠盗猎车手5》里的洛圣都和其周围的乡村那样,让人感觉如此真实了。打开游戏,走上其中任何一条街道,再仔细看看两侧的那些店面。你会发现,在游戏中另外任何一个地方,都无法找到相似的场景。再低头看看脚下的沥青路面,那些磨损和裂痕都是数以百万计汽车追逐后留下的印记。还有街道上的垃圾和涂鸦。《侠盗猎车手5》里,混合了大量追车竞速,刺激的枪战,以及疯狂的抢劫。游戏对四周环境的刻画是如此的真实。《侠盗猎车手5》是一个游戏制作技术上的丰碑,同时还源源不断地给玩家们提供着乐趣。这也使得它成为了游戏史上最成功的作品之一。毕竟,没有哪款游戏可以凭运气卖出九千万份。 \ No newline at end of file diff --git a/static/introduce/introduce85.txt b/static/introduce/introduce85.txt new file mode 100644 index 0000000000000000000000000000000000000000..5ffac59be4a928ac5dca689af6ec8c21085016a7 --- /dev/null +++ b/static/introduce/introduce85.txt @@ -0,0 +1 @@ +对于《黑暗之魂(Dark Souls)》来说,其标志性的高难度反而是最不值得关注的地方。因为如果仅仅着眼于此,就会阻碍我们进一步地思考,到底是什么,使其成为过去十年里最富影响力的游戏?你有可能会忽略罗德兰(Lordran)的地图设计是多么的精妙。从被熔岩淹没的废墟到光辉闪耀的神灵之城,整张地图都融为一体。即使是全新的路径也有可能将玩家带回原处,这使得第一次探索地图的过程就像是在解开一个巨大的谜题。你也有可能会忘记游戏中的战斗是多么的精确和细致,以及与之匹配的,有可能是游戏史上最有趣Boss的设计。而你一定不会记得去关注游戏的背景故事。这些故事是如此的含糊不清,却又让玩家们狂热地想要获悉其背后的真相。这样的叙事方式,是在其他任何游戏中都不曾见到的。《黑暗之魂》对于任何人来说都是一场挑战,但是它针对玩家们的坚毅和好奇所给予的奖励,也是无穷无尽的。 \ No newline at end of file diff --git a/static/introduce/introduce86.txt b/static/introduce/introduce86.txt new file mode 100644 index 0000000000000000000000000000000000000000..72b4483aa6de91f2a8e12f3afc65d2db1761efa3 --- /dev/null +++ b/static/introduce/introduce86.txt @@ -0,0 +1 @@ +对于一款格斗游戏来说,哪些特质才能使其有资格称为史上最佳呢?是拥有不计其数的仿品,追随者和续作吗?至少在今天看来,《街头霸王2(Street Fighter II)》依旧是电子游戏史上的一个传说。其中诞生了像隆、肯、春丽这样的经典角色,还使得“哈多根”这样的词语,变得为大众所熟知。由于其中多样且个性分明的人物设计,使得几乎每一个玩家都能说出自己在《街头霸王2》中最爱的角色。现在已经很难说清楚《街头霸王2》在它发售的时候,是一个多么特别的游戏了。杰出的平衡性,富有想象力的人物设定,以及高质量的画面,都使得它在当时显得独树一帜。《街头霸王2》有可能是第一款在全球街机上流行的格斗游戏。在接下来的几年里,卡普空(Capcom)持续地对这款游戏进行更新,并优化了其中的战斗系统。通过这些努力,游戏里的角色不断增加,战斗的节奏不断加快,那些被玩家所喜爱的角色们,还拥有了更多全新的特殊技能。自1991年发布以来,这款游戏就频繁出现在各大奖项的提名中。以上这些,就是《街头霸王2》能被称为不朽和杰作的原因。 \ No newline at end of file diff --git a/static/introduce/introduce87.txt b/static/introduce/introduce87.txt new file mode 100644 index 0000000000000000000000000000000000000000..33b141e2f140dc1828b48e4dcbc8cbfe9d1400b3 --- /dev/null +++ b/static/introduce/introduce87.txt @@ -0,0 +1 @@ +对于某些年龄段的玩家们来说,《超级马力欧兄弟(Super Mario Bros.)》很有可能是他们所玩过的第一个游戏(由于NES的功劳,《超级马力欧兄弟》也成为了这群人的孩子们所接触的第一个游戏)。在该作中,马力欧离开了街机和大金刚,踏入了蘑菇王国的世界。这惊人的一步,几乎改变了所有玩家的爱好以及整个游戏产业。它带来了一系列连锁反应(包括任天堂从游戏产业崩塌的灰烬中崛起,以及普及平台游戏等等),并最终塑造了今日的游戏。从没有一个游戏能像《超级马力欧兄弟》 这样,能被无数次地重新发布。时至今日,它依旧是孩子们接触游戏的首选之作,因为其依然很有趣。《超级马力欧兄弟》推动了一个行业的诞生,并在蘑菇之上建立起了一个游戏帝国。它所拥有的影响力,无论怎样的赞美都不会言过其实。举个例子,现在正在看这段文字的任何一个人都可以哼唱出它的主题曲,对吧?现在,请在脑海里再将它重温一遍。 \ No newline at end of file diff --git a/static/introduce/introduce88.txt b/static/introduce/introduce88.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5f8a901474c6ee21d6505686824584f17f25689 --- /dev/null +++ b/static/introduce/introduce88.txt @@ -0,0 +1 @@ +《光环(Halo)》系列并不是第一人称射击游戏的开创者。在该系列发布时FPS游戏就已经诞生很久了。它们甚至不是最早发布在主机上的FPS游戏。但是,它们却是第一款真正能够在主机上表现良好的FPS游戏,而且改变了整个游戏行业。《光环:战斗进化(Halo: Combat Evolved)》的操作方式与手柄几乎完美契合,再配上迷人又极富英雄色彩的主角,以及游戏中科幻感十足的宇宙。使得该作在诞生之时就成为了一款重量级的游戏。而它还仅仅只是这个传奇系列的第一部。以上这些还完全不足以代表《光环》的成就。它从发布之日起,就是一直是史上最好的多人射击游戏之一。当然,这也要归功于游戏中那些绝妙的武器。而第三人称车辆驾驶系统也值得称道,玩家们可以驾车无缝衔接地穿越血腥峡谷(Blood Gulch),响尾蛇(Sidewinder),高高吊起(Hang 'em High)等一系列经典地图。所有的这一切,都让这个游戏和它的主题曲《chanting-monks》一起,成为了传奇。 \ No newline at end of file diff --git a/static/introduce/introduce89.txt b/static/introduce/introduce89.txt new file mode 100644 index 0000000000000000000000000000000000000000..830228770039c5c0f655daaa9276f677c8bff35d --- /dev/null +++ b/static/introduce/introduce89.txt @@ -0,0 +1 @@ +由于其良好的操作反馈和独特的地图设定,《恶魔城:月下夜想曲(Castlevania: Symphony of the Night)》一直深受世界各地玩家们的喜爱。游戏中的角色具备极大的操作乐趣,而地图设计显得独一无二,四处遍布着谜题。玩家们在好奇心驱使之下,探索地图的行为,往往还能收获良好的反馈。所有的这一切,都让你很难不去爱上它。而《月下夜想曲》中的某一个特殊设定,则让它从一个笔者喜爱的游戏,一跃成为了游戏史上最杰出的作品之一。这个设定也使其成为整个电子游戏史上,最具史诗感的游戏之一。在玩家击败城堡的最终Boss之后,往往会觉得自己已经通关了。在这之前,他们已经战胜了众多Boss,穿上了超强的装备,并发现了大量的秘密。但事实上,这时候的游戏仅仅只进行了一半!(注意剧透!)《月下夜想曲》里其实还有另外一座城堡存在,而且这座城堡并不仅仅是某种为了延长游戏流程而存在的随意设定。它还拥有全新的敌人、Boss和装备。对于一张极易被忽略的隐藏地图而言,它的制作可以说是十分精良了。尽管如此,《月下夜想曲》还不只是一款拥有华丽转折的横版过关游戏。美丽的哥特风格像素画面,配上迷人的背景音乐,使得游戏里的德古拉城堡变得栩栩如生。主角阿鲁卡特(Alucard)和敌人们的动画风格都显得十分精美。他们的画风基本上是一脉相承的。游戏的美术,动画,音乐,玩法,人物设定,甚至是可重玩性(这要归功于可使用角色的多样性),都完美地结合在了一起。 \ No newline at end of file diff --git a/static/introduce/introduce9.txt b/static/introduce/introduce9.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0202642e00fa132277004b6b518bfbacad20bbb --- /dev/null +++ b/static/introduce/introduce9.txt @@ -0,0 +1 @@ +在《辐射2(Fallout 2)》里,玩家们所扮演的角色,最初只是一个穿着缠腰布,手持写有自己名字的长矛的部落成员。然后在游戏的过程中,逐渐成长为一个全副武装,手持高斯枪的杀戮机器。这样美妙和刺激的体验,是很少有游戏能与之相比的。探索游戏里宏大开阔的后启示录风格的世界,并与其中致命的突袭者,超级变种人,以及死亡爪斗智斗勇,是一件令人恐惧且兴奋的事情。虽然游戏是以第三人称视角进行的,但其中对细节的刻画,大气的音乐,对道德冲突的着力描绘,以及关键角色的互动音效等,都让这个世界变得栩栩如生。事实上,这是一个需要不断重玩,才能完全体会其多变性和开放性的游戏。笔者就已经体验了很多遍了,无论是人物的设定还是技能的加点,都会戏剧性地影响剧情的走向。就连击杀最终Boss的方式不同,都会带来不同的结果。唯一的缺陷可能就是,角色们之间只能依靠咕噜声来交流。另外,玩家们永远无法猜到接下来会碰见什么样的随机事件,而通过完成它们,玩家则有可能获得改变游戏进程的强大物品。《辐射2》总是能给人带来新的惊喜。 \ No newline at end of file diff --git a/static/introduce/introduce90.txt b/static/introduce/introduce90.txt new file mode 100644 index 0000000000000000000000000000000000000000..79a4dbceba4f9ec9edcf9c03c8b05d8c68a2b9a6 --- /dev/null +++ b/static/introduce/introduce90.txt @@ -0,0 +1 @@ +当《传送门(Portal)》将有续作推出的消息公布时,笔者既觉得吃惊又有些沮丧。笔者当时的想法是,别让续作毁了原本的大师之作好吗?毕竟原作游戏是如此的独一无二,并不需要狗尾续貂。Valve当然有能力创造出一款有趣的游戏,但是继续保持前作中那些天才般的构想,并不是一件容易的事情。所以在刚刚上手《传送门2(Portal 2)》时,笔者预计这将是一个合格,有趣,却并不足以令人满意的游戏。然而,它却大大超出了笔者的预期。《传送门2》拥有更棒的谜题,迷人的新人物,以及幽默的对话。每当笔者重玩这款游戏时,总会试着弄清Valve是如何在如此有限的角色刻画之中,培植出如此强烈的幽默效果的。虽然只存在于一系列的档案之中,但是凯文•约翰逊(Cave Johnson)的人物形象,却和格拉多斯(GLaDOS),惠特利(Wheatley)甚至是笔者本人一样栩栩如生。这种通过环境要素来讲述故事的方式,是一门值得研究的学问。Vavle在《半条命(Half Life)》中开始引入这种模式,并在《传送门2》里使其趋于完美。每当笔者踏入一块新区域时,都会十分期待前方会出现怎样噱头,故事转折,以及欢乐的逻辑跳跃。这趟回归光圈科技(Aperture Science)的旅程,给笔者带了意料之外的惊喜。 \ No newline at end of file diff --git a/static/introduce/introduce91.txt b/static/introduce/introduce91.txt new file mode 100644 index 0000000000000000000000000000000000000000..08ee5cfa6fa271ac46b3286d794c783edeec5b79 --- /dev/null +++ b/static/introduce/introduce91.txt @@ -0,0 +1 @@ +《马力欧(Mario)》系列游戏是趣味和创意的代名词,也许《超级马力欧64(Super Mario 64)》是后者的最好例子了。它囊括了《马力欧》系列2D横向卷轴冒险中优秀的核心元素,并研究出了如何将它们转化为开创性的3D世界。你仍然可以认出他是马力欧,他收会集了蘑菇,并会边跑边跳,但他同时也被永远地改变了。他现在可以跳远,三级跳和后空翻。 虽然游戏潜在的难度仍然相同,而且游戏场景也让玩家们感到熟悉,但游戏视角的变化改变了一切。更加令人印象深刻的是,马力欧从2D到3D的转变并非易事。面临着当时前所未有的技术挑战,《超级马力欧64》完成了这种转变。尽管这款游戏现在看起来可能有点粗糙,但它仍然是一款大胆而卓越的作品。 \ No newline at end of file diff --git a/static/introduce/introduce92.txt b/static/introduce/introduce92.txt new file mode 100644 index 0000000000000000000000000000000000000000..fdec2177c619eee8dde9df864641ac3403cc7ecf --- /dev/null +++ b/static/introduce/introduce92.txt @@ -0,0 +1 @@ +如果你正在阅读我们的史上最佳游戏列表,而且并没有玩过《荒野大镖客:救赎(Red Dead Redemption)》的话,马上就去玩一遍吧!这非常重要,我们不介意在这等你三十多个小时。2008年的《侠盗猎车手4(Grand Theft Auto Ⅳ)》或许是笔者购买Xbox 360的原因,但《荒野大镖客》绝对是笔者一直留着这台主机的原因。笔者不仅完全沉迷在这款游戏的世界中,甚至连说话吐字都开始变得像游戏里的角色一样,而且这款游戏还让笔者感受到了前所未有联机体验。当然,在笔者看来《使命召唤(Call of Duty)》还算有趣,赛车游戏也还可以,但笔者从未像在《荒野大镖客》自由漫游模式中,(和朋友或是陌生玩家一起)这样创造过自己的故事和冒险。玩《荒野大镖客》的时候,第二天你会迫不及待地和朋友一起讨论。“你救了那个铁轨上的女人吗?”“没有,但是我找到了这个装了差不多一千头美洲狮的货仓。”“太棒了,但是你把野人干掉了吗?”就像这样,游戏里的每个角色都会讲述自己精彩的西部故事。而每当你进入游戏时,你都在不断地创造新的故事。《荒野大镖客》唯一真正的缺点是,它一直没有登陆PC平台。这点非常遗憾,因为笔者的Xbox 360在几年前就坏了,笔者真的很想再玩一次。 \ No newline at end of file diff --git a/static/introduce/introduce93.txt b/static/introduce/introduce93.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b7e3f7b527e76e9199bfed62ee7f1f82eb241b7 --- /dev/null +++ b/static/introduce/introduce93.txt @@ -0,0 +1 @@ +当回想起《半条命2(Half-Life 2)》的时候,笔者会想起三件事。首先是游戏令人难以置信的开场。游戏一开始就立刻为接下来的反乌托邦式的冒险定下了基调。一句“拿起那个罐子”便成为了玩家一开始在17号城市中的一个非凡时刻。接下来就是你第一次拿起“零点能量场牵引器(Zero Point Energy Field Manipulator)”的时刻,也就是所谓的重力枪。很难形容2004年维尔福公司设计的这种技术有多么的卓越。用重力枪拿起物品然后发射出去,给予了笔者一种前所未有的体验。笔者记得关于《半条命2》的第三件事就是莱温霍姆(Ravenholm)了。这个令人毛骨悚然的采矿小镇如今被僵尸和猎头蟹所淹没,给玩家们提供了一个完美的游乐场,供你试验新武器。当然,我们可能永远也不会知道戈登和亚历克斯故事的结局,但是从《半条命2》中你至少可以得出这样的结论,它的确是一款非常特别的游戏,现在也依然如此。 \ No newline at end of file diff --git a/static/introduce/introduce94.txt b/static/introduce/introduce94.txt new file mode 100644 index 0000000000000000000000000000000000000000..eab20bd9c2abb178c8d5be72ce08f9416791c1bf --- /dev/null +++ b/static/introduce/introduce94.txt @@ -0,0 +1 @@ +阿列克谢•帕基特诺夫(Alexey Pajitnov)制作的经典益智游戏《俄罗斯方块(Tetris)》勾起了笔者对童年的回忆。当时还是个小女孩的笔者也曾沉迷于《俄罗斯方块》中。笔者当时从来没有玩过刺激的主机游戏,更不用说那种让人上瘾的游戏了。笔者仍然记得,当时自己会花几个小时盘着腿坐在电视机和NES主机前面,不断旋转五颜六色的砖块,将它们拼成一排并消除,消除砖块后进入下一阶段。即使到后来,这些砖块以惊人的速度开始下落,让笔者手忙脚乱,也有一种疯狂的乐趣在其中(笔者还记得自己有一次,不小心把方块拼成了一座像素版的比萨斜塔)。无论笔者重新开始多少次游戏,都会感觉停不下来。游戏中总是会有机会,让笔者在正确的时间,把正确的方块放在相应的位置上,并进入下一个阶段。笔者从来没有感觉厌倦,直到现在《俄罗斯方块》仍然是笔者最喜欢的游戏之一。 \ No newline at end of file diff --git a/static/introduce/introduce95.txt b/static/introduce/introduce95.txt new file mode 100644 index 0000000000000000000000000000000000000000..418e4a334a8dc99bb2977cf1631854349211acf7 --- /dev/null +++ b/static/introduce/introduce95.txt @@ -0,0 +1 @@ +在小时候,笔者几乎玩过所有卡带外壳上印着炫酷角色的游戏,以及笔者最喜欢的、所有的忍者神龟(Ninja Turtles)的游戏。尽管当时笔者不能用语言描述出《超级马力欧兄弟(Super Mario Bros.)》的优点,但笔者知道它是一款很特别的游戏,而且几乎比其他所有游戏都要好。所以有一年当笔者从圣诞老人那里收到《超级马力欧兄弟3(Super Mario Bros. 3)》,并且从包装盒的背面看到游戏中马力欧可以飞行的时候,笔者就知道自己会在游戏中得到特别的体验。这款游戏超越了笔者的预期,笔者花费了无数个下午的时间,在游戏中击败库巴的孩子们,解救国王,并寻找隐藏在蘑菇王国各个角落的秘密。早在1990年,这款游戏就已经成为了笔者最喜欢的游戏之一,即便在此后20多年里,笔者玩过了各种游戏之后,它在笔者心中的地位仍不可动摇。《超级马力欧兄弟3》是如何制作完美续作的教科书般的示例。它将原作中的经典元素与极具想象力的新想法相结合。一些后来被人们奉为马力欧经典元素的东西——服装、布布鬼、世界地图,全都来自这款游戏。 \ No newline at end of file diff --git a/static/introduce/introduce96.txt b/static/introduce/introduce96.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce16406dfad9c1393e60b7c2bceb79af7e84534c --- /dev/null +++ b/static/introduce/introduce96.txt @@ -0,0 +1 @@ +《塞尔达传说(The Legend of Zelda)》和《塞尔达传说2:林克的冒险(The Legend of Zelda:The Adventure of Link)》奠定了林克的形象,但在《塞尔达传说:众神的三角力量(The Legend of Zelda: A Link to the Past)》中,海拉鲁这片土地才真正被塑造成了一个世界。从本作令人难忘的新手教程开始,再到林克手握利剑、长弓与魔王加农进行最后对决,《众神的三角力量》完美地把握住了每一个地牢,每一次探索和每一个扣人心弦的情节的节奏,这在当时几乎是闻所未闻的。游戏开放式的场景引人入胜,而且拯救公主塞尔达的目标,完美地平衡了游戏的目的性和自由性,笔者从来没有感到漫无目的。这一版的海拉鲁不仅仅让玩家在充满敌人的场景之间移动,它还包含了沉浸式体验应该拥有的一切元素:一个广阔的开放世界,以及巧妙隐藏在角落中的谜题,这些谜题经常需要你拿到新道具后,返回来才能解开。每个区域,无论是在让人愉快的外部世界、昏暗的洞穴,还是令人恐惧的黑暗世界,都通过一些细节而变得鲜活。比如钢化剑(Tempered Sword)在空中挥舞的声音、解谜成功后的动人旋律,以及近藤浩治为游戏创作的迷人配乐。这个版本的海拉鲁比任何版本都更令笔者爱不释手。 \ No newline at end of file diff --git a/static/introduce/introduce97.txt b/static/introduce/introduce97.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccdc96ebffe282d5abe2fc896ce31f97bf823e82 --- /dev/null +++ b/static/introduce/introduce97.txt @@ -0,0 +1 @@ +早在1994年,《超级银河战士(Super Metroid)》用环境叙事的简约风格设定了一个标准,而笔者相信这一标准至今都没有被超越。Zebes这颗星球给人一种致命的压迫感。第一眼看上去,这里似乎平淡无奇。但是仔细观察环境你就会发现,boss房间外的士兵尸体长满了寄生虫;一半露出水面的外星飞船残骸好像在闹鬼;太空海盗的巢穴原来一直就藏在你眼皮底下。这种设计非常棒,它并没有向你解释每个新区域是关于什么的。但这些区域就在那里,等待着玩家们自己去发现(或被玩家忽略)。但是,《超级银河战士》始终能勾起玩家们的好奇心,然后对玩家们的好奇心给出奖励。这使得它成为了有史以来最伟大的游戏之一。本作到处都隐藏着秘密,它总是用诱人的线索来嘲弄你。在这里,道具总是触手可及,却又遥不可及。例如一个能量藏在了一面看似无法通过的墙后面。你可以看到一对导弹被放在一个封闭空间中,只有上面快要破碎的砖块可以让你进入其中,然而你无论如何也不能到达砖块上方。《超级银河战士》是一款无可挑剔的平台动作游戏,但这只是它的表象。这款游戏真正特别的地方是它将解谜、氛围、剧情、探索、游戏设计和游戏性绝妙地结合在了一起。没有哪款游戏能像它一样。 \ No newline at end of file diff --git a/static/introduce/introduce98.txt b/static/introduce/introduce98.txt new file mode 100644 index 0000000000000000000000000000000000000000..246cca6c655556c65433f06272443650566c22df --- /dev/null +++ b/static/introduce/introduce98.txt @@ -0,0 +1 @@ +解谜游戏有时可能会有些枯燥,它们往往更关注于逻辑、推理以及谜题设计的精细程度。《传送门(Portal)》则完全不同,它的谜题深植于令人难忘的剧情之中,给玩家带来了许多令人印象深刻的角色与难忘的瞬间。一般来说,电子游戏要比其他任何媒介都更便于操控空间和视角,《传送门》就充分利用了这一独特优势。传送枪是电子游戏中伟大的道具之一。它发射的不是子弹,而是传送门,可以让玩家在一瞬之间穿越空间。这听起来很简单,就像是作弊一样,但每个测试房间的巧妙设计可以防止玩家直接到达出口。而且玩家还需要考虑速度等变量。《传送门》的设计和幽默感堪称典范。逃离光圈科技(Aperture Science)的谜题让解谜类游戏超越了单纯的互动式谜题。 \ No newline at end of file diff --git a/static/introduce/introduce99.txt b/static/introduce/introduce99.txt new file mode 100644 index 0000000000000000000000000000000000000000..f57782244bde09922e7444f0ad13351898cdd259 --- /dev/null +++ b/static/introduce/introduce99.txt @@ -0,0 +1 @@ +自前作《众神的三角力量》后,粉丝们又等了七年才有机会在《塞尔达传说:时之笛(The Legend of Zelda: Ocarina of Time)》中重返海拉鲁大陆。经过多次跳票和开发问题后,任天堂并没有让玩家们失望。作为第一款3D塞尔达游戏,《时之笛》革新了人们对动作冒险和3D战斗的认识,获得了几乎一致的完美分数和广泛的赞誉。从游戏机制的角度来看,《时之笛》堪称奇迹。它慢慢向玩家引入游戏系统,逐渐增加复杂性的方式十分精湛,使得《时之笛》中的许多元素即便在当今,仍然是行业内的标准。在叙事上,《时之笛》的故事至今仍然是塞尔达游戏有史以来最好的剧情之一,玩家在阻止邪恶的加农道夫(Ganondorf),拯救塞尔达公主的过程中,在时间线之间来回穿越,成为了《塞尔达传说》系列游戏使用了近20年的剧情模板。《时之笛》至今仍然被视为有史以来最伟大的游戏之一。 \ No newline at end of file diff --git a/static/name/name1.txt b/static/name/name1.txt new file mode 100644 index 0000000000000000000000000000000000000000..92884391005e348befcb5e1c34d0b0616232fe2c --- /dev/null +++ b/static/name/name1.txt @@ -0,0 +1 @@ +《精灵宝可梦Go》 \ No newline at end of file diff --git a/static/name/name10.txt b/static/name/name10.txt new file mode 100644 index 0000000000000000000000000000000000000000..2d42889c0fee2e3ccb08b7da8f728a7634674c6b --- /dev/null +++ b/static/name/name10.txt @@ -0,0 +1 @@ +《传说之下》 \ No newline at end of file diff --git a/static/name/name100.txt b/static/name/name100.txt new file mode 100644 index 0000000000000000000000000000000000000000..416bc0df52af92f751cda97d09efdeb62e7ff4c0 --- /dev/null +++ b/static/name/name100.txt @@ -0,0 +1 @@ +《超级马力欧世界》 \ No newline at end of file diff --git a/static/name/name11.txt b/static/name/name11.txt new file mode 100644 index 0000000000000000000000000000000000000000..62a196141c7e4b00a3e6e044222ed3db3c17f160 --- /dev/null +++ b/static/name/name11.txt @@ -0,0 +1 @@ +《英雄联盟》 \ No newline at end of file diff --git a/static/name/name12.txt b/static/name/name12.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f5125bbab745398977f95a259c802d2830c59bd --- /dev/null +++ b/static/name/name12.txt @@ -0,0 +1 @@ +《洛克人3》 \ No newline at end of file diff --git a/static/name/name13.txt b/static/name/name13.txt new file mode 100644 index 0000000000000000000000000000000000000000..a97e14e6df456179ba488bab191d449152f13271 --- /dev/null +++ b/static/name/name13.txt @@ -0,0 +1 @@ +《刀魂》 \ No newline at end of file diff --git a/static/name/name14.txt b/static/name/name14.txt new file mode 100644 index 0000000000000000000000000000000000000000..52c20a6ed7624631d3b638e9cf30b08064e5d407 --- /dev/null +++ b/static/name/name14.txt @@ -0,0 +1 @@ +《模拟城市2000》 \ No newline at end of file diff --git a/static/name/name15.txt b/static/name/name15.txt new file mode 100644 index 0000000000000000000000000000000000000000..91fb90c4f013be00b0c534e7e1b74cece9e04e49 --- /dev/null +++ b/static/name/name15.txt @@ -0,0 +1 @@ +《魂斗罗》 \ No newline at end of file diff --git a/static/name/name16.txt b/static/name/name16.txt new file mode 100644 index 0000000000000000000000000000000000000000..c56d93a344d1f0be15d430d244dd5595b962ff51 --- /dev/null +++ b/static/name/name16.txt @@ -0,0 +1 @@ +《Inside》 \ No newline at end of file diff --git a/static/name/name17.txt b/static/name/name17.txt new file mode 100644 index 0000000000000000000000000000000000000000..85f1fc11023923323994869befe3ef2ef22370f8 --- /dev/null +++ b/static/name/name17.txt @@ -0,0 +1 @@ +《超级马力欧:奥德赛》 \ No newline at end of file diff --git a/static/name/name18.txt b/static/name/name18.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a35e70ab4ad300d9e08121da49a8d2fbb2fbac1 --- /dev/null +++ b/static/name/name18.txt @@ -0,0 +1 @@ +《网络奇兵2》 \ No newline at end of file diff --git a/static/name/name19.txt b/static/name/name19.txt new file mode 100644 index 0000000000000000000000000000000000000000..5f0ed7108320d213291c351f17d6da6c06b85964 --- /dev/null +++ b/static/name/name19.txt @@ -0,0 +1 @@ +《侠盗猎车手:罪恶都市》 \ No newline at end of file diff --git a/static/name/name2.txt b/static/name/name2.txt new file mode 100644 index 0000000000000000000000000000000000000000..d5feeb4247d9a97fac13a8aabb5d9a8ea5907658 --- /dev/null +++ b/static/name/name2.txt @@ -0,0 +1 @@ +《最终幻想7》 \ No newline at end of file diff --git a/static/name/name20.txt b/static/name/name20.txt new file mode 100644 index 0000000000000000000000000000000000000000..83c7cbc4963bcb28ea568f984561fbceb8510a5f --- /dev/null +++ b/static/name/name20.txt @@ -0,0 +1 @@ +《女神异闻录5》 \ No newline at end of file diff --git a/static/name/name21.txt b/static/name/name21.txt new file mode 100644 index 0000000000000000000000000000000000000000..a22835c3cd88c393cb6562a31fe88960dbab2512 --- /dev/null +++ b/static/name/name21.txt @@ -0,0 +1 @@ +《冥界狂想曲》 \ No newline at end of file diff --git a/static/name/name22.txt b/static/name/name22.txt new file mode 100644 index 0000000000000000000000000000000000000000..1304b1454264530766f50997cc4ecbf823ae104f --- /dev/null +++ b/static/name/name22.txt @@ -0,0 +1 @@ +《塞尔达传说:风之杖》 \ No newline at end of file diff --git a/static/name/name23.txt b/static/name/name23.txt new file mode 100644 index 0000000000000000000000000000000000000000..27de5dcc35aa1f9153b3fa02c103823570579850 --- /dev/null +++ b/static/name/name23.txt @@ -0,0 +1 @@ +《007:黄金眼》 \ No newline at end of file diff --git a/static/name/name24.txt b/static/name/name24.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ba1af4302175a2974902a91201eafcb536c9f51 --- /dev/null +++ b/static/name/name24.txt @@ -0,0 +1 @@ +《任天堂明星大乱斗DX》 \ No newline at end of file diff --git a/static/name/name25.txt b/static/name/name25.txt new file mode 100644 index 0000000000000000000000000000000000000000..43c9a3466ffe26e9d345ea25cd88788220b1fbc9 --- /dev/null +++ b/static/name/name25.txt @@ -0,0 +1 @@ +《上古卷轴5:天际》 \ No newline at end of file diff --git a/static/name/name26.txt b/static/name/name26.txt new file mode 100644 index 0000000000000000000000000000000000000000..5873f93c8bab23b34d84dacb176973136023d26d --- /dev/null +++ b/static/name/name26.txt @@ -0,0 +1 @@ +《幽浮:UFO防御》 \ No newline at end of file diff --git a/static/name/name27.txt b/static/name/name27.txt new file mode 100644 index 0000000000000000000000000000000000000000..b6ac401ade5c3cfe6e96ea7f25f8815b8c6d3cec --- /dev/null +++ b/static/name/name27.txt @@ -0,0 +1 @@ +《幻想水浒传2》 \ No newline at end of file diff --git a/static/name/name28.txt b/static/name/name28.txt new file mode 100644 index 0000000000000000000000000000000000000000..318ba611849db5a48708806be2463e3e3e5cf1d1 --- /dev/null +++ b/static/name/name28.txt @@ -0,0 +1 @@ +《战地1942》 \ No newline at end of file diff --git a/static/name/name29.txt b/static/name/name29.txt new file mode 100644 index 0000000000000000000000000000000000000000..77e501ddb5d8f788962b8142002339439b2f6766 --- /dev/null +++ b/static/name/name29.txt @@ -0,0 +1 @@ +《Dota 2》 \ No newline at end of file diff --git a/static/name/name3.txt b/static/name/name3.txt new file mode 100644 index 0000000000000000000000000000000000000000..061211386d9ec2898667ee31dfc29e8910e8f04b --- /dev/null +++ b/static/name/name3.txt @@ -0,0 +1 @@ +《小蜜蜂》 \ No newline at end of file diff --git a/static/name/name30.txt b/static/name/name30.txt new file mode 100644 index 0000000000000000000000000000000000000000..c915c2f4a3dae1e07c452f5112bcd82c479ca0ee --- /dev/null +++ b/static/name/name30.txt @@ -0,0 +1 @@ +《最终幻想战略版》 \ No newline at end of file diff --git a/static/name/name31.txt b/static/name/name31.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f89e6f1b84be047b10de628dd97385185ac452b --- /dev/null +++ b/static/name/name31.txt @@ -0,0 +1 @@ +《星球大战绝地武士2:绝地放逐者》 \ No newline at end of file diff --git a/static/name/name32.txt b/static/name/name32.txt new file mode 100644 index 0000000000000000000000000000000000000000..497018340566e041b009f2fc5da4bd890d68e0dd --- /dev/null +++ b/static/name/name32.txt @@ -0,0 +1 @@ +《神偷2:金属时代》 \ No newline at end of file diff --git a/static/name/name33.txt b/static/name/name33.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b47fe68d25ea0f72bcdff567a56135601bdaa9f --- /dev/null +++ b/static/name/name33.txt @@ -0,0 +1 @@ +《洞穴探险》 \ No newline at end of file diff --git a/static/name/name34.txt b/static/name/name34.txt new file mode 100644 index 0000000000000000000000000000000000000000..085801b8f1e6731a7f3ec3e928699658edcd605e --- /dev/null +++ b/static/name/name34.txt @@ -0,0 +1 @@ +《大金刚》 \ No newline at end of file diff --git a/static/name/name35.txt b/static/name/name35.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3438e99065c385cd8e21ecfea2c87302d85313f --- /dev/null +++ b/static/name/name35.txt @@ -0,0 +1 @@ +《军团要塞2》 \ No newline at end of file diff --git a/static/name/name36.txt b/static/name/name36.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b98a22a0a1ed18305985dee79dd1f72946c898a --- /dev/null +++ b/static/name/name36.txt @@ -0,0 +1 @@ +《模拟人生》 \ No newline at end of file diff --git a/static/name/name37.txt b/static/name/name37.txt new file mode 100644 index 0000000000000000000000000000000000000000..3fe0bc90d73279bdb82690193ff8a3bcc89c38c7 --- /dev/null +++ b/static/name/name37.txt @@ -0,0 +1 @@ +《摇滚乐队》 \ No newline at end of file diff --git a/static/name/name38.txt b/static/name/name38.txt new file mode 100644 index 0000000000000000000000000000000000000000..99ba899f71af0fca1227f096067f7cdd364ee498 --- /dev/null +++ b/static/name/name38.txt @@ -0,0 +1 @@ +《辐射3》 \ No newline at end of file diff --git a/static/name/name39.txt b/static/name/name39.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4c4ed6a0a2e914ad76fed0ba02b75c4e60dd311 --- /dev/null +++ b/static/name/name39.txt @@ -0,0 +1 @@ +《班卓熊大冒险》 \ No newline at end of file diff --git a/static/name/name4.txt b/static/name/name4.txt new file mode 100644 index 0000000000000000000000000000000000000000..78475af9eecc2af46d7004d0c061f816f972f35e --- /dev/null +++ b/static/name/name4.txt @@ -0,0 +1 @@ +《魔兽争霸2:黑暗之潮》 \ No newline at end of file diff --git a/static/name/name40.txt b/static/name/name40.txt new file mode 100644 index 0000000000000000000000000000000000000000..a08aa6eaab6301237910c52041cd890ff96b071c --- /dev/null +++ b/static/name/name40.txt @@ -0,0 +1 @@ +《超级马里奥世界2:耀西岛》 \ No newline at end of file diff --git a/static/name/name41.txt b/static/name/name41.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d017366025c7a93daa39cacaf5135062538b306 --- /dev/null +++ b/static/name/name41.txt @@ -0,0 +1 @@ +《寂静岭2》 \ No newline at end of file diff --git a/static/name/name42.txt b/static/name/name42.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b07a67bc8a4d05685c7d3b0e5ab6982f2bbb0a6 --- /dev/null +++ b/static/name/name42.txt @@ -0,0 +1 @@ +《侠盗猎车手:圣安地列斯》 \ No newline at end of file diff --git a/static/name/name43.txt b/static/name/name43.txt new file mode 100644 index 0000000000000000000000000000000000000000..67aece5163f78082d8a4d6e74852249d9f1293d9 --- /dev/null +++ b/static/name/name43.txt @@ -0,0 +1 @@ +《质量效应》 \ No newline at end of file diff --git a/static/name/name44.txt b/static/name/name44.txt new file mode 100644 index 0000000000000000000000000000000000000000..7449e4d58bfb370de42baf67bef7fad7616ec16c --- /dev/null +++ b/static/name/name44.txt @@ -0,0 +1 @@ +《使命召唤4:现代战争》 \ No newline at end of file diff --git a/static/name/name45.txt b/static/name/name45.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0ae6fba351d10b050c3219540257355744ee7f7 --- /dev/null +++ b/static/name/name45.txt @@ -0,0 +1 @@ +《蝙蝠侠:阿卡姆之城》 \ No newline at end of file diff --git a/static/name/name46.txt b/static/name/name46.txt new file mode 100644 index 0000000000000000000000000000000000000000..90b81c6e5412578a58ff08aeca79a845d89be270 --- /dev/null +++ b/static/name/name46.txt @@ -0,0 +1 @@ +《见证者》 \ No newline at end of file diff --git a/static/name/name47.txt b/static/name/name47.txt new file mode 100644 index 0000000000000000000000000000000000000000..81c0ccaa95d4de7909eec448118fb4c60a5156c5 --- /dev/null +++ b/static/name/name47.txt @@ -0,0 +1 @@ +《风之旅人》 \ No newline at end of file diff --git a/static/name/name48.txt b/static/name/name48.txt new file mode 100644 index 0000000000000000000000000000000000000000..92befa7f3a1557edd68acf77476088f7e9c09e3b --- /dev/null +++ b/static/name/name48.txt @@ -0,0 +1 @@ +《神秘海域2:纵横四海》 \ No newline at end of file diff --git a/static/name/name49.txt b/static/name/name49.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b8f49e66cfb9a75a82cc4b0a21330a6e5d6c746 --- /dev/null +++ b/static/name/name49.txt @@ -0,0 +1 @@ +《塞尔达传说:梅祖拉假面》 \ No newline at end of file diff --git a/static/name/name5.txt b/static/name/name5.txt new file mode 100644 index 0000000000000000000000000000000000000000..e96d4475cd52802bb564c287f44aab47f856e499 --- /dev/null +++ b/static/name/name5.txt @@ -0,0 +1 @@ +《星球大战:钛战机》 \ No newline at end of file diff --git a/static/name/name50.txt b/static/name/name50.txt new file mode 100644 index 0000000000000000000000000000000000000000..f807037071a280f51f0b6c4d72047cb47f6c434c --- /dev/null +++ b/static/name/name50.txt @@ -0,0 +1 @@ +《守望先锋》 \ No newline at end of file diff --git a/static/name/name51.txt b/static/name/name51.txt new file mode 100644 index 0000000000000000000000000000000000000000..fd8b9785fb673a5ce4185ef60693d20ded2d5f6e --- /dev/null +++ b/static/name/name51.txt @@ -0,0 +1 @@ +《杀出重围》 \ No newline at end of file diff --git a/static/name/name52.txt b/static/name/name52.txt new file mode 100644 index 0000000000000000000000000000000000000000..014f2de8b9100d1617f451358f0bbe1b64e4c8ed --- /dev/null +++ b/static/name/name52.txt @@ -0,0 +1 @@ +《博德之门2:安姆的阴影》 \ No newline at end of file diff --git a/static/name/name53.txt b/static/name/name53.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9b5475948dc8665e92d914aefa246888866150d --- /dev/null +++ b/static/name/name53.txt @@ -0,0 +1 @@ +《吃豆人小姐》 \ No newline at end of file diff --git a/static/name/name54.txt b/static/name/name54.txt new file mode 100644 index 0000000000000000000000000000000000000000..8f912be7ad907703a49a419e90c00a656739b3d8 --- /dev/null +++ b/static/name/name54.txt @@ -0,0 +1 @@ +《反恐精英1.6》 \ No newline at end of file diff --git a/static/name/name55.txt b/static/name/name55.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6f190feac1b01ba6ba2f5f54bcd462d1e87fe1c --- /dev/null +++ b/static/name/name55.txt @@ -0,0 +1 @@ +《女神异闻录4:黄金版》 \ No newline at end of file diff --git a/static/name/name56.txt b/static/name/name56.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ccb50263f798ce8fc1d84b0cf88ec4d41f20d76 --- /dev/null +++ b/static/name/name56.txt @@ -0,0 +1 @@ +《地球冒险》 \ No newline at end of file diff --git a/static/name/name57.txt b/static/name/name57.txt new file mode 100644 index 0000000000000000000000000000000000000000..aaaad4c57d0e7bafd1bfc9887deb8ed8593e7c6e --- /dev/null +++ b/static/name/name57.txt @@ -0,0 +1 @@ +《生化危机》重制版 \ No newline at end of file diff --git a/static/name/name58.txt b/static/name/name58.txt new file mode 100644 index 0000000000000000000000000000000000000000..3705ced2167f2f6b2f29b04e6c7da5b5f815ca1b --- /dev/null +++ b/static/name/name58.txt @@ -0,0 +1 @@ +《暗黑破坏神2》 \ No newline at end of file diff --git a/static/name/name59.txt b/static/name/name59.txt new file mode 100644 index 0000000000000000000000000000000000000000..9137dc4a85aaef5bf22cbf6a928b44c4a971d9ef --- /dev/null +++ b/static/name/name59.txt @@ -0,0 +1 @@ +《星际争霸》 \ No newline at end of file diff --git a/static/name/name6.txt b/static/name/name6.txt new file mode 100644 index 0000000000000000000000000000000000000000..d6db8a7408026778129cfff670125ed5f3c7142c --- /dev/null +++ b/static/name/name6.txt @@ -0,0 +1 @@ +《俄勒冈之旅》 \ No newline at end of file diff --git a/static/name/name60.txt b/static/name/name60.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a02b5ab0763891e9d7b7c28e3c2f2745f05cb87 --- /dev/null +++ b/static/name/name60.txt @@ -0,0 +1 @@ +《魔兽世界》 \ No newline at end of file diff --git a/static/name/name61.txt b/static/name/name61.txt new file mode 100644 index 0000000000000000000000000000000000000000..a62e5753c707cb2afe660a7915316e007128dafd --- /dev/null +++ b/static/name/name61.txt @@ -0,0 +1 @@ +《星球大战:旧共和国武士》 \ No newline at end of file diff --git a/static/name/name62.txt b/static/name/name62.txt new file mode 100644 index 0000000000000000000000000000000000000000..6e6dd5fdc19e1e66edbe33579a52745f6c9f9f8d --- /dev/null +++ b/static/name/name62.txt @@ -0,0 +1 @@ +《合金装备2:自由之子》 \ No newline at end of file diff --git a/static/name/name63.txt b/static/name/name63.txt new file mode 100644 index 0000000000000000000000000000000000000000..3847b8d0279f94bff57e5790bdc2e0fbee371867 --- /dev/null +++ b/static/name/name63.txt @@ -0,0 +1 @@ +《最终幻想6》 \ No newline at end of file diff --git a/static/name/name64.txt b/static/name/name64.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f41a78992340a2983461d82e6c19f5aa38e81fe --- /dev/null +++ b/static/name/name64.txt @@ -0,0 +1 @@ +《质量效应2》 \ No newline at end of file diff --git a/static/name/name65.txt b/static/name/name65.txt new file mode 100644 index 0000000000000000000000000000000000000000..cee83d00506820b776fb01489a0b56e35971517f --- /dev/null +++ b/static/name/name65.txt @@ -0,0 +1 @@ +《精灵宝可梦黄》 \ No newline at end of file diff --git a/static/name/name66.txt b/static/name/name66.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ed02551c05ebcf171d427b247aa311c00e77871 --- /dev/null +++ b/static/name/name66.txt @@ -0,0 +1 @@ +《塞尔达传说》 \ No newline at end of file diff --git a/static/name/name67.txt b/static/name/name67.txt new file mode 100644 index 0000000000000000000000000000000000000000..48b9350fba622c4f27b64cd3b57bbbc4f30e1ed0 --- /dev/null +++ b/static/name/name67.txt @@ -0,0 +1 @@ +《血源诅咒》 \ No newline at end of file diff --git a/static/name/name68.txt b/static/name/name68.txt new file mode 100644 index 0000000000000000000000000000000000000000..21fb34f12f7562f110d61dcb199de438a19a0b13 --- /dev/null +++ b/static/name/name68.txt @@ -0,0 +1 @@ +《银河战士Prime》 \ No newline at end of file diff --git a/static/name/name69.txt b/static/name/name69.txt new file mode 100644 index 0000000000000000000000000000000000000000..d91a08603dbc08cd0cc681f43c85eadc08546380 --- /dev/null +++ b/static/name/name69.txt @@ -0,0 +1 @@ +《生化危机4》 \ No newline at end of file diff --git a/static/name/name7.txt b/static/name/name7.txt new file mode 100644 index 0000000000000000000000000000000000000000..3dec9aa45f260dc4a2072e41e875655d6e55dfab --- /dev/null +++ b/static/name/name7.txt @@ -0,0 +1 @@ +《猴岛小英雄2:勒恰克的复仇》 \ No newline at end of file diff --git a/static/name/name70.txt b/static/name/name70.txt new file mode 100644 index 0000000000000000000000000000000000000000..5588fdcff50d32b389ee52a5b002ac329160f3a5 --- /dev/null +++ b/static/name/name70.txt @@ -0,0 +1 @@ +《巫师3:狂猎》 \ No newline at end of file diff --git a/static/name/name71.txt b/static/name/name71.txt new file mode 100644 index 0000000000000000000000000000000000000000..e479fc20f5a1b3e56c7a4484db785f6828c89a97 --- /dev/null +++ b/static/name/name71.txt @@ -0,0 +1 @@ +《合金装备索利德》 \ No newline at end of file diff --git a/static/name/name72.txt b/static/name/name72.txt new file mode 100644 index 0000000000000000000000000000000000000000..5228a4a05b1eda34c46a30cd9b097e0faaf03031 --- /dev/null +++ b/static/name/name72.txt @@ -0,0 +1 @@ +《超级马力欧银河》 \ No newline at end of file diff --git a/static/name/name73.txt b/static/name/name73.txt new file mode 100644 index 0000000000000000000000000000000000000000..b97f644f22c6d46eda714fcd79a8a3b0b3b6f9da --- /dev/null +++ b/static/name/name73.txt @@ -0,0 +1 @@ +《巨像之咆哮》 \ No newline at end of file diff --git a/static/name/name74.txt b/static/name/name74.txt new file mode 100644 index 0000000000000000000000000000000000000000..767c2013ad2baacac32a05c97d334809d9007d67 --- /dev/null +++ b/static/name/name74.txt @@ -0,0 +1 @@ +《生化奇兵》 \ No newline at end of file diff --git a/static/name/name75.txt b/static/name/name75.txt new file mode 100644 index 0000000000000000000000000000000000000000..768c961ef0ee082ae53b52d11d7e741d5cfe7b51 --- /dev/null +++ b/static/name/name75.txt @@ -0,0 +1 @@ +《塞尔达传说:旷野之息》 \ No newline at end of file diff --git a/static/name/name76.txt b/static/name/name76.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e19e6031d7b46cd0f246c6941240f3ea455da44 --- /dev/null +++ b/static/name/name76.txt @@ -0,0 +1 @@ +《文明4》 \ No newline at end of file diff --git a/static/name/name77.txt b/static/name/name77.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c27a58a6b716dcb025bc7a83167aba93447e44d --- /dev/null +++ b/static/name/name77.txt @@ -0,0 +1 @@ +《我的世界》 \ No newline at end of file diff --git a/static/name/name78.txt b/static/name/name78.txt new file mode 100644 index 0000000000000000000000000000000000000000..14cc241585182265c01a5dc9023198dc27ba5f88 --- /dev/null +++ b/static/name/name78.txt @@ -0,0 +1 @@ +《光环2》 \ No newline at end of file diff --git a/static/name/name79.txt b/static/name/name79.txt new file mode 100644 index 0000000000000000000000000000000000000000..82e5f5f89ac74877b174df329a0687e21a3a1c7d --- /dev/null +++ b/static/name/name79.txt @@ -0,0 +1 @@ +《半条命》 \ No newline at end of file diff --git a/static/name/name8.txt b/static/name/name8.txt new file mode 100644 index 0000000000000000000000000000000000000000..8860b0117ab233ad1f7e01ec94899889bd61f281 --- /dev/null +++ b/static/name/name8.txt @@ -0,0 +1 @@ +《火爆狂飙3:路霸》 \ No newline at end of file diff --git a/static/name/name80.txt b/static/name/name80.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ba61f2b0621d1db186d9a5d9bccc6fc7bc375cd --- /dev/null +++ b/static/name/name80.txt @@ -0,0 +1 @@ +《合金装备3:食蛇者》 \ No newline at end of file diff --git a/static/name/name81.txt b/static/name/name81.txt new file mode 100644 index 0000000000000000000000000000000000000000..5aa9cc8d0798e7cb179fe96cc167fc11bc9f37cb --- /dev/null +++ b/static/name/name81.txt @@ -0,0 +1 @@ +《最后生还者》 \ No newline at end of file diff --git a/static/name/name82.txt b/static/name/name82.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf5c0b756da550cc2174da7327b2b759925bc82a --- /dev/null +++ b/static/name/name82.txt @@ -0,0 +1 @@ +《毁灭战士》 \ No newline at end of file diff --git a/static/name/name83.txt b/static/name/name83.txt new file mode 100644 index 0000000000000000000000000000000000000000..d6e58b5301d35991750b5c6856218b89aa7c433d --- /dev/null +++ b/static/name/name83.txt @@ -0,0 +1 @@ +《时空之轮》 \ No newline at end of file diff --git a/static/name/name84.txt b/static/name/name84.txt new file mode 100644 index 0000000000000000000000000000000000000000..efcf20c41eaa3ba278e05e59fa7fda4edd84c6b0 --- /dev/null +++ b/static/name/name84.txt @@ -0,0 +1 @@ +《侠盗猎车手5》 \ No newline at end of file diff --git a/static/name/name85.txt b/static/name/name85.txt new file mode 100644 index 0000000000000000000000000000000000000000..36e02f170822b3bb10c38eb8d4ee05302c043f29 --- /dev/null +++ b/static/name/name85.txt @@ -0,0 +1 @@ +《黑暗之魂》 \ No newline at end of file diff --git a/static/name/name86.txt b/static/name/name86.txt new file mode 100644 index 0000000000000000000000000000000000000000..93bd1b9b2a48164f3e738de3bff9a2f22514dd8f --- /dev/null +++ b/static/name/name86.txt @@ -0,0 +1 @@ +《街头霸王2》 \ No newline at end of file diff --git a/static/name/name87.txt b/static/name/name87.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ab26cd3233d8c92dcc404919fe03c3b1f0098ac --- /dev/null +++ b/static/name/name87.txt @@ -0,0 +1 @@ +《超级马力欧兄弟》 \ No newline at end of file diff --git a/static/name/name88.txt b/static/name/name88.txt new file mode 100644 index 0000000000000000000000000000000000000000..15990fbbf038b7131ed564f81a45f12085dc3911 --- /dev/null +++ b/static/name/name88.txt @@ -0,0 +1 @@ +《光环:战斗进化》 \ No newline at end of file diff --git a/static/name/name89.txt b/static/name/name89.txt new file mode 100644 index 0000000000000000000000000000000000000000..139e9caa7e48147895980719d1c6acea4b088519 --- /dev/null +++ b/static/name/name89.txt @@ -0,0 +1 @@ +《恶魔城:月下夜想曲》 \ No newline at end of file diff --git a/static/name/name9.txt b/static/name/name9.txt new file mode 100644 index 0000000000000000000000000000000000000000..767f94da5237cc03744d0666ea4db6cd7c4cec62 --- /dev/null +++ b/static/name/name9.txt @@ -0,0 +1 @@ +《辐射2》 \ No newline at end of file diff --git a/static/name/name90.txt b/static/name/name90.txt new file mode 100644 index 0000000000000000000000000000000000000000..06ff02d3c18259018db26ee2f7d186df1f697d0a --- /dev/null +++ b/static/name/name90.txt @@ -0,0 +1 @@ +《传送门2》 \ No newline at end of file diff --git a/static/name/name91.txt b/static/name/name91.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bdb565647ca01e0f77772c2d641ef225a7d65ae --- /dev/null +++ b/static/name/name91.txt @@ -0,0 +1 @@ +《超级马力欧64》 \ No newline at end of file diff --git a/static/name/name92.txt b/static/name/name92.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a57f6069a14121bb1d9edff22d58de9d088045c --- /dev/null +++ b/static/name/name92.txt @@ -0,0 +1 @@ +《荒野大镖客:救赎》 \ No newline at end of file diff --git a/static/name/name93.txt b/static/name/name93.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f79debd3dfe921c069c09b66f30a38201014b0b --- /dev/null +++ b/static/name/name93.txt @@ -0,0 +1 @@ +《半条命2》 \ No newline at end of file diff --git a/static/name/name94.txt b/static/name/name94.txt new file mode 100644 index 0000000000000000000000000000000000000000..53fa30abef99b6e19b130ce5d879426465d5a539 --- /dev/null +++ b/static/name/name94.txt @@ -0,0 +1 @@ +《俄罗斯方块》 \ No newline at end of file diff --git a/static/name/name95.txt b/static/name/name95.txt new file mode 100644 index 0000000000000000000000000000000000000000..5514abb8d4465594aca5979dfa594250cc53c54a --- /dev/null +++ b/static/name/name95.txt @@ -0,0 +1 @@ +《超级马力欧兄弟3》 \ No newline at end of file diff --git a/static/name/name96.txt b/static/name/name96.txt new file mode 100644 index 0000000000000000000000000000000000000000..a666d51c4f7b87bef059be52090fca5df7d3eb4b --- /dev/null +++ b/static/name/name96.txt @@ -0,0 +1 @@ +《塞尔达传说:众神的三角力量》 \ No newline at end of file diff --git a/static/name/name97.txt b/static/name/name97.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd858151333e449b4df720691ca9cd2efa723d42 --- /dev/null +++ b/static/name/name97.txt @@ -0,0 +1 @@ +《超级银河战士》 \ No newline at end of file diff --git a/static/name/name98.txt b/static/name/name98.txt new file mode 100644 index 0000000000000000000000000000000000000000..761c8e3f19a8d13a5b1ab6f954a4f0d10f69da31 --- /dev/null +++ b/static/name/name98.txt @@ -0,0 +1 @@ +《传送门》 \ No newline at end of file diff --git a/static/name/name99.txt b/static/name/name99.txt new file mode 100644 index 0000000000000000000000000000000000000000..117b8936090b72bc7a149db6437856e932dff094 --- /dev/null +++ b/static/name/name99.txt @@ -0,0 +1 @@ +《塞尔达传说:时之笛》 \ No newline at end of file diff --git a/static/time/time1.txt b/static/time/time1.txt new file mode 100644 index 0000000000000000000000000000000000000000..0559805b4534b99fcd8b88009d88ecbdc7c53756 --- /dev/null +++ b/static/time/time1.txt @@ -0,0 +1 @@ +2016 \ No newline at end of file diff --git a/static/time/time10.txt b/static/time/time10.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cc5e5b6a4f06b200931f10eabeb60c8d597066b --- /dev/null +++ b/static/time/time10.txt @@ -0,0 +1 @@ +2015 \ No newline at end of file diff --git a/static/time/time100.txt b/static/time/time100.txt new file mode 100644 index 0000000000000000000000000000000000000000..e02ca7cd42d802445a36c3e9cd450170cf083673 --- /dev/null +++ b/static/time/time100.txt @@ -0,0 +1 @@ +1990 \ No newline at end of file diff --git a/static/time/time11.txt b/static/time/time11.txt new file mode 100644 index 0000000000000000000000000000000000000000..5047c0e2bfd1325bb137f191dee53eeff99b7784 --- /dev/null +++ b/static/time/time11.txt @@ -0,0 +1 @@ +2009 \ No newline at end of file diff --git a/static/time/time12.txt b/static/time/time12.txt new file mode 100644 index 0000000000000000000000000000000000000000..e02ca7cd42d802445a36c3e9cd450170cf083673 --- /dev/null +++ b/static/time/time12.txt @@ -0,0 +1 @@ +1990 \ No newline at end of file diff --git a/static/time/time13.txt b/static/time/time13.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time13.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time14.txt b/static/time/time14.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2154cbd21c48b4c3d5fb650628a581ae33eefdf --- /dev/null +++ b/static/time/time14.txt @@ -0,0 +1 @@ +1993 \ No newline at end of file diff --git a/static/time/time15.txt b/static/time/time15.txt new file mode 100644 index 0000000000000000000000000000000000000000..01a646754c08ceb7a6835c9712ecac05ef9254b6 --- /dev/null +++ b/static/time/time15.txt @@ -0,0 +1 @@ +1987 \ No newline at end of file diff --git a/static/time/time16.txt b/static/time/time16.txt new file mode 100644 index 0000000000000000000000000000000000000000..0559805b4534b99fcd8b88009d88ecbdc7c53756 --- /dev/null +++ b/static/time/time16.txt @@ -0,0 +1 @@ +2016 \ No newline at end of file diff --git a/static/time/time17.txt b/static/time/time17.txt new file mode 100644 index 0000000000000000000000000000000000000000..97f6d7ebe306cb08eecd2f282721ce1a2c3465a2 --- /dev/null +++ b/static/time/time17.txt @@ -0,0 +1 @@ +2017 \ No newline at end of file diff --git a/static/time/time18.txt b/static/time/time18.txt new file mode 100644 index 0000000000000000000000000000000000000000..208fab253716bf27e0a86666042d4e3f9ccaa4b3 --- /dev/null +++ b/static/time/time18.txt @@ -0,0 +1 @@ +1999 \ No newline at end of file diff --git a/static/time/time19.txt b/static/time/time19.txt new file mode 100644 index 0000000000000000000000000000000000000000..8405d97b6b8e81998a3cba24e75b7c4afb507d34 --- /dev/null +++ b/static/time/time19.txt @@ -0,0 +1 @@ +2002 \ No newline at end of file diff --git a/static/time/time2.txt b/static/time/time2.txt new file mode 100644 index 0000000000000000000000000000000000000000..d18eb2bcefeb6281450deb42035954274771e06c --- /dev/null +++ b/static/time/time2.txt @@ -0,0 +1 @@ +1997 \ No newline at end of file diff --git a/static/time/time20.txt b/static/time/time20.txt new file mode 100644 index 0000000000000000000000000000000000000000..97f6d7ebe306cb08eecd2f282721ce1a2c3465a2 --- /dev/null +++ b/static/time/time20.txt @@ -0,0 +1 @@ +2017 \ No newline at end of file diff --git a/static/time/time21.txt b/static/time/time21.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time21.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time22.txt b/static/time/time22.txt new file mode 100644 index 0000000000000000000000000000000000000000..153038f1d517f84259569ce2331e56d3f195334a --- /dev/null +++ b/static/time/time22.txt @@ -0,0 +1 @@ +2003 \ No newline at end of file diff --git a/static/time/time23.txt b/static/time/time23.txt new file mode 100644 index 0000000000000000000000000000000000000000..d18eb2bcefeb6281450deb42035954274771e06c --- /dev/null +++ b/static/time/time23.txt @@ -0,0 +1 @@ +1997 \ No newline at end of file diff --git a/static/time/time24.txt b/static/time/time24.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3f27df8de61a84d38a725bf0cecdb9d5a543dec --- /dev/null +++ b/static/time/time24.txt @@ -0,0 +1 @@ +2001 \ No newline at end of file diff --git a/static/time/time25.txt b/static/time/time25.txt new file mode 100644 index 0000000000000000000000000000000000000000..93322c6bca6bc2cc36a9fa18e7e6ff4e57187fb4 --- /dev/null +++ b/static/time/time25.txt @@ -0,0 +1 @@ +2011 \ No newline at end of file diff --git a/static/time/time26.txt b/static/time/time26.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8f809921c6bb2deb687525ed64f6183cec07f5e --- /dev/null +++ b/static/time/time26.txt @@ -0,0 +1 @@ +1994 \ No newline at end of file diff --git a/static/time/time27.txt b/static/time/time27.txt new file mode 100644 index 0000000000000000000000000000000000000000..208fab253716bf27e0a86666042d4e3f9ccaa4b3 --- /dev/null +++ b/static/time/time27.txt @@ -0,0 +1 @@ +1999 \ No newline at end of file diff --git a/static/time/time28.txt b/static/time/time28.txt new file mode 100644 index 0000000000000000000000000000000000000000..8405d97b6b8e81998a3cba24e75b7c4afb507d34 --- /dev/null +++ b/static/time/time28.txt @@ -0,0 +1 @@ +2002 \ No newline at end of file diff --git a/static/time/time29.txt b/static/time/time29.txt new file mode 100644 index 0000000000000000000000000000000000000000..32ffb3b989074dae95753e6069bc1e36fcced353 --- /dev/null +++ b/static/time/time29.txt @@ -0,0 +1 @@ +2013 \ No newline at end of file diff --git a/static/time/time3.txt b/static/time/time3.txt new file mode 100644 index 0000000000000000000000000000000000000000..47c57f60ce2f0ca9f015acd05895adb4f7525b4e --- /dev/null +++ b/static/time/time3.txt @@ -0,0 +1 @@ +1981 \ No newline at end of file diff --git a/static/time/time30.txt b/static/time/time30.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time30.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time31.txt b/static/time/time31.txt new file mode 100644 index 0000000000000000000000000000000000000000..8405d97b6b8e81998a3cba24e75b7c4afb507d34 --- /dev/null +++ b/static/time/time31.txt @@ -0,0 +1 @@ +2002 \ No newline at end of file diff --git a/static/time/time32.txt b/static/time/time32.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time32.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time33.txt b/static/time/time33.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f6e5593834e370731c0267ab363249011402253 --- /dev/null +++ b/static/time/time33.txt @@ -0,0 +1 @@ +2012 \ No newline at end of file diff --git a/static/time/time34.txt b/static/time/time34.txt new file mode 100644 index 0000000000000000000000000000000000000000..47c57f60ce2f0ca9f015acd05895adb4f7525b4e --- /dev/null +++ b/static/time/time34.txt @@ -0,0 +1 @@ +1981 \ No newline at end of file diff --git a/static/time/time35.txt b/static/time/time35.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time35.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time36.txt b/static/time/time36.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time36.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time37.txt b/static/time/time37.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time37.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time38.txt b/static/time/time38.txt new file mode 100644 index 0000000000000000000000000000000000000000..006b3ab0167ad14b75be28a1b5cf362d051fd76c --- /dev/null +++ b/static/time/time38.txt @@ -0,0 +1 @@ +2008 \ No newline at end of file diff --git a/static/time/time39.txt b/static/time/time39.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time39.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time4.txt b/static/time/time4.txt new file mode 100644 index 0000000000000000000000000000000000000000..9947b8e3f4b1c3a86ff94c9490479c01bf33e9da --- /dev/null +++ b/static/time/time4.txt @@ -0,0 +1 @@ +1995 \ No newline at end of file diff --git a/static/time/time40.txt b/static/time/time40.txt new file mode 100644 index 0000000000000000000000000000000000000000..9947b8e3f4b1c3a86ff94c9490479c01bf33e9da --- /dev/null +++ b/static/time/time40.txt @@ -0,0 +1 @@ +1995 \ No newline at end of file diff --git a/static/time/time41.txt b/static/time/time41.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3f27df8de61a84d38a725bf0cecdb9d5a543dec --- /dev/null +++ b/static/time/time41.txt @@ -0,0 +1 @@ +2001 \ No newline at end of file diff --git a/static/time/time42.txt b/static/time/time42.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time42.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time43.txt b/static/time/time43.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time43.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time44.txt b/static/time/time44.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fae645b51cfc3d5ba2cef0a914cc9de5958c462 --- /dev/null +++ b/static/time/time44.txt @@ -0,0 +1 @@ +现代战争 \ No newline at end of file diff --git a/static/time/time45.txt b/static/time/time45.txt new file mode 100644 index 0000000000000000000000000000000000000000..93322c6bca6bc2cc36a9fa18e7e6ff4e57187fb4 --- /dev/null +++ b/static/time/time45.txt @@ -0,0 +1 @@ +2011 \ No newline at end of file diff --git a/static/time/time46.txt b/static/time/time46.txt new file mode 100644 index 0000000000000000000000000000000000000000..0559805b4534b99fcd8b88009d88ecbdc7c53756 --- /dev/null +++ b/static/time/time46.txt @@ -0,0 +1 @@ +2016 \ No newline at end of file diff --git a/static/time/time47.txt b/static/time/time47.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f6e5593834e370731c0267ab363249011402253 --- /dev/null +++ b/static/time/time47.txt @@ -0,0 +1 @@ +2012 \ No newline at end of file diff --git a/static/time/time48.txt b/static/time/time48.txt new file mode 100644 index 0000000000000000000000000000000000000000..5047c0e2bfd1325bb137f191dee53eeff99b7784 --- /dev/null +++ b/static/time/time48.txt @@ -0,0 +1 @@ +2009 \ No newline at end of file diff --git a/static/time/time49.txt b/static/time/time49.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time49.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time5.txt b/static/time/time5.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8f809921c6bb2deb687525ed64f6183cec07f5e --- /dev/null +++ b/static/time/time5.txt @@ -0,0 +1 @@ +1994 \ No newline at end of file diff --git a/static/time/time50.txt b/static/time/time50.txt new file mode 100644 index 0000000000000000000000000000000000000000..0559805b4534b99fcd8b88009d88ecbdc7c53756 --- /dev/null +++ b/static/time/time50.txt @@ -0,0 +1 @@ +2016 \ No newline at end of file diff --git a/static/time/time51.txt b/static/time/time51.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time51.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time52.txt b/static/time/time52.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time52.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time53.txt b/static/time/time53.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d81cd702d87ea5c950753a3acc5a5a205c71c05 --- /dev/null +++ b/static/time/time53.txt @@ -0,0 +1 @@ +1982 \ No newline at end of file diff --git a/static/time/time54.txt b/static/time/time54.txt new file mode 100644 index 0000000000000000000000000000000000000000..153038f1d517f84259569ce2331e56d3f195334a --- /dev/null +++ b/static/time/time54.txt @@ -0,0 +1 @@ +2003 \ No newline at end of file diff --git a/static/time/time55.txt b/static/time/time55.txt new file mode 100644 index 0000000000000000000000000000000000000000..006b3ab0167ad14b75be28a1b5cf362d051fd76c --- /dev/null +++ b/static/time/time55.txt @@ -0,0 +1 @@ +2008 \ No newline at end of file diff --git a/static/time/time56.txt b/static/time/time56.txt new file mode 100644 index 0000000000000000000000000000000000000000..9947b8e3f4b1c3a86ff94c9490479c01bf33e9da --- /dev/null +++ b/static/time/time56.txt @@ -0,0 +1 @@ +1995 \ No newline at end of file diff --git a/static/time/time57.txt b/static/time/time57.txt new file mode 100644 index 0000000000000000000000000000000000000000..8405d97b6b8e81998a3cba24e75b7c4afb507d34 --- /dev/null +++ b/static/time/time57.txt @@ -0,0 +1 @@ +2002 \ No newline at end of file diff --git a/static/time/time58.txt b/static/time/time58.txt new file mode 100644 index 0000000000000000000000000000000000000000..9463411b62f21b7ed88bbe711c958b3b66153330 --- /dev/null +++ b/static/time/time58.txt @@ -0,0 +1 @@ +2000 \ No newline at end of file diff --git a/static/time/time59.txt b/static/time/time59.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time59.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time6.txt b/static/time/time6.txt new file mode 100644 index 0000000000000000000000000000000000000000..7237be0c02256b37dcc78254fb6375d2fe8127d8 --- /dev/null +++ b/static/time/time6.txt @@ -0,0 +1 @@ +1971 \ No newline at end of file diff --git a/static/time/time60.txt b/static/time/time60.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time60.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time61.txt b/static/time/time61.txt new file mode 100644 index 0000000000000000000000000000000000000000..153038f1d517f84259569ce2331e56d3f195334a --- /dev/null +++ b/static/time/time61.txt @@ -0,0 +1 @@ +2003 \ No newline at end of file diff --git a/static/time/time62.txt b/static/time/time62.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3f27df8de61a84d38a725bf0cecdb9d5a543dec --- /dev/null +++ b/static/time/time62.txt @@ -0,0 +1 @@ +2001 \ No newline at end of file diff --git a/static/time/time63.txt b/static/time/time63.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8f809921c6bb2deb687525ed64f6183cec07f5e --- /dev/null +++ b/static/time/time63.txt @@ -0,0 +1 @@ +1994 \ No newline at end of file diff --git a/static/time/time64.txt b/static/time/time64.txt new file mode 100644 index 0000000000000000000000000000000000000000..a66320e83af5bab86586339e5e63fd308b85726b --- /dev/null +++ b/static/time/time64.txt @@ -0,0 +1 @@ +2010 \ No newline at end of file diff --git a/static/time/time65.txt b/static/time/time65.txt new file mode 100644 index 0000000000000000000000000000000000000000..208fab253716bf27e0a86666042d4e3f9ccaa4b3 --- /dev/null +++ b/static/time/time65.txt @@ -0,0 +1 @@ +1999 \ No newline at end of file diff --git a/static/time/time66.txt b/static/time/time66.txt new file mode 100644 index 0000000000000000000000000000000000000000..01a646754c08ceb7a6835c9712ecac05ef9254b6 --- /dev/null +++ b/static/time/time66.txt @@ -0,0 +1 @@ +1987 \ No newline at end of file diff --git a/static/time/time67.txt b/static/time/time67.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cc5e5b6a4f06b200931f10eabeb60c8d597066b --- /dev/null +++ b/static/time/time67.txt @@ -0,0 +1 @@ +2015 \ No newline at end of file diff --git a/static/time/time68.txt b/static/time/time68.txt new file mode 100644 index 0000000000000000000000000000000000000000..8405d97b6b8e81998a3cba24e75b7c4afb507d34 --- /dev/null +++ b/static/time/time68.txt @@ -0,0 +1 @@ +2002 \ No newline at end of file diff --git a/static/time/time69.txt b/static/time/time69.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b0b2d558b9e1f3d05022e739485e23a65adce10 --- /dev/null +++ b/static/time/time69.txt @@ -0,0 +1 @@ +2005 \ No newline at end of file diff --git a/static/time/time7.txt b/static/time/time7.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8a521cd10dc803f57d7f3396fc58c919709f360 --- /dev/null +++ b/static/time/time7.txt @@ -0,0 +1 @@ +1991 \ No newline at end of file diff --git a/static/time/time70.txt b/static/time/time70.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cc5e5b6a4f06b200931f10eabeb60c8d597066b --- /dev/null +++ b/static/time/time70.txt @@ -0,0 +1 @@ +2015 \ No newline at end of file diff --git a/static/time/time71.txt b/static/time/time71.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time71.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time72.txt b/static/time/time72.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time72.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time73.txt b/static/time/time73.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b0b2d558b9e1f3d05022e739485e23a65adce10 --- /dev/null +++ b/static/time/time73.txt @@ -0,0 +1 @@ +2005 \ No newline at end of file diff --git a/static/time/time74.txt b/static/time/time74.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time74.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time75.txt b/static/time/time75.txt new file mode 100644 index 0000000000000000000000000000000000000000..97f6d7ebe306cb08eecd2f282721ce1a2c3465a2 --- /dev/null +++ b/static/time/time75.txt @@ -0,0 +1 @@ +2017 \ No newline at end of file diff --git a/static/time/time76.txt b/static/time/time76.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b0b2d558b9e1f3d05022e739485e23a65adce10 --- /dev/null +++ b/static/time/time76.txt @@ -0,0 +1 @@ +2005 \ No newline at end of file diff --git a/static/time/time77.txt b/static/time/time77.txt new file mode 100644 index 0000000000000000000000000000000000000000..5047c0e2bfd1325bb137f191dee53eeff99b7784 --- /dev/null +++ b/static/time/time77.txt @@ -0,0 +1 @@ +2009 \ No newline at end of file diff --git a/static/time/time78.txt b/static/time/time78.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time78.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time79.txt b/static/time/time79.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time79.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time8.txt b/static/time/time8.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time8.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time80.txt b/static/time/time80.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time80.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time81.txt b/static/time/time81.txt new file mode 100644 index 0000000000000000000000000000000000000000..32ffb3b989074dae95753e6069bc1e36fcced353 --- /dev/null +++ b/static/time/time81.txt @@ -0,0 +1 @@ +2013 \ No newline at end of file diff --git a/static/time/time82.txt b/static/time/time82.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2154cbd21c48b4c3d5fb650628a581ae33eefdf --- /dev/null +++ b/static/time/time82.txt @@ -0,0 +1 @@ +1993 \ No newline at end of file diff --git a/static/time/time83.txt b/static/time/time83.txt new file mode 100644 index 0000000000000000000000000000000000000000..9947b8e3f4b1c3a86ff94c9490479c01bf33e9da --- /dev/null +++ b/static/time/time83.txt @@ -0,0 +1 @@ +1995 \ No newline at end of file diff --git a/static/time/time84.txt b/static/time/time84.txt new file mode 100644 index 0000000000000000000000000000000000000000..32ffb3b989074dae95753e6069bc1e36fcced353 --- /dev/null +++ b/static/time/time84.txt @@ -0,0 +1 @@ +2013 \ No newline at end of file diff --git a/static/time/time85.txt b/static/time/time85.txt new file mode 100644 index 0000000000000000000000000000000000000000..93322c6bca6bc2cc36a9fa18e7e6ff4e57187fb4 --- /dev/null +++ b/static/time/time85.txt @@ -0,0 +1 @@ +2011 \ No newline at end of file diff --git a/static/time/time86.txt b/static/time/time86.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8a521cd10dc803f57d7f3396fc58c919709f360 --- /dev/null +++ b/static/time/time86.txt @@ -0,0 +1 @@ +1991 \ No newline at end of file diff --git a/static/time/time87.txt b/static/time/time87.txt new file mode 100644 index 0000000000000000000000000000000000000000..69341ae05a2ba2f65a75dce613e004f05ad590e3 --- /dev/null +++ b/static/time/time87.txt @@ -0,0 +1 @@ +1985 \ No newline at end of file diff --git a/static/time/time88.txt b/static/time/time88.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3f27df8de61a84d38a725bf0cecdb9d5a543dec --- /dev/null +++ b/static/time/time88.txt @@ -0,0 +1 @@ +2001 \ No newline at end of file diff --git a/static/time/time89.txt b/static/time/time89.txt new file mode 100644 index 0000000000000000000000000000000000000000..d18eb2bcefeb6281450deb42035954274771e06c --- /dev/null +++ b/static/time/time89.txt @@ -0,0 +1 @@ +1997 \ No newline at end of file diff --git a/static/time/time9.txt b/static/time/time9.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time9.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/static/time/time90.txt b/static/time/time90.txt new file mode 100644 index 0000000000000000000000000000000000000000..93322c6bca6bc2cc36a9fa18e7e6ff4e57187fb4 --- /dev/null +++ b/static/time/time90.txt @@ -0,0 +1 @@ +2011 \ No newline at end of file diff --git a/static/time/time91.txt b/static/time/time91.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0d66110cab8458e4fdfff735ca78878e007cdd9 --- /dev/null +++ b/static/time/time91.txt @@ -0,0 +1 @@ +1996 \ No newline at end of file diff --git a/static/time/time92.txt b/static/time/time92.txt new file mode 100644 index 0000000000000000000000000000000000000000..a66320e83af5bab86586339e5e63fd308b85726b --- /dev/null +++ b/static/time/time92.txt @@ -0,0 +1 @@ +2010 \ No newline at end of file diff --git a/static/time/time93.txt b/static/time/time93.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e1449848de14b1b75673d6eeb47cf0c4e131af8 --- /dev/null +++ b/static/time/time93.txt @@ -0,0 +1 @@ +2004 \ No newline at end of file diff --git a/static/time/time94.txt b/static/time/time94.txt new file mode 100644 index 0000000000000000000000000000000000000000..a43f9e1b9a11ccf95edbc911d976e0d595af2133 --- /dev/null +++ b/static/time/time94.txt @@ -0,0 +1 @@ +1984 \ No newline at end of file diff --git a/static/time/time95.txt b/static/time/time95.txt new file mode 100644 index 0000000000000000000000000000000000000000..e02ca7cd42d802445a36c3e9cd450170cf083673 --- /dev/null +++ b/static/time/time95.txt @@ -0,0 +1 @@ +1990 \ No newline at end of file diff --git a/static/time/time96.txt b/static/time/time96.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8a521cd10dc803f57d7f3396fc58c919709f360 --- /dev/null +++ b/static/time/time96.txt @@ -0,0 +1 @@ +1991 \ No newline at end of file diff --git a/static/time/time97.txt b/static/time/time97.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8f809921c6bb2deb687525ed64f6183cec07f5e --- /dev/null +++ b/static/time/time97.txt @@ -0,0 +1 @@ +1994 \ No newline at end of file diff --git a/static/time/time98.txt b/static/time/time98.txt new file mode 100644 index 0000000000000000000000000000000000000000..60b0241d740936b93c81709ae66d137f4782f1d1 --- /dev/null +++ b/static/time/time98.txt @@ -0,0 +1 @@ +2007 \ No newline at end of file diff --git a/static/time/time99.txt b/static/time/time99.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31ad1f62882158232ccd7e6367a0ac7cc36d8c5 --- /dev/null +++ b/static/time/time99.txt @@ -0,0 +1 @@ +1998 \ No newline at end of file diff --git a/templates/game_detail.html b/templates/game_detail.html new file mode 100644 index 0000000000000000000000000000000000000000..fd94d98dbad307a29e10eafa0ec1692cf23bbe8b --- /dev/null +++ b/templates/game_detail.html @@ -0,0 +1,45 @@ + + + + + + {{ game.name }}详情 + + + +
+

{{ game.name }}

+ {{ game.name }}封面图 +

发行日期: {{ game.time }}

+

游戏简介: {{ game.introduce }}

+ +
+ + diff --git a/templates/guess_you_like.html b/templates/guess_you_like.html new file mode 100644 index 0000000000000000000000000000000000000000..f0add3c251f282c47d6fee7883b132a04d1cdf4c --- /dev/null +++ b/templates/guess_you_like.html @@ -0,0 +1,60 @@ + + + + + + 猜您喜欢 + + + +

猜您喜欢

+
+ {% for game in games %} +
+ {{ game.name }} +

{{ game.name }}

+

显示详情

+

推荐游戏

+
+ {% if loop.index % 5 == 0 %} +
+ {% endif %} + {% endfor %} +
+ + \ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000000000000000000000000000000000000..35be80a7cb977cc66fd2bf7fa10b0c114e901977 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,116 @@ + + + + + + 游戏推荐排行榜 + + + +

游戏推荐排行榜

+
+
+ + + + + + + + + +
+
+
+ {% for game in games %} +
+ {{ game.name }} +

{{ game.name }}

+

显示详情

+

推荐游戏

+
+ {% if loop.index % 5 == 0 %} +
+ {% endif %} + {% endfor %} +
+ + \ No newline at end of file diff --git a/templates/recommend.html b/templates/recommend.html new file mode 100644 index 0000000000000000000000000000000000000000..fc394a8b636d432e5270e179ba8a4ed3f8df4619 --- /dev/null +++ b/templates/recommend.html @@ -0,0 +1,67 @@ + + + + + + 推荐游戏 + + + +

你可能喜欢

+
+ {% for game in games %} +
+ + {{ game.name }} + +

{{ game.name }}

+
+ {% if loop.index % 5 == 0 %} +
+ {% endif %} + {% endfor %} +
+ + + diff --git a/webspider/IM.py b/webspider/IM.py new file mode 100644 index 0000000000000000000000000000000000000000..c6aea797479a36e5a9f65c3544186eea3876d34b --- /dev/null +++ b/webspider/IM.py @@ -0,0 +1,44 @@ +from selenium import webdriver +from selenium.webdriver.common.by import By +import requests +import os + +img_folder = 'C:/Users/PEKINGMILITARY/IdeaProjects/pabug/imgs' +os.makedirs(img_folder, exist_ok=True) + +edgedriver_path = 'D:/edgedriver_win64/msedgedriver.exe' +if not os.path.isfile(edgedriver_path): + raise ValueError(f"The EdgeDriver path is not a valid file: {edgedriver_path}") + +service = webdriver.edge.service.Service(executable_path=edgedriver_path) +options = webdriver.EdgeOptions() +driver = webdriver.Edge(service=service, options=options) + +url = "https://www.ign.com.cn/top-100-180327/20749/top100/li-shi-zui-jia-top-100you-xi-pan-dian#link_12410" +driver.get(url) + +driver.implicitly_wait(10) + +games = driver.find_elements(By.CLASS_NAME, 'top100-entry') + +img_count = 1 +for game in games: + try: + img_element = game.find_element(By.TAG_NAME, 'img') + img_url = img_element.get_attribute('src') + + + img_data = requests.get(img_url).content + img_save_path = os.path.join(img_folder, f'img{img_count}.jpg') + with open(img_save_path, 'wb') as f: + f.write(img_data) + img_count += 1 + + print(f"Saved image {img_count - 1}: {img_url}") + except Exception as e: + print(f"Error saving image {img_count}: {e}") + + +driver.quit() + +print(f'提取了 {img_count - 1} 张图片到 {img_folder}') diff --git a/webspider/IN.py b/webspider/IN.py new file mode 100644 index 0000000000000000000000000000000000000000..44ff468fa34180a96b3401a0e431367bf941efd6 --- /dev/null +++ b/webspider/IN.py @@ -0,0 +1,3622 @@ +from bs4 import BeautifulSoup +import os +import re + +html_content = """ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+""" + +soup = BeautifulSoup(html_content, 'html.parser') + +div_blocks = soup.find_all('div', class_='pre-page-container') + +output_dir = '../static/introduce' +if not os.path.exists(output_dir): + os.makedirs(output_dir) + +for idx, div_block in enumerate(div_blocks): + content = div_block.get_text(strip=True) + + # 删除最前面的游戏名称+编号部分 + content = re.sub(r'^《.*?》\d+', '', content).strip() + content = re.sub(r'发布时间:\d{4}', '', content).strip() + content = content.replace("PublisherDeveloper", "") + content = content.replace("KeywordNone", "") + + filename = f'introduce{idx + 1}.txt' + filepath = os.path.join(output_dir, filename) + + with open(filepath, 'w', encoding='utf-8') as file: + file.write(content) + print(f"文件 {filename} 已保存") + +print("所有文件保存完成。") \ No newline at end of file diff --git a/webspider/NA.py b/webspider/NA.py new file mode 100644 index 0000000000000000000000000000000000000000..85d83594a5f8841488b31212f88da6ac59fefe7a --- /dev/null +++ b/webspider/NA.py @@ -0,0 +1,3609 @@ +import os +from bs4 import BeautifulSoup + +html_content = """ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+""" + +output_directory = 'name' +if not os.path.exists(output_directory): + os.makedirs(output_directory) + +soup = BeautifulSoup(html_content, 'html.parser') + +h2_tags = soup.find_all('h2', {'id': 'id_title'}) + +for index, h2_tag in enumerate(h2_tags): + title_text = h2_tag.text.strip() + filename = os.path.join(output_directory, f'name{index + 1}.txt') + with open(filename, 'w', encoding='utf-8') as f: + f.write(title_text) \ No newline at end of file diff --git a/webspider/TI.py b/webspider/TI.py new file mode 100644 index 0000000000000000000000000000000000000000..ebf390917af8ab490af2e0b0da2c512de912b504 --- /dev/null +++ b/webspider/TI.py @@ -0,0 +1,3613 @@ +import os +from bs4 import BeautifulSoup + +html_content = """ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+""" + +soup = BeautifulSoup(html_content, 'html.parser') + +entries = soup.find_all('h3', class_='deck') + +output_dir = '../static/time' +if not os.path.exists(output_dir): + os.makedirs(output_dir) + +for idx, entry in enumerate(entries): + text_content = entry.get_text().strip() + + publication_year = text_content.split(':')[1][:4] + + filename = os.path.join(output_dir, f'time{idx + 1}.txt') + + with open(filename, 'w', encoding='utf-8') as f: + f.write(publication_year) diff --git a/webspider/content b/webspider/content new file mode 100644 index 0000000000000000000000000000000000000000..2d07a9cd40721deae7154e3d9b7bbb08606cc61f --- /dev/null +++ b/webspider/content @@ -0,0 +1,3590 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/webspider/eigenvector b/webspider/eigenvector new file mode 100644 index 0000000000000000000000000000000000000000..3ce3dd6d94e4c08378ca45364c1a891da3583196 --- /dev/null +++ b/webspider/eigenvector @@ -0,0 +1,109 @@ +1:RPG(角色扮演游戏) +2:FPS(第一人称射击游戏) +3:SLG(策略与战棋类游戏) +4:RTS(即时战略游戏) +5:AVG(冒险类游戏) +6:RAC(赛车竞速类游戏) +7:ACT(动作类游戏) +8:SIM(模拟经营类游戏) +under: + "精灵宝可梦Go": [0, 0, 0, 0, 1, 0, 1, 0], + "最终幻想7": [1, 0, 0, 0, 1, 0, 1, 0], + "小蜜蜂": [0, 0, 0, 0, 0, 0, 1, 0], + "魔兽争霸2:黑暗之潮": [0, 0, 1, 1, 0, 0, 0, 0], + "星球大战:钛战机": [0, 1, 0, 0, 0, 0, 1, 0], + "俄勒冈之旅": [0, 0, 0, 0, 0, 0, 1, 0], + "猴岛小英雄2:勒恰克的复仇": [0, 0, 0, 0, 0, 0, 1, 0], + "火爆狂飙3:路霸": [0, 1, 0, 0, 0, 1, 1, 0], + "辐射2": [1, 0, 0, 0, 0, 0, 1, 0], + "传说之下": [1, 0, 0, 0, 1, 0, 1, 0], + "英雄联盟": [0, 1, 1, 1, 0, 0, 1, 0], + "洛克人3": [0, 0, 0, 0, 0, 0, 1, 0], + "刀魂": [0, 1, 0, 0, 0, 0, 1, 0], + "模拟城市2000": [0, 0, 0, 0, 0, 0, 1, 0], + "魂斗罗": [0, 1, 0, 0, 0, 0, 1, 0], + "Inside": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马力欧:奥德赛": [1, 0, 0, 0, 0, 0, 1, 0], + "网络奇兵2": [0, 1, 1, 1, 0, 0, 1, 0], + "侠盗猎车手:罪恶都市": [0, 1, 0, 0, 0, 1, 1, 0], + "女神异闻录5": [1, 0, 0, 0, 1, 0, 1, 0], + "冥界狂想曲": [0, 0, 0, 0, 1, 0, 1, 0], + "塞尔达传说:风之杖": [1, 0, 0, 0, 1, 0, 1, 0], + "007:黄金眼": [0, 1, 0, 0, 0, 0, 1, 0], + "任天堂明星大乱斗DX": [0, 1, 1, 0, 0, 0, 1, 0], + "上古卷轴5:天际": [1, 0, 1, 1, 0, 0, 1, 0], + "幽浮防御": [0, 1, 1, 1, 0, 0, 1, 0], + "幻想水浒传2": [0, 0, 0, 0, 0, 0, 1, 0], + "战地1942": [0, 1, 1, 1, 0, 0, 1, 0], + "Dota 2": [0, 1, 1, 1, 0, 0, 1, 0], + "最终幻想战略版": [1, 0, 1, 0, 0, 0, 1, 0], + "星球大战绝地武士2:绝地放逐者": [0, 1, 0, 0, 0, 0, 1, 0], + "神偷2:金属时代": [0, 1, 0, 0, 0, 0, 1, 0], + "洞穴探险": [0, 0, 0, 0, 0, 0, 1, 0], + "大金刚": [0, 1, 0, 0, 0, 0, 1, 0], + "军团要塞2": [0, 1, 1, 1, 0, 0, 1, 0], + "模拟人生": [0, 0, 0, 0, 1, 0, 1, 0], + "摇滚乐队": [0, 0, 0, 0, 0, 0, 1, 0], + "辐射3": [1, 0, 0, 0, 0, 0, 1, 0], + "班卓熊大冒险": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马里奥世界2:耀西岛": [0, 0, 0, 0, 0, 0, 1, 0], + "寂静岭2": [0, 0, 0, 0, 1, 0, 1, 0], + "侠盗猎车手:圣安地列斯": [0, 1, 0, 0, 0, 1, 1, 0], + "质量效应": [1, 0, 0, 0, 1, 0, 1, 0], + "使命召唤4:现代战争": [0, 1, 1, 1, 0, 0, 1, 0], + "蝙蝠侠:阿卡姆之城": [0, 1, 0, 0, 0, 0, 1, 0], + "见证者": [0, 0, 0, 0, 0, 0, 1, 0], + "风之旅人": [0, 0, 0, 0, 1, 0, 1, 0], + "神秘海域2:纵横四海": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说:梅祖拉假面": [1, 0, 0, 0, 1, 0, 1, 0], + "守望先锋": [0, 1, 1, 1, 0, 0, 1, 0], + "杀出重围": [0, 1, 1, 1, 0, 0, 1, 0], + "博德之门2:安姆的阴影": [1, 0, 1, 0, 0, 0, 1, 0], + "吃豆人小姐": [0, 0, 0, 0, 0, 0, 1, 0], + "反恐精英1.6": [0, 1, 1, 1, 0, 0, 1, 0], + "女神异闻录4:黄金版": [1, 0, 0, 0, 1, 0, 1, 0], + "地球冒险": [0, 0, 0, 0, 0, 0, 1, 0], + "生化危机重制版": [0, 1, 0, 0, 0, 0, 1, 0], + "暗黑破坏神2": [1, 0, 0, 0, 0, 0, 1, 0], + "星际争霸": [0, 1, 1, 1, 0, 0, 1, 0], + "魔兽世界": [0, 1, 1, 1, 0, 0, 1, 0], + "星球大战旧共和国武士": [0, 1, 0, 0, 0, 0, 1, 0], + "合金装备2自由之子": [1, 0, 0, 0, 1, 0, 1, 0], + "最终幻想6": [1, 0, 0, 0, 1, 0, 1, 0], + "质量效应2": [1, 0, 0, 0, 1, 0, 1, 0], + "精灵宝可梦黄": [0, 0, 0, 0, 1, 0, 1, 0], + "塞尔达传说": [1, 0, 0, 0, 1, 0, 1, 0], + "血源诅咒": [0, 1, 0, 0, 0, 0, 1, 0], + "银河战士Prime": [0, 1, 0, 0, 0, 0, 1, 0], + "生化危机4": [0, 1, 0, 0, 0, 0, 1, 0], + "巫师3狂猎": [1, 1, 0, 0, 1, 0, 1, 0], + "合金装备索利德": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧银河": [1, 0, 0, 0, 1, 0, 0, 0], + "巨像之咆哮": [0, 0, 0, 0, 0, 0, 1, 0], + "生化奇兵": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说旷野之息": [1, 0, 0, 0, 1, 0, 1, 0], + "文明4": [0, 0, 1, 1, 0, 0, 1, 0], + "我的世界": [0, 0, 0, 0, 0, 0, 1, 0], + "光环2": [0, 1, 1, 1, 0, 0, 1, 0], + "半条命": [0, 1, 0, 0, 0, 0, 1, 0], + "合金装备3食蛇者": [1, 0, 0, 0, 1, 0, 0, 0], + "最终生还者": [0, 0, 0, 0, 1, 0, 1, 0], + "毁灭战士": [0, 1, 0, 0, 0, 0, 1, 0], + "时空之轮": [0, 0, 1, 1, 0, 0, 1, 0], + "侠盗猎车手5": [0, 1, 0, 0, 0, 1, 1, 0], + "黑暗之魂": [0, 1, 0, 0, 0, 0, 1, 0], + "街头霸王2": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧兄弟": [0, 0, 0, 0, 0, 0, 1, 0], + "光环战斗进化": [0, 1, 1, 1, 0, 0, 1, 0], + "恶魔城月下夜想曲": [0, 1, 0, 0, 0, 0, 1, 0], + "传送门2": [0, 1, 0, 0, 0, 0, 1, 0], + "超级马力欧64": [0, 0, 0, 0, 0, 0, 1, 0], + "荒野大镖客救赎": [1, 0, 0, 0, 1, 0, 1, 0], + "半条命2": [0, 1, 0, 0, 0, 0, 1, 0], + "俄罗斯方块": [0, 0, 0, 0, 0, 0, 1, 0], + "超级马力欧兄弟3": [0, 0, 0, 0, 0, 0, 1, 0], + "塞尔达传说众神的三角力量": [1, 0, 0, 0, 1, 0, 1, 0], + "超级银河战士": [0, 1, 0, 0, 0, 0, 1, 0], + "传送门": [0, 1, 0, 0, 0, 0, 1, 0], + "塞尔达传说时之笛": [1, 0, 0, 0, 1, 0, 1, 0], + "超级马力欧世界": [1, 0, 0, 0, 0, 0, 1, 0], \ No newline at end of file