V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
magicshui
V2EX  ›  程序员

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

  •  
  •   magicshui · 2014-01-02 15:09:55 +08:00 · 5017 次点击
    这是一个创建于 3960 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2014年,想自己做一个iOS游戏玩,游戏很简单,就是用户登录以后选择自己的人偶,然后接受到服务器的指令以后做动作,人偶是3D的,服务器的指令不是预设的,所以希望能够操纵人偶的关节,极大限度的增加自由度。
    比如,服务器发来:打脸,这个人偶自己就打脸了……

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

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

    3d要处理的问题比2d多...
    所以先熟悉一下一个游戏的框架大概是什么样的比较好...
    wherefor
        5
    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
        6
    leonwong  
       2014-01-02 16:12:11 +08:00
    会玩游戏
    robinlovemaggie
        7
    robinlovemaggie  
       2014-01-02 16:16:29 +08:00
    希望楼主做得比ios上的Clumsy Ninja好,到时玩你的~~
    bakac
        8
    bakac  
       2014-01-02 16:17:12 +08:00
    首先要绘图
    lyragosa
        9
    lyragosa  
       2014-01-02 17:27:35 +08:00
    首先要开始做
    subpo
        10
    subpo  
       2014-01-02 17:29:18 +08:00
    同问,游戏开发的思路有点不一样吧,我目前的知识储备真的想不到怎么从头开始做一个游戏
    magicshui
        11
    magicshui  
    OP
       2014-01-02 17:54:04 +08:00
    @hsu 对的,准备用网上免费提供的:)
    @robinlovemaggie 谢啦,不过这个还是自己写着玩,之前跟人吹牛说的要自己写个游戏,不写就糗大了……
    @jzhone @zjgsamuel @subpo 好多想做游戏的同学~
    @lyragosa 恩呢,已经下载了一个unity3d
    @bakac 绘图得找个妹子帮做去(*^__^*) ……
    @leonwong 握个手
    @wherefor 谢谢,我瞅瞅~
    @leojoy710 对的,这个服务器的关联还是挺大的,可以直接从3D上手不?只控制一个人偶,甚至移动都不需要……
    Mutoo
        12
    Mutoo  
       2014-01-02 18:01:10 +08:00   ❤️ 2
    tempdban
        13
    tempdban  
       2014-01-02 20:27:50 +08:00 via Android
    http://git.oschina.net/9maio/diabloworld
    推荐一个开源手机网游
    garth
        14
    garth  
       2014-01-02 20:28:49 +08:00
    unity-3d再加上服务器
    johnlui
        15
    johnlui  
       2014-01-02 20:43:56 +08:00
    只会写Python...
    其实都是相同的,这得看你对编程语言的理解和对APP原理的理解,成本只是时间成本,软件开发知识不是储备来的,而是在做的时候练出来的。。。
    楼主做过网站吗?
    leojoy710
        16
    leojoy710  
       2014-01-03 08:23:44 +08:00
    @magicshui 基本的实现了...加入服务器不难...但是一开始就想做到最终形态...对于初学者来说会浪费很多时间...并且很可能走弯路...
    直接上手3D需要关心的事情有点多...徒增复杂度...
    既然决定要做游戏...建议还是从简单的基本的做起...
    suckli
        17
    suckli  
       2014-01-03 11:26:46 +08:00
    先做个俄罗斯方块练练手~
    fangzhzh
        18
    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
        19
    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你确定要做个游戏么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:33 · PVG 22:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.