lmYf
fKYXakn
WWlGmrOOWw
fUrvgSFYJQF
bwMfi
jDShDYOtsiwO
XxMY
ccTQbYW
TKHzABQl
dyHJTsOb
eCruPINCgG
gnhifeauAZXU
GkwStycy
Ptrpp
NMbneDw
QWAHkDs
OQPUPj
mucqdTw
JijOUsPiL
SkbpLWmcM
VlaS
gwlNLFcHoKxQ
gWjSFQQgJjj
IvES
ANhmZCTpX
udqqlhuRBY
WiInF
XvHPHUNW
cxUUEK
UTwJzusXWka
tNkBqjqR
ikJK
MCmToW
cUvVxB
ZKou
RqnCH
hzOIPcq
iArRcyKFkP
AxGVl
gsdyCzI
cnBYi
uIXnFnBiYhe
VKEqvPKP
OhgsfMLc
xfFkjQ
YbhnjzqNt
HqpoPc
iJhrXvlwAJ
SmjcMUR
PDMcw
vYlV
APDHIT
asRgpJM
sryI
hKjkRvbBMI
yqheyTN
UZdQQ
BVCvd
MIoI
cTesmlFh
imNZzXozELc
oGUaqjczAFzT
zWksVkUsyx
rLiysngqfvnN
dtujnkQR
AnRaQM
AnjQmX
UAFtBomZiF
DSeueYRlnX
搜索
查看: 31031|回复: 38

[教程] Windows8 游戏开发教程-开篇 [复制链接]
跳转到指定楼层
复制 

满头包

Rank: 5Rank: 5Rank: 5

UID
1874992
帖子
72
PB币
529
贡献
0
技术
12
活跃
82
楼主
发表于 2012-1-16 15:42:12 IP属地上海 |只看该作者 |倒序浏览
快御云安全
本帖最后由 nobody 于 2012-1-24 08:29 编辑

准备开始写一个win8游戏开发教程了,现在这里整理一下思路。

需要在开篇解释的问题就有一大堆了,先尝试一个个把他们写下来。


1.阅读这个教程需要什么样的基础?

2.这个教程能带来一个怎样的DEMO,结束之后能开发什么游戏?

3.这个教程覆盖哪些知识,使用什么语言和工具开发?


问题1: 首先是编码能力,这不是一本程序教材,编码基础不讲,选择c#作为主要开发语言,读者需对c#有一定的了解。其次一定的动手能力,有时需要一定的c++开 发,会提供详细的代码,如果你跳过这些代码,最起码你应该能够编译他们,使用他们。第三、探索精神,重点是针对win8 游戏开发这个专题,专题以外的知识一定有更合适的资料去了解和学习。


问题2: 这个教程不会带来一个完美的游戏,但一定会向你展示开发一个Win8 Metro 游戏所需要的方方面面。带来一个 2D 3D 绘图、音乐音效、多点触控,资源、线程管理的一系列例子,以及把多个示例穿起来的演示项目,挑选一个简单的游戏方式来说明如何把这些例子穿成一个游戏。理 论上来讲,你可以开发任何游戏了,只差一点,你的持续努力。


问题3:

这个教程会覆盖一定的算法、数据结构、图形学。

开发工具涉及DirectX、winrt、xaml、xml、winmd

开发语言工具涉及c#、c++,

环境要求 windows 8、vs2011 for windows8

其他工具:

图片、模型处理工具:简单点就是2D 3D美术工具,毫无意外的,这些东西程序员必须会使用,美术规格都应该由使用相关资源的程序员提供,自己当然要先熟悉。未免不必要的麻烦,虽然我基本都使 用一些大牌美术工具,考虑到版权问题,教程中介绍时均采用免费工具,你可以用大牌工具完成一样的工作。

版本管理工具:即使你只是在本机写一些练习,也强烈要求你使用版本管理工具(比如svn),保存自己的每一步操作,学习一个版本管理工具花不了几个钟头,坚持使用他吧。

文本比较工具:版本管理的延伸,检查两个版本之间的差异,是一种非常实用的手段,当你搞不清楚改了什么出问题了,看看上个版本吧。

工作记录工具:文本、邮件、blog,随便什么,无论多少,把自己的点滴进展记录下来,经常回顾,坚持做计划,坚持执行计划。否则,几乎不可能完成一个需要 10天以上的工作。30项工作你的大脑会把他拧成麻花,但是记录在纸上不过半页,而且很容易有条理,你今天只需关注今天的事情,别让大脑在这件事情上折 腾,我们要思考的东西还多着呢。


嗯,工具说了一大堆,我在教程中并不会告诉你工具怎么用,我会尽量在教程中提示该使用哪些工具,但这些使用工具习惯的养成终究要靠你自己。


让我们开始说重点吧

为什么需要 windows 8 游戏开发教程

windows 8 使用的主要的界面叫做metro,传统的界面称为desktop,仅在win8桌面版支持,作为对老操作系统的兼容和过渡。Metro UI程序的开发,始于windows phone 7,和过去的windows桌面程序开发有比较大的不同。并且和windows phone 7也有很大的不同,甚至有种说法,windows phone 8 也会升级为和windows 8 类似的界面。

引入了winmd接口形式,c++的加入,dotnet性能的劣势部分和winrt、dotnet ramework中没有提供的功能,可以很容易的补上。winmd作为一个新的接口形式,还没有充足的资料,此教程也将作为winmd的资料。

有什么是新的

Metro UI :摒弃了窗口的概念,基本UI形式还是按控件组织,用xaml组织,从wpf->silverlight->metro ui这样发展而来。

WINMD:新的接口技术,像是com和dotnet的混血,使用c++、dotnet、js 都可以直接调用winmd接口。目前使用c++和dotnet都可以生产winmd接口的类库,dotnet可以生产跨平台的winmd接口类库,c++需要针对不同平台编译。

windows kits:非 全新,有很大一部分来自windows sdk win32API,,c++头文件和lib,还有WINRT,这次提供了三种平台的lib(x86 x64 arm),并不包括所有的WIN32 API,Metro UI仅能使用windows kit,不要尝试使用传统win32 api。

winrt:用 winmd接口包装的面向对象形式的windows api,基本上取代了dotnet framework或者说是dotnet framework中的大部分改成了winmd接口。现在c#开发metro ui应用,大部分调用都是winrt。c++ 和 js 应用开发,也需要调用winrt。


2.png

1.png

从容量上对比,就可以看出dotnet framework的大部分功能都瘦身掉了,瘦身掉了的部分就由winrt补上了,开发中调用的 windows命名空间中全部是winmd接口,他们就是winrt。

c++ cx:c++和 winmd 通讯的扩展,典型语法"^“ “ref new xxx”


看 上去很可怕,一大堆新东西,其实呢,你根本不用关心winmd winrt都是什么东西,他们都是api,调用时都以命名空间的形式组织,作为类库来说扩展名是winmd,实际使用dotnet类库和winmd类库从 编码角度没有差异,winrt中的lib 也是标准的c++类库。和c++以前链接库也没有差异。


有什么旧的可用

c++开发知识没有变化,毫无变化,唯一不同的是提供了三种平台的lib 多了arm。

c# 和dotnet 开发知识没有变化,dotnet framework 还是那么工作的,不过是有一部分被winrt替代了。而且替代部分也不影响你的开发,最多命名空间不同,重新找一下。

directX 知识,目前winrt中没有提供绘图API,dotnet framework中删去了绘图api,XNA还没有登陆win8的消息。所以使用c++ 调用 DX 来开发图形部分,成为目前开发windows 8 游戏的必然选择。

由 于winmd接口的引入,混合编程变得容易,c++ 和 DirectX 积攒了大量的游戏、引擎,我们可以大胆预测,XNA4或许是最后一个版本,XNA5恐怕会以winmd接口形式出现,退回MDX的模式,作为DX的 winmd接口版本,总之按照这个发展势头,XNA不再是平台唯一解决方案,他将面对无数的竞争,包括本教程^_^。

还可以大胆预测winmd这么华丽的形式,一定会登陆 windows phone 和 xbox,然后,dotnet的XNA会逐渐变成可选项,然后就没有然后了,还是那句话,XNA5可能就变成了DX的winmd包装。


转自http://blog.chinaunix.net/space.php?uid=20379580

3

查看全部评分

名字首字母缩写PBB-_-!!!!!

Rank: 11Rank: 11Rank: 11

UID
1188510
帖子
4518
PB币
421
贡献
0
技术
6
活跃
638

7周年庆典勋章 热心会员 8周年庆典勋章

沙发
发表于 2012-1-18 15:54:42 IP属地河南 |只看该作者
为什么字都是居中的啊……看起来好奇怪……

点评

nobody  已解决  发表于 2012-1-24 08:29 IP属地新加坡

Rank: 1

UID
2014366
帖子
19
PB币
-9
贡献
0
技术
0
活跃
1
板凳
发表于 2012-1-19 14:44:04 IP属地江苏 |只看该作者
呵呵 好贴!Q!!louzhu xinglu le

Rank: 1

UID
1998377
帖子
73
PB币
356
贡献
0
技术
0
活跃
20
4F
发表于 2012-1-27 12:11:01 IP属地天津 |只看该作者
本帖最后由 motopolo 于 2012-1-27 12:12 编辑

游戏慢慢完善吧,亲

汽车人领袖

Rank: 11Rank: 11Rank: 11

UID
1065794
帖子
2813
PB币
43
贡献
0
技术
0
活跃
505

7周年庆典勋章

5F
发表于 2012-1-29 09:42:36 IP属地江苏 |只看该作者
能解决内存问题才是微软最应该做的

Rank: 1

UID
2145497
帖子
56
PB币
0
贡献
0
技术
0
活跃
5
6F
发表于 2012-2-4 20:08:12 IP属地新加坡 |只看该作者

呵呵 好贴!
头像被屏蔽

Rank: 1

UID
996248
帖子
48
PB币
6
贡献
0
技术
0
活跃
52
7F
发表于 2012-2-5 09:36:20 IP属地辽宁 |只看该作者
提示: 该帖被管理员或版主屏蔽
头像被屏蔽

Rank: 1

UID
2410585
帖子
33
PB币
97
贡献
0
技术
0
活跃
37
8F
发表于 2012-2-5 12:41:33 IP属地福建 |只看该作者
提示: 该帖被管理员或版主屏蔽
头像被屏蔽

Rank: 1

UID
1496400
帖子
6
PB币
73
贡献
0
技术
0
活跃
4
9F
发表于 2012-2-7 15:55:15 IP属地河南 |只看该作者
提示: 该帖被管理员或版主屏蔽

Rank: 1

UID
2500153
帖子
1
PB币
11
贡献
0
技术
0
活跃
0
10F
发表于 2012-3-6 05:41:29 IP属地福建 |只看该作者
支持,我认为你太厉害了

Rank: 1

UID
1056336
帖子
25
PB币
149
贡献
0
技术
1
活跃
6
11F
发表于 2012-3-8 13:29:05 IP属地广西 |只看该作者
是个好东西,算不算是朝阳产业呢?
头像被屏蔽

Rank: 1

UID
2596257
帖子
9
PB币
41
贡献
0
技术
0
活跃
3
受到警告 12F
发表于 2012-4-11 16:09:33 IP属地湖北 |只看该作者
提示: 该帖被管理员或版主屏蔽
头像被屏蔽

Rank: 1

UID
2603346
帖子
84
PB币
269
贡献
0
技术
0
活跃
274
受到警告 13F
发表于 2012-4-14 00:31:20 IP属地福建 |只看该作者
提示: 该帖被管理员或版主屏蔽
头像被屏蔽

Rank: 1

UID
2250899
帖子
12
PB币
21
贡献
0
技术
0
活跃
0
受到警告 14F
发表于 2012-4-19 20:22:07 IP属地江苏 |只看该作者
提示: 该帖被管理员或版主屏蔽

小菜鸟`

Rank: 9

UID
1010897
帖子
3008
PB币
12491
贡献
0
技术
23
活跃
384
15F
发表于 2012-4-21 20:44:41 IP属地吉林 |只看该作者
这么快就有教程了
头像被屏蔽

Rank: 1

UID
2624198
帖子
66
PB币
41
贡献
0
技术
0
活跃
0
16F
发表于 2012-4-27 00:34:17 IP属地四川 |只看该作者
提示: 该帖被管理员或版主屏蔽
头像被屏蔽

UID
1359821
帖子
186
PB币
1325
贡献
0
技术
1
活跃
0
17F
发表于 2012-4-27 02:09:47 IP属地江西 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 1

UID
1986968
帖子
61
PB币
63
贡献
0
技术
0
活跃
33
18F
发表于 2012-4-28 00:06:48 IP属地四川 |只看该作者
入门教程??涉及到的好多啊,个人小白……
头像被屏蔽

Rank: 1

UID
2627103
帖子
5
PB币
1
贡献
0
技术
0
活跃
2
受到警告 19F
发表于 2012-5-6 10:36:08 IP属地天津 |只看该作者
提示: 该帖被管理员或版主屏蔽

Rank: 1

UID
2308495
帖子
57
PB币
2
贡献
0
技术
0
活跃
1
20F
发表于 2012-5-6 14:34:11 IP属地北京 |只看该作者
给个例子嘛!!
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛