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

看完 OC 基本语法之后, 如何涉足游戏开发?

  •  
  •   miaotaizi · 2016-06-14 17:02:25 +08:00 · 3972 次点击
    这是一个创建于 3113 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前是做 web 开发的, 看完了 oc 基本语法之后, 能不通过界面为主的应用积累经验直接切入游戏开发吗?
    如果可以, 是否有一些比较靠谱的开发教程之类?
    41 条回复    2016-06-16 16:20:03 +08:00
    pheyer
        1
    pheyer  
       2016-06-14 17:06:15 +08:00
    先做个 flappy bird 出来?
    lingo233
        2
    lingo233  
       2016-06-14 17:11:16 +08:00 via Android
    你还得先学会画画😂
    miaotaizi
        3
    miaotaizi  
    OP
       2016-06-14 17:13:11 +08:00
    @lingo233 我要求不高, 只要能点能划什么的就行了, 至于美工这种东西, 我也知道也不是一下子就能弄出来的
    bjtugun
        4
    bjtugun  
       2016-06-14 17:19:07 +08:00
    可以啊,能往屏幕上 render 东西了吗?不是显示控件的意思啊。
    spritekit 会用了吗?

    做游戏其实很少用 oc ,用 cocos2d 或者 unity 多些
    miaotaizi
        5
    miaotaizi  
    OP
       2016-06-14 17:26:18 +08:00
    @bjtugun 你这么一说我就懵逼了, 看来还得充实一些知识.
    acros
        6
    acros  
       2016-06-14 17:32:19 +08:00
    只知道 cocos2d 有 oc 版的(虽然现在大都用 cocos2d-x 好跨平台),游戏开发好像用 oc 的真不算多啊~~~
    program2000
        7
    program2000  
       2016-06-14 17:40:33 +08:00
    你需要掌握些框架, spritekit , cocos2d-iphone ,等等等等,然后还要自己画各种简单的 sprite sheet........
    beginor
        8
    beginor  
       2016-06-14 21:36:37 +08:00 via Android
    再学一下 C#用 Unity 开发游戏吧,我逃...😎
    onemoo
        9
    onemoo  
       2016-06-14 22:05:57 +08:00
    @miaotaizi 要学的太多了。
    这问题相当于:我学会拿画笔了,怎样才能画出漂亮的油画?
    了解完 OC 语法只相当于刚学会拿画笔(还不一定能熟练使用),离能画出一幅名作还远着呢!

    想要省些事的话...还是用一些现成的手游解决方案吧,比如大家提到的 unity ,当然这需要你再去学下 C#...
    miaotaizi
        10
    miaotaizi  
    OP
       2016-06-14 22:31:47 +08:00
    @acros 那 ios 上的游戏用啥开发? 难道不是 oc 吗?
    akring
        11
    akring  
       2016-06-14 22:57:59 +08:00
    @miaotaizi 技能点错了少年,你该学 cocos-2d 的
    OC 只能学 SpriteKit 了
    wohenyingyu01
        12
    wohenyingyu01  
       2016-06-14 23:01:05 +08:00 via iPhone
    @miaotaizi ios 上的游戏不都是 c/c++开发的么...
    Rubbly
        13
    Rubbly  
       2016-06-15 01:10:58 +08:00
    既然目标是游戏开发 感觉 oc 并不是一个好的选择(
    l7sevenup
        14
    l7sevenup  
       2016-06-15 01:31:10 +08:00
    其实学游戏开发学不学 oc 语法都不是关键的,关键是要学游戏设计的理念架构还有一些框架。如果你用 oc/swift 苹果之前推出的 SprinteKit 挺合适,或者学习 cocos2d 开始。
    JustZht
        15
    JustZht  
       2016-06-15 03:57:19 +08:00 via iPad
    几乎没有 ObjC 的游戏框架可以用,当然 scenekit 和 spritekit 算是,但以我使用 scenekit 的经历来看,不值得浪费时间在 ObjC 的三维游戏框架上
    - scenekit 中有关向量的运算部分很弱,需要你自己去写很多重载
    - scenekit 的 material 目前还不是 pbr 的,当然据说 ModelIO 是有 pbr 支持的,但是用的时候就知道两者没办法互通
    - 如果对 cg , hlsl 等不是很熟悉的话 shaderprogram 基本用不了,对于初学者来说还是 unity 配合可视化材质编辑器容易上手
    - 没生态环境,想买个 asset 都没地方买,对比 unity assets store 不仅有美术资源还有很多代码,直接买就可以搞定一部分功能
    综上 楼主还是学 unity 吧。
    yanchao7511461
        16
    yanchao7511461  
       2016-06-15 08:32:40 +08:00
    想入游戏行业,就....VR 吧...
    miaotaizi
        17
    miaotaizi  
    OP
       2016-06-15 09:05:26 +08:00
    @akring 我隐约好像也发现这个情况了, 起初我以为跟平台的语言有关, 现在看来好像是走岔路了....
    是不是要去看看 c/c++啊
    miaotaizi
        18
    miaotaizi  
    OP
       2016-06-15 09:35:31 +08:00
    @JustZht 我之前的理解是以为 游戏引擎就是个盒子, 实现一些效果, 最终要 OC 来处理逻辑
    现在看来, 好像是应该直接学 unity 跟 cocos 之类
    min
        19
    min  
       2016-06-15 09:43:10 +08:00
    技能点错了吧,游戏开发应该熟悉 C#才对啊
    ipomelo
        20
    ipomelo  
       2016-06-15 09:46:11 +08:00
    @miaotaizi 不一定用 OC 。看你用什么引擎。 cocos2dx 是用 C++, cocos 有个 quick 版本是用 lua 。 unity3d 用 C#或者 js 。也有使用 oc 的框架,没用过不太敢说……
    bigbook
        21
    bigbook  
       2016-06-15 10:12:59 +08:00
    OC 会了是可以做游戏,就是麻烦点
    最好的方法还是搞起 Unity ,同时不要进 cocos2d 系列的大坑。
    chunqiuyiyu
        22
    chunqiuyiyu  
       2016-06-15 10:39:32 +08:00
    如果是简单的 2D 小游戏的话,建议楼主上手 html5 游戏,原生的 web 技术。如果效果好的话,再把游戏打包成 APP ,分发到 Android 或者 IOS 平台。
    unoyx
        23
    unoyx  
       2016-06-15 10:56:36 +08:00
    做游戏其实能画点就行了。
    coddmajes
        24
    coddmajes  
       2016-06-15 10:59:07 +08:00
    cocos2d-x 很容易上手
    nellace
        25
    nellace  
       2016-06-15 10:59:13 +08:00
    少年加错技能点了。。。。我当年也是吭吭呲呲搞了半天 oc ,卧槽后来一看 cocos2dx 是用 c++啊。。。。。
    nellace
        26
    nellace  
       2016-06-15 10:59:58 +08:00
    cocos2d 是可以用 oc 干的,只是基本跨平台都是上 2dx 用 c++撸
    nellace
        27
    nellace  
       2016-06-15 11:01:09 +08:00
    稍微学学看着 demo 撸个打地鼠 打飞机的游戏还是可以哒
    Mutoo
        28
    Mutoo  
       2016-06-15 11:03:26 +08:00
    cocos2d 最早是 python week 几个学生的作品,后来被移植到 cocos2d-iphone 并发扬光大。
    接着有了 cocos2d-java 支持的 android 版,然后国内王哲等人使用 c++ 移植了 cocos2d-x 能够跨平台编译,支持各种主流平台。后来随着脚本语言的流行有了 quick cocs2d-x(基于 lua ,后改名 cocos2d-lua) 和 cocos2d-html5(后改名 cocos2d-js)。

    cocos2d-iphone 原先是 objective-c 版,现在分流成 cocos2d-objc 和 cocos2d-swift 两个版本。虽然不跨平台,但是在国外还是有很大市场份额。
    oosky1994
        29
    oosky1994  
       2016-06-15 11:05:00 +08:00
    不是很少有用 oc 开发游戏的么应该
    miaotaizi
        30
    miaotaizi  
    OP
       2016-06-15 12:42:23 +08:00
    @Mutoo 这么讲 cocos2d-objc 是专门应对 oc 平台, cocos2d-swift 是专门应对 swift 平台的对吗?
    但是如果要做一份可以跨平台编译的游戏的话, 就得上 cocos2d-x 学 c++是吧?
    Mutoo
        31
    Mutoo  
       2016-06-15 12:54:50 +08:00
    @miaotaizi 嗯是的。对于 cocos2d-x 除了 c++ 以外还有两个脚本语言可选, lua 和 javascript ,如果你有 web 经验的话, cocos2d-js 是挺不错的选择。 cocos2d-js 编写的游戏可以运行在 web / android / ios 上(参看 http://www.cocos2d-x.org/wiki/Engine_Architecture
    wobuhuicode
        32
    wobuhuicode  
       2016-06-15 12:58:47 +08:00
    cocos2d ~入门必做游戏 flappy bird 。这个游戏做起来简单学到东西也不少。鸟和管道碰撞检测(以后很多游戏会用到)和管道回收和复用(优化游戏性能需用)。鸟的飞行和下落(两种动画模式)等等。这些都是基本!
    wuyuchenshishabi
        33
    wuyuchenshishabi  
       2016-06-15 14:17:08 +08:00
    看了楼上一大半跑出来不懂装懂和装逼的。
    您如果想做个简单的游戏建议使用 iOS 自带的 Sprite Kit.很方便,
    mingming
        34
    mingming  
       2016-06-15 16:00:22 +08:00
    目前在做 iOS 开发,也想接触一下游戏,在学 Lua love2d 这个框架。所以我建议你不如先学习一下简单的 2d 框架。
    youxiachai
        35
    youxiachai  
       2016-06-15 16:24:39 +08:00
    @mingming 我去...居然还有人学这个啊...想想..我是 5 年前接触..虽然啥成绩都没...
    mingming
        36
    mingming  
       2016-06-15 16:29:23 +08:00
    @youxiachai 额,所以我还要学么,你想说你是反面例子么。。哈哈
    lizhenda
        37
    lizhenda  
       2016-06-15 16:40:54 +08:00
    u3d 吧
    reasonMix
        38
    reasonMix  
       2016-06-15 19:46:51 +08:00 via iPhone
    要学习 矢量 矩阵 opengl 再看引擎 和语言没啥关系
    Hysteria
        39
    Hysteria  
       2016-06-16 01:56:41 +08:00   ❤️ 1
    @youxiachai
    @mingming 5 年前的 LÖVE 跟现在的不可同日而语,用 LÖVE 做点 DEMO 性质的挺好,自己多努点力,多搭建点基础设施,用来生产还是也是没问题的。
    @miaotaizi 撸主要是想转游戏开发的话,还是直接学 cocos2dx 或者 unity 吧,市场需求量大,能找到工作。如果是纯兴趣爱好,其实真的用 Lua 配合 LÖVE 引擎挺好。
    williamx
        40
    williamx  
       2016-06-16 12:46:20 +08:00
    都说“行百里者半九十”。看完 OC 的基本语法,相当于走了一里。
    miaotaizi
        41
    miaotaizi  
    OP
       2016-06-16 16:20:03 +08:00
    @williamx 那就把剩下的都走完! 我会坚持下去的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2888 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:37 · PVG 20:37 · LAX 04:37 · JFK 07:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.