学习做一个游戏需要储备哪些技术?

2014-01-02 15:09:55 +08:00
 magicshui
2014年,想自己做一个iOS游戏玩,游戏很简单,就是用户登录以后选择自己的人偶,然后接受到服务器的指令以后做动作,人偶是3D的,服务器的指令不是预设的,所以希望能够操纵人偶的关节,极大限度的增加自由度。
比如,服务器发来:打脸,这个人偶自己就打脸了……

因为自己只会写python,所以想了解下要做这个游戏有哪些技术需要前期学习?有哪些框架来实现?

谢过:)
5088 次点击
所在节点    程序员
19 条回复
hsu
2014-01-02 15:36:15 +08:00
首先,你得有一个3D的人偶。。。。
jzhone
2014-01-02 15:52:26 +08:00
跟lz有同样的兴趣,但也是很迷茫
zjgsamuel
2014-01-02 15:55:24 +08:00
我也有类似想法 无从下手啊 一点移动平台的经验都没有 收藏夹里头就只有一个 Cocos2d-x 分类...
leojoy710
2014-01-02 16:04:31 +08:00
先pygame一个2d的版本吧...
比如把一个点移动到指定坐标什么的...
然后再加入网络...跟根据指令移动...
然后再看看3d...

3d要处理的问题比2d多...
所以先熟悉一下一个游戏的框架大概是什么样的比较好...
wherefor
2014-01-02 16:05:44 +08:00
1.浏览器和服务器结构
* JS
* webGL
* 基于webGL的游戏引擎
* 3d建模软件 3d max 或maya等
* 图形处理软件 PhotoShop或GIMP等
2.app和服务器结构
* objective-c
* cocoa
* OpenGL ES
* 3d游戏引擎
* 图形处理软件 PhotoShop或GIMP等
leonwong
2014-01-02 16:12:11 +08:00
会玩游戏
robinlovemaggie
2014-01-02 16:16:29 +08:00
希望楼主做得比ios上的Clumsy Ninja好,到时玩你的~~
bakac
2014-01-02 16:17:12 +08:00
首先要绘图
lyragosa
2014-01-02 17:27:35 +08:00
首先要开始做
subpo
2014-01-02 17:29:18 +08:00
同问,游戏开发的思路有点不一样吧,我目前的知识储备真的想不到怎么从头开始做一个游戏
magicshui
2014-01-02 17:54:04 +08:00
@hsu 对的,准备用网上免费提供的:)
@robinlovemaggie 谢啦,不过这个还是自己写着玩,之前跟人吹牛说的要自己写个游戏,不写就糗大了……
@jzhone @zjgsamuel @subpo 好多想做游戏的同学~
@lyragosa 恩呢,已经下载了一个unity3d
@bakac 绘图得找个妹子帮做去(*^__^*) ……
@leonwong 握个手
@wherefor 谢谢,我瞅瞅~
@leojoy710 对的,这个服务器的关联还是挺大的,可以直接从3D上手不?只控制一个人偶,甚至移动都不需要……
Mutoo
2014-01-02 18:01:10 +08:00
tempdban
2014-01-02 20:27:50 +08:00
http://git.oschina.net/9maio/diabloworld
推荐一个开源手机网游
garth
2014-01-02 20:28:49 +08:00
unity-3d再加上服务器
johnlui
2014-01-02 20:43:56 +08:00
只会写Python...
其实都是相同的,这得看你对编程语言的理解和对APP原理的理解,成本只是时间成本,软件开发知识不是储备来的,而是在做的时候练出来的。。。
楼主做过网站吗?
leojoy710
2014-01-03 08:23:44 +08:00
@magicshui 基本的实现了...加入服务器不难...但是一开始就想做到最终形态...对于初学者来说会浪费很多时间...并且很可能走弯路...
直接上手3D需要关心的事情有点多...徒增复杂度...
既然决定要做游戏...建议还是从简单的基本的做起...
suckli
2014-01-03 11:26:46 +08:00
先做个俄罗斯方块练练手~
fangzhzh
2014-01-03 12:21:59 +08:00
3D动作的基本形态代表作是tom猫, 就是你做好的动作, 可以由玩家某些动作触发. 但是这些动作是做好的,一旦你发布,就只能有这些的动作.

而你说的就是进阶, 动作可以自己随机应变, 这个很难, 但是也不是不能实现, 参考这个 http://v2ex.com/t/90963#reply0

clumsy ninja用的技术叫Euphoria, 我当时研究过一下, Euphoria 是一个 叫 NaturalMotion的工作做出来的引擎,可以让3D模型根据玩家触摸的部位, 力量的轻重自动的做出反应. 这些不是实现预备号的,而是实时的计算出来的动作.

但是Euphoria对我们来说并不可用, 其一:不开源, 不是谁都可以用, 因为一般的小公司都无法负得起他的使用费; 其二,就算开源,也白瞎,Euphoria 其实是一种机器学习, 你获得了他们的授权, 合作方式也是他们公司派人进驻你的游戏团队,大家一起来学习你3D模型的动作,这个对indie基本impossible.

我学过一点点的机器学习, 感觉机器学习是很靠天分和运气, 参数选取的不同,训练方式的不同, 都会引起训练结果的巨大差别, 也就是目标最后的表现千差万别.



所以呢, 楼主你的目标可以分作两步:
第一,开发一个游戏,3D玩偶, 有一些基本动作. 这个步骤还属于游戏开发的范畴;
其中涉及到的知识点: unity3D, cocoa, xcode, object-c
第二,学习机器学习,并把只是运用到你的游戏中, 这个基本上就不属于游戏开发了. 我给你推荐: https://class.coursera.org/ml-004
onemoo
2014-01-03 23:04:30 +08:00
看到LZ的问题,忍不住想感慨下。
偶然的一次机会接触了Virtools,就萌生了做个游戏的念头(当时的我还基本不会编程,只在学校学过C)
后来,觉得不应一直使用virtools,就打算真正的编程写游戏。
这时知道了D3D、OpenGL、图形学、SDK、游戏引擎...等众多概念,发现哇...这领域好复杂呀...

于是就依次去学习这些东西......C、C++、系统、D3D、OpenGL、开源引擎、2D图片处理、3D建模、动画......

现在我成了编程、2D美工、3D美工一起干的苦逼的独立游戏开发者...

我觉得如果我当初不想做游戏的话,应该会省下很多时间做其他有趣的事情...

所以LZ你确定要做个游戏么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX