TAGS: Heroes3, vcmi, opensource
DATE: 2013-08-23

vcmi是什么?

vcmi 是经典的 SLG 英雄无敌3 的开源游戏引擎。原来的英雄无敌3只能在Windows上玩, 现在通过 vcmi,我们也可以在 Unix/Linux, 苹果等其它系统上玩了。目前手机和平 板上的英雄无敌3就是用的这个项目的成果。 而手机和平板上的英雄无敌2的出现,是因为另一个开源项目 fheroes2 。

vcmi 和 fheroes2 的另一个好处就是降低了CPU的消耗,以前的Windows游戏估计 是为了获得及时的响应,都是100%地利用CPU,即使没什么需要计算的,也让CPU不停地 空循环。而 vcmi 和 fheroes2 都很环保,CPU占用率极低。本来一个游戏的计算 量很小,何必占用100%的CPU呢。

说到英雄无敌3,我特别地有感情,我喜欢这个游戏胜过 魔兽争霸。俺还用它的地图编 辑器自己编辑过地图,用它的战役编辑器自己编辑过战役呢。想想一个秋日的午后,和 你的好朋友,花上半天时间,一边喝茶,一边像下棋一样玩一局英雄无敌3,该是多么 惬意的事情啊。

如果你像我一样对英雄无敌3情有独钟,可以访问vcmi的主页: http://forum.vcmi.eu/portal.php

为什么要编译安装?

  • 学习源代码,如果有可能,加入这个开源项目。
  • 因为现在的vcmi不支持中文版的死亡阴影,我要修改源代码,让它支持中文的正常显 示。(目前手机上的英雄无敌2和英雄无敌3也都是英文版,就是因为原项目没提供中 文支持。大陆一些发布手机包的这些人就知道拿来人家的东西,植入广告,鄙视)
  • 如果你并不想学习和修改代码,还是直接安装官网上提供的二进制包吧。

获取vcmi源码

下载最新的源码包:http://download.vcmi.eu/vcmi-0.93.tar.gz 。 下载完解压到某处。

编译安装

在开始编译之前说一下我的环境: arch Linux。下面的步骤大部分和你用什么Linux发 行版没有关系,如果涉及因发行版而不同的命令,我会特别说明。

  1. 进入源码目录。
  2. 建立一个build目录。
    mkdir build
    
  3. 用cmake检查编译环境,生成 makefile。
    cmake ..
    

    如果已经安装好 SDL 和 Boost 的开发库,应该没有问题。

    一开始我没有安装 Boost 的开发库, cmake 没有成功,报错: error found. Boost_INCLUDE_DIR not defined. 。于是我安装boost的开发库, sudo pacman -S boost (如果你用的是别的Linux发行版,请用相应的包管理器安装), cmake 就成功了。

  4. 开始编译。
    make -j2
    

    j2表示针对双核CPU编译,也可以不要这个选项。等吧,我的2.3G双核CPU,编译了 15分钟。

  5. 安装。
    make install
    

安装数据

先看一下游戏的安装目录,通过命令行执行:

vcmiclient -v

我的结果如下:

Starting...
VCMI 0.93
data directory: /usr/local/share/vcmi
library directory: /usr/local/lib/vcmi
path to server: /usr/local/bin/vcmiserver

数据目录是 =/usr/local/share/vcmi/=,然后我们要把原版游戏的Data, Maps, Mp3目 录拷贝到这个目录下。 如果不想拷贝,也可以建立符号链接。我是这样做的:

cd /usr/local/share/vcmi
sudo ln -sf /path/to/Heroes3-Shadow-of-Death/Data .
sudo ln -sf /path/to/Heroes3-Shadow-of-Death/Mp3 .
sudo ln -sf /path/to/Heroes3-Shadow-of-Death/Maps .

现在你已经可以玩了。

注意 :你应该安装英文版游戏的数据。如果你用的是中文版游戏的数据,画面上会显示乱码。 不要着急,我已经开始修改源代码,让vcmi支持中文,可以等 我的修改版 啊。

可选的数据包 :

官网上还提供了两个数据包下载,都是游戏的Mod。 什么是Mod呢,估计类似“死亡阴影”的资料片吧。我暂时没有下载。

这两个数据包的安装方法就是解压到游戏的数据目录,以 core 为例:

cd /usr/local/share/vcmi
sudo unzip /path/to/core.zip

开始玩吧

在命令行输入: vcmiclient ,游戏就启动了。其实英文版的也蛮好,可以练练英语。 如果你执意要玩中文版的,等我修改的版本吧。

其它废话

  1. 对于Windows系统,源码中包含Visual Studio的工程文件,只要配置好SDL, Boost 库,编译应该很顺利。另一个方案是,在windows下安装mingw,然后像在Linux下一样去make。
  2. 对于Mac OS,我一点都不熟悉,但我想应该也是直接cmake和make即可。因为它也是 Unix like OS,它的shell使用起来和Linux没什么差别(如果说得不对,请尽情地喷我)。补充一下,我发现源码包中有xcode的工程文件。
  3. 如果你不是想修改游戏引擎,你大可不必编译安装。对于 Debian/ubuntu/Fedora Linux,都可以直接从软件仓库安装;对于小众的 arch Linux, 可以从 AUR 安装。 对于Windows 和Mac OS,都有编译好的二进制包下载。 请参考项目主页

Date: 2013-08-24T20:32+0800

Author: Jiqing Wu

Org version 7.9.3f with Emacs version 24

英雄无敌3开源引擎vcmi的编译安装的更多相关文章

  1. vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译

    vcmi源码编译 windows+cmake+mingw ##1 准备 HoMM3 gog.com CMake 官网 vcmi 源码 下载 QT5 with mingw 官网 Boost 源码1.55 ...

  2. 让vcmi支持英雄无敌3中文版

    Table of Contents 1 Hack 日志 2 Changes 3 Install by compiling 4 reply of Ivan 1 Hack 日志 8月22日开始动手修改改v ...

  3. 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍

    英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...

  4. 开源服务专题之--------mysql的编译安装

    为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...

  5. 英雄无敌HoMM3-死亡阴影SOD-神之苏醒WOG-封神NABI-MOD等相关文件

    英雄无敌HoMM3:死亡阴影SOD 英雄无敌3之死亡阴影(Heroes of Might and Magic III: Shadow of Death,简记为HoMM III: SOD)发行于1999 ...

  6. SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用

    SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536   原文出处: http://yaolixing.oltag.co ...

  7. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  8. Android二维码识别 开源项目ZXing的编译

    Android二维码识别 开源项目ZXing的编译 Android端的条形码/二维码识别功能 因为手机端的输入不是很方便,所以条形码/二维码的扫描是一种很有效的解决手段. 比较流行的手机应用中,常用的 ...

  9. 利用开源项目jadx反编译Android应用

    原文转自:http://bbs.itheima.com/thread-200475-1-1.html 利用开源项目jadx反编译Android应用 利用Github开源项目jadx可以直接对 .dex ...

随机推荐

  1. Ubuntu安装使用中的一些注意事项

    在win7上安装VMware workstations10.0 ,在VMware workstations10.0上安装Ubuntu14.04 64位时,关于网络的连接注意: win7 网络连接里上的 ...

  2. js全端

    js是世界上最好的语言之一,或许可以不用加之一 我是个js游戏前端开发者,但是我不局限于只是开发h5游戏,微信小游戏... js很强大很强大很强大,没有哪种语言能通吃,除了js. 网页, app, 服 ...

  3. Linux/Unix系统编程手册 第三章:系统编程概念

    本章介绍系统编程的基础概念和一些后续章节用到的函数及头文件,并说明了可移植性问题. 系统调用是受控的内核入口,通过系统调用,进程可以请求内核以自己的名义去执行某些动作,比如创建子进程,执行I/O操作, ...

  4. kafka重新启动时出现:found a corrupted index file due to requirement failed问题解决方法

    问题如下: 解决方法: 删除kafka目录下的日志文件即可解决

  5. 关于#pragma comment

    #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"ws2_32.lib")表示连接Ws2_32.li ...

  6. 【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法

    转自:https://www.douban.com/note/419828344/ 目录: 一.问题描述 二.测试情况(可以跳过,直接看建议) 三.建议 四.参考资料 正文: 问题描述: 错漏某个符号 ...

  7. 使用refind引导多系统

    使用refind引导多系统 官网下载 rEFInd : http://www.rodsbooks.com/refind/getting.html 安装 rEFInd 教程: http://www.ro ...

  8. MT【141】逆用特征根法

    (清华大学THUSSAT) 已知 \(a=\left( \dfrac{-1+\sqrt{5}}{2} \right)^{-10}+\left( \dfrac{-1-\sqrt{5}}{2} \righ ...

  9. 洛谷 P4009 汽车加油行驶问题 解题报告

    P4009 汽车加油行驶问题 题目描述 给定一个\(N×N\)的方形网格,设其左上角为起点◎,坐标(1,1) ,\(X\)轴向右为正,\(Y\)轴向下为正,每个方格边长为1 ,如图所示. 一辆汽车从起 ...

  10. 【uoj122】 NOI2013—树的计数

    http://uoj.ac/problem/122 (题目链接) 题意 给出一棵树的dfs序和bfs序,保证一定可以构成一棵树.问构成的树的期望深度. Solution 这是一个悲伤的故事,我YY的东 ...