英雄无敌3开源引擎vcmi的编译安装
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发 行版没有关系,如果涉及因发行版而不同的命令,我会特别说明。
- 进入源码目录。
- 建立一个build目录。
mkdir build
- 用cmake检查编译环境,生成 makefile。
cmake ..
如果已经安装好 SDL 和 Boost 的开发库,应该没有问题。
一开始我没有安装 Boost 的开发库, cmake 没有成功,报错:
error found. Boost_INCLUDE_DIR not defined.。于是我安装boost的开发库,sudo pacman -S boost(如果你用的是别的Linux发行版,请用相应的包管理器安装), cmake 就成功了。 - 开始编译。
make -j2
j2表示针对双核CPU编译,也可以不要这个选项。等吧,我的2.3G双核CPU,编译了 15分钟。
- 安装。
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呢,估计类似“死亡阴影”的资料片吧。我暂时没有下载。
- Mod WoG: http://download.vcmi.eu/WoG/wog.zip
- VCMI data file: http://download.vcmi.eu/core.zip
这两个数据包的安装方法就是解压到游戏的数据目录,以 core 为例:
cd /usr/local/share/vcmi
sudo unzip /path/to/core.zip
开始玩吧
在命令行输入: vcmiclient ,游戏就启动了。其实英文版的也蛮好,可以练练英语。 如果你执意要玩中文版的,等我修改的版本吧。
其它废话
- 对于Windows系统,源码中包含Visual Studio的工程文件,只要配置好SDL, Boost 库,编译应该很顺利。另一个方案是,在windows下安装mingw,然后像在Linux下一样去make。
- 对于Mac OS,我一点都不熟悉,但我想应该也是直接cmake和make即可。因为它也是 Unix like OS,它的shell使用起来和Linux没什么差别(如果说得不对,请尽情地喷我)。补充一下,我发现源码包中有xcode的工程文件。
- 如果你不是想修改游戏引擎,你大可不必编译安装。对于 Debian/ubuntu/Fedora Linux,都可以直接从软件仓库安装;对于小众的 arch Linux, 可以从 AUR 安装。 对于Windows 和Mac OS,都有编译好的二进制包下载。 请参考项目主页
英雄无敌3开源引擎vcmi的编译安装的更多相关文章
- vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译
vcmi源码编译 windows+cmake+mingw ##1 准备 HoMM3 gog.com CMake 官网 vcmi 源码 下载 QT5 with mingw 官网 Boost 源码1.55 ...
- 让vcmi支持英雄无敌3中文版
Table of Contents 1 Hack 日志 2 Changes 3 Install by compiling 4 reply of Ivan 1 Hack 日志 8月22日开始动手修改改v ...
- 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍
英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...
- 开源服务专题之--------mysql的编译安装
为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...
- 英雄无敌HoMM3-死亡阴影SOD-神之苏醒WOG-封神NABI-MOD等相关文件
英雄无敌HoMM3:死亡阴影SOD 英雄无敌3之死亡阴影(Heroes of Might and Magic III: Shadow of Death,简记为HoMM III: SOD)发行于1999 ...
- SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用
SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536 原文出处: http://yaolixing.oltag.co ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- Android二维码识别 开源项目ZXing的编译
Android二维码识别 开源项目ZXing的编译 Android端的条形码/二维码识别功能 因为手机端的输入不是很方便,所以条形码/二维码的扫描是一种很有效的解决手段. 比较流行的手机应用中,常用的 ...
- 利用开源项目jadx反编译Android应用
原文转自:http://bbs.itheima.com/thread-200475-1-1.html 利用开源项目jadx反编译Android应用 利用Github开源项目jadx可以直接对 .dex ...
随机推荐
- HDU 1231 最大子序列
http://acm.hdu.edu.cn/showproblem.php?pid=1231 Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连 ...
- build.xml
下载ant 解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:ANT_HOME:,PATH:D:\apache-ant-1.9.2%ANT_HOME%\bin ...
- 【百度】大型网站的HTTPS实践(二)——HTTPS加密算法介绍
大型网站的HTTPS实践(二)——HTTPS加密算法介绍 原创 网络通信/物联网 作者:AIOps智能运维 时间:2018-11-09 15:09:43 358 0 前言 在上一篇文章中,我们简要 ...
- python爬虫实战之bilibili弹幕生成云图
突然想到了这个题目,先开了题,看能不能一次搞定,#后记,花了两天时间搞定的,一直想用自己的方法爬,但是效果都不好 首先去分析一下bilibili的网站请求,但是弹幕的异步传输的包抓不到(或者隐藏的好, ...
- Lattice Point or Not UVA - 11768(拓展欧几里得)
原文地址:https://www.cnblogs.com/zyb993963526/p/6783532.html 题意: 给定两个点A(x1,y1)和B(x2,y2),均为0.1的整数倍.统计选段AB ...
- 【BZOJ3675】【Apio2014】序列分割
Description 传送门 Solution 之前我也遇到过一次这种"两段之和乘积作为贡献"的问题:考虑把这一种\((\sum) *(\sum)\)的形式拆括号,就可以发现 ...
- debian修改默认编辑器
刚才在一台机器上打开 crontab -e,跳出来的编辑器是nano,太难使... 在debian下是使用 update-alternatives 命令修改默认编辑器. 先查看一下使用帮助 # upd ...
- JS的类型和值
1.类型 ECMAScript语言中所有的值都有一个对应的语言类型.ECMAScript语言类型包括Undefined.Null.Boolean.String.Number和Object. 对语言引擎 ...
- BAT脚本如何自动执行 adb shell 以后的命令
@echo off echo su > temp.txt echo 其它命令 >> temp.txt adb shell < temp.txt del temp.txt 求问 ...
- MVC中数据验证
http://www.studyofnet.com/news/339.html http://www.cnblogs.com/kissdodog/archive/2013/05/04/3060278. ...