V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
miaotaizi
V2EX  ›  C

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

  •  
  •   miaotaizi · Jun 14, 2016 · 4801 views
    This topic created in 3606 days ago, the information mentioned may be changed or developed.
    之前是做 web 开发的, 看完了 oc 基本语法之后, 能不通过界面为主的应用积累经验直接切入游戏开发吗?
    如果可以, 是否有一些比较靠谱的开发教程之类?
    41 replies    2016-06-16 16:20:03 +08:00
    pheyer
        1
    pheyer  
       Jun 14, 2016
    先做个 flappy bird 出来?
    lingo233
        2
    lingo233  
       Jun 14, 2016 via Android
    你还得先学会画画😂
    miaotaizi
        3
    miaotaizi  
    OP
       Jun 14, 2016
    @lingo233 我要求不高, 只要能点能划什么的就行了, 至于美工这种东西, 我也知道也不是一下子就能弄出来的
    bjtugun
        4
    bjtugun  
       Jun 14, 2016
    可以啊,能往屏幕上 render 东西了吗?不是显示控件的意思啊。
    spritekit 会用了吗?

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

    想要省些事的话...还是用一些现成的手游解决方案吧,比如大家提到的 unity ,当然这需要你再去学下 C#...
    miaotaizi
        10
    miaotaizi  
    OP
       Jun 14, 2016
    @acros 那 ios 上的游戏用啥开发? 难道不是 oc 吗?
    akring
        11
    akring  
       Jun 14, 2016
    @miaotaizi 技能点错了少年,你该学 cocos-2d 的
    OC 只能学 SpriteKit 了
    wohenyingyu01
        12
    wohenyingyu01  
       Jun 14, 2016 via iPhone
    @miaotaizi ios 上的游戏不都是 c/c++开发的么...
    Rubbly
        13
    Rubbly  
       Jun 15, 2016
    既然目标是游戏开发 感觉 oc 并不是一个好的选择(
    l7sevenup
        14
    l7sevenup  
       Jun 15, 2016
    其实学游戏开发学不学 oc 语法都不是关键的,关键是要学游戏设计的理念架构还有一些框架。如果你用 oc/swift 苹果之前推出的 SprinteKit 挺合适,或者学习 cocos2d 开始。
    JustZht
        15
    JustZht  
       Jun 15, 2016 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  
       Jun 15, 2016
    想入游戏行业,就....VR 吧...
    miaotaizi
        17
    miaotaizi  
    OP
       Jun 15, 2016
    @akring 我隐约好像也发现这个情况了, 起初我以为跟平台的语言有关, 现在看来好像是走岔路了....
    是不是要去看看 c/c++啊
    miaotaizi
        18
    miaotaizi  
    OP
       Jun 15, 2016
    @JustZht 我之前的理解是以为 游戏引擎就是个盒子, 实现一些效果, 最终要 OC 来处理逻辑
    现在看来, 好像是应该直接学 unity 跟 cocos 之类
    min
        19
    min  
       Jun 15, 2016
    技能点错了吧,游戏开发应该熟悉 C#才对啊
    ipomelo
        20
    ipomelo  
       Jun 15, 2016
    @miaotaizi 不一定用 OC 。看你用什么引擎。 cocos2dx 是用 C++, cocos 有个 quick 版本是用 lua 。 unity3d 用 C#或者 js 。也有使用 oc 的框架,没用过不太敢说……
    bigbook
        21
    bigbook  
       Jun 15, 2016
    OC 会了是可以做游戏,就是麻烦点
    最好的方法还是搞起 Unity ,同时不要进 cocos2d 系列的大坑。
    chunqiuyiyu
        22
    chunqiuyiyu  
       Jun 15, 2016
    如果是简单的 2D 小游戏的话,建议楼主上手 html5 游戏,原生的 web 技术。如果效果好的话,再把游戏打包成 APP ,分发到 Android 或者 IOS 平台。
    unoyx
        23
    unoyx  
       Jun 15, 2016
    做游戏其实能画点就行了。
    coddmajes
        24
    coddmajes  
       Jun 15, 2016
    cocos2d-x 很容易上手
    clockwerk
        25
    clockwerk  
       Jun 15, 2016
    少年加错技能点了。。。。我当年也是吭吭呲呲搞了半天 oc ,卧槽后来一看 cocos2dx 是用 c++啊。。。。。
    clockwerk
        26
    clockwerk  
       Jun 15, 2016
    cocos2d 是可以用 oc 干的,只是基本跨平台都是上 2dx 用 c++撸
    clockwerk
        27
    clockwerk  
       Jun 15, 2016
    稍微学学看着 demo 撸个打地鼠 打飞机的游戏还是可以哒
    Mutoo
        28
    Mutoo  
       Jun 15, 2016
    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  
       Jun 15, 2016
    不是很少有用 oc 开发游戏的么应该
    miaotaizi
        30
    miaotaizi  
    OP
       Jun 15, 2016
    @Mutoo 这么讲 cocos2d-objc 是专门应对 oc 平台, cocos2d-swift 是专门应对 swift 平台的对吗?
    但是如果要做一份可以跨平台编译的游戏的话, 就得上 cocos2d-x 学 c++是吧?
    Mutoo
        31
    Mutoo  
       Jun 15, 2016
    @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  
       Jun 15, 2016
    cocos2d ~入门必做游戏 flappy bird 。这个游戏做起来简单学到东西也不少。鸟和管道碰撞检测(以后很多游戏会用到)和管道回收和复用(优化游戏性能需用)。鸟的飞行和下落(两种动画模式)等等。这些都是基本!
    wuyuchenshishabi
        33
    wuyuchenshishabi  
       Jun 15, 2016
    看了楼上一大半跑出来不懂装懂和装逼的。
    您如果想做个简单的游戏建议使用 iOS 自带的 Sprite Kit.很方便,
    mingming
        34
    mingming  
       Jun 15, 2016
    目前在做 iOS 开发,也想接触一下游戏,在学 Lua love2d 这个框架。所以我建议你不如先学习一下简单的 2d 框架。
    youxiachai
        35
    youxiachai  
       Jun 15, 2016
    @mingming 我去...居然还有人学这个啊...想想..我是 5 年前接触..虽然啥成绩都没...
    mingming
        36
    mingming  
       Jun 15, 2016
    @youxiachai 额,所以我还要学么,你想说你是反面例子么。。哈哈
    lizhenda
        37
    lizhenda  
       Jun 15, 2016
    u3d 吧
    reasonMix
        38
    reasonMix  
       Jun 15, 2016 via iPhone
    要学习 矢量 矩阵 opengl 再看引擎 和语言没啥关系
    Hysteria
        39
    Hysteria  
       Jun 16, 2016   ❤️ 1
    @youxiachai
    @mingming 5 年前的 LÖVE 跟现在的不可同日而语,用 LÖVE 做点 DEMO 性质的挺好,自己多努点力,多搭建点基础设施,用来生产还是也是没问题的。
    @miaotaizi 撸主要是想转游戏开发的话,还是直接学 cocos2dx 或者 unity 吧,市场需求量大,能找到工作。如果是纯兴趣爱好,其实真的用 Lua 配合 LÖVE 引擎挺好。
    williamx
        40
    williamx  
       Jun 16, 2016
    都说“行百里者半九十”。看完 OC 的基本语法,相当于走了一里。
    miaotaizi
        41
    miaotaizi  
    OP
       Jun 16, 2016
    @williamx 那就把剩下的都走完! 我会坚持下去的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   974 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 20:11 · PVG 04:11 · LAX 13:11 · JFK 16:11
    ♥ Do have faith in what you're doing.