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

有要来一起写一款沙盒游戏的 v 友吗?

  •  
  •   tyrealgray · 2017-09-26 18:25:13 +08:00 · 7472 次点击
    这是一个创建于 2375 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为证明自己并不是三分钟热度的人,先说一下之前的经历。
    曾经想做(其实已经做出来了)一款简单有趣的对战游戏供基友一起玩。灵感来自春节一起和基友玩魔兽正版 rpg,发现做成 3d 的会很不错。

    然后游戏做出来了,但是已经是 2 年以后的事情了。基友都散了,自己也离开大学了,局域网玩游戏的方式也不常见了。这个是之前的游戏项目: https://github.com/TyrealGray/HMIYC

    所以在这之后,楼主一直在思考这次要做一个自己能玩的游戏,自己喜欢的游戏。
    现在也大概寻思了大致一年了,终于算是理清楚了游戏到底要怎么个玩法。

    玩过很多游戏,楼主觉得战旗类,4x 类,沙盒向的游戏很适合自己的兴趣定位,于是就有了这个 https://github.com/SkyHarp/LegendOfMountainSea

    目的很单纯,弘扬中国文化给老外,即使他们不喜欢,自己还能自嗨。毕竟很喜欢 tyranny 这类游戏。
    =======================

    目前项目只搭建起了皮毛,曾经选择的 react native 想着为自己的工作练手,后来觉得太功力。于是选择了真正的有利于游戏内容展现的框架。用的 nw.js 做壳来解决 mac 和 windows 平台问题,用 pixijs 做渲染引擎( 3d 太费时在美术上,所以选择的 2d ),piskel 工具来解决美术问题。

    游戏的构思大致就是自己建立角色,各种冒险奇幻剧情和怪兽,并且加上行会 2 那种模拟人生经商搞事,沙盒随机时间等等之类的。背景设为山海经,可能的话还能把大禹治水诺亚方舟这些传说都串联起来。

    为了服务沙盒化,随机剧情以及人人都能编写贡献故事和随机事件,还准备为游戏准备一个故事执行引擎(依然在构思当中) https://github.com/TyrealGray/Qin

    大致的技术栈将往 javascript 向,涵盖后端 node.js 和一些 noSQL 知识发展。
    感兴趣的 v 友欢迎和我联系( github 上的 email 或者 QQ 群 302281607 )
    可能和众 v 友有时差,所以可能也就周末有时间大家讨论

    ps:
    当然我希望你不是三分钟热度的人,这个游戏可以肯定的是会做很久,如果我一个人搞可能至少 5 年能看到个能玩的雏形估计就不错了。所以估计比较适合喜欢游戏,热爱开发游戏,工作生活节奏已经稳定的“老油条”程序员。
    第 1 条附言  ·  2017-09-27 14:46:07 +08:00
    v 友已经帮忙建了一个 qq 群 543442331,感兴趣的进这个吧,我的游戏开发群太水了
    第 2 条附言  ·  2019-07-27 06:14:04 +08:00
    82 条回复    2017-09-28 15:36:56 +08:00
    rozbo
        1
    rozbo  
       2017-09-26 18:31:52 +08:00
    还以为是虚幻 4。。。nodejs 的帮不上忙,帮顶了
    tyrealgray
        2
    tyrealgray  
    OP
       2017-09-26 18:37:12 +08:00 via iPhone
    @rozbo 主要是虚幻 4 做起来太累了,美术方面不好解决
    tvallday
        3
    tvallday  
       2017-09-26 18:48:41 +08:00
    练习还可以,Nodejs 不适合用来做游戏,要真坚持下去最好换个坑。我写过 Node 的实时游戏服务器,发现它真不是这块料,除非你仅仅想做个 Demo。
    tyrealgray
        4
    tyrealgray  
    OP
       2017-09-26 18:57:13 +08:00 via iPhone
    @tvallday 并不打算做大型联机,着重单机,联机也不会超过 5 人,没那么多人会玩的,至少现在是这样🤔
    KeepPro
        5
    KeepPro  
       2017-09-26 19:04:27 +08:00 via Android
    网易的 pomolo 好像就是 node 的,应该没啥问题。
    YyYyYyy
        6
    YyYyYyy  
       2017-09-26 19:37:26 +08:00
    “咦咦咦,难得有游戏开发组队诶!去看看”
    “咦咦咦,是 javascript 诶...”
    “咦咦咦,不好意思我走错房间了,88 ~”(挥手)

    你要选个静态类型语言我就有兴趣了_(:3 」∠)_
    tyrealgray
        7
    tyrealgray  
    OP
       2017-09-26 19:39:44 +08:00
    @YyYyYyy 选 js 也是因为快,谁都会,上来就可以撸啊_(:3 」∠)_
    markx
        8
    markx  
       2017-09-26 20:01:47 +08:00
    一直想要做游戏玩, 也正好打算试试 pixijs。 不过我估计我应该是三分钟热度,哈哈哈
    tyrealgray
        9
    tyrealgray  
    OP
       2017-09-26 21:17:56 +08:00
    @markx pixijs 很简单的,做个 flappy bird,贪吃蛇很快就做出来了。
    Kilerd
        10
    Kilerd  
       2017-09-26 21:28:04 +08:00
    这种东西,用了 js 不上 ts 就是坑。
    tyrealgray
        11
    tyrealgray  
    OP
       2017-09-26 21:32:56 +08:00
    @Kilerd 都还没写出来怎么就坑了🙄️
    dyman
        12
    dyman  
       2017-09-26 21:54:11 +08:00
    关注下~
    Kilerd
        13
    Kilerd  
       2017-09-26 21:55:07 +08:00
    @tyrealgray js 上大型项目(应该说弱类型语言的弱点),几个月后再回来看代码,完全不知道这里传了什么进来,所以要上 ts,interface 一眼就看出来了。
    zagreb
        14
    zagreb  
       2017-09-26 22:00:11 +08:00 via iPhone
    好有趣的样子。弱鸡的我在一旁默默的看着👀
    tvallday
        15
    tvallday  
       2017-09-26 22:13:48 +08:00
    @Kilerd ES6+ 还好,参数命名的时候注意一点就行。
    rashawn
        16
    rashawn  
       2017-09-26 22:22:57 +08:00 via iPhone
    有兴趣没时间 唉
    tyrealgray
        17
    tyrealgray  
    OP
       2017-09-26 22:27:43 +08:00
    @Kilerd 把代码写成天书,再牛逼的检查也救不回来。
    tyrealgray
        18
    tyrealgray  
    OP
       2017-09-26 22:48:23 +08:00
    @rashawn 时间可以挤出来的🙂️
    markx
        19
    markx  
       2017-09-27 01:08:07 +08:00
    @Kilerd 好奇地问一下, 你只是觉得 js 有这个问题呢,还是觉得所有动态类型语言都这样?
    Kilerd
        20
    Kilerd  
       2017-09-27 01:23:06 +08:00
    @markx 应该是弱类型语言都有的问题吧。我现在自己的 Python 项目都用上了 mypy 做类型检查,确实舒服了很多,尤其是看回几个月之前的代码的时候。
    markx
        21
    markx  
       2017-09-27 01:41:47 +08:00
    @Kilerd 哦,那我猜想,这可能是个人习惯的问题。并不是 js 是坑,而是你习惯了静态类型。 我是正好相反,在用 Go 之前,始终不能习惯静态类型。
    Kilerd
        22
    Kilerd  
       2017-09-27 02:17:06 +08:00
    @markx 这不是个人习惯的问题。而是用静态类型检查( TS 是强类型了,flow 才是类型检查)为了更好的团队协作和长线项目的回顾。在脚本语言里面 dict list 漫天飞,在没有足够注释的前提下,你看一个代码片段,根本不知道这个变量里面有什么,不该有什么。

    这个问题在刚开始的时候不会出现,当你回顾 2 个月之前的代码时,估计你就要从头看下来,从这个变量的生命周期开始点看下来,才可能知道他到底含有了什么,这会严重的影响了二次开发和代码的重构。 同时也可以避免很多隐形的 bug,例如 js 里面坑爹的 str+int 等这种情况。
    catsoul
        23
    catsoul  
       2017-09-27 08:31:07 +08:00
    @Kilerd 无意抬杠哈,我觉得一个注释足以抵消这个问题,当然前提是参与者的开发习惯已经养好,而且有足够的自律。
    knight322
        24
    knight322  
       2017-09-27 08:35:20 +08:00
    有兴趣,可是不会啊
    chenyu0532
        25
    chenyu0532  
       2017-09-27 09:15:34 +08:00
    这是要用 cocos creator 的节奏么。。
    dtysky
        26
    dtysky  
       2017-09-27 09:17:19 +08:00
    pixi + ts / egret / babylon 走起啊
    都是 TS 美滋滋
    TS 的美,你用过就知道了,尤其是多人协作
    dtysky
        27
    dtysky  
       2017-09-27 09:18:13 +08:00
    客户端游戏还是 UNITY 吧,讲真
    crayygy
        28
    crayygy  
       2017-09-27 09:18:44 +08:00 via iPhone
    @catsoul 如果是一个人的项目可能还会好一些,但如果是一个多人参与完成的项目,有些时候不太能够要求每个人的习惯都相同,都写完备的注释,这个时候如果有静态类型检查就可以从语言层次上一定程度的保证了传参时候的类型(当然代码写的烂谁也救不了
    lucaskam
        29
    lucaskam  
       2017-09-27 09:57:38 +08:00
    JS 果然自带歪楼 + 引战光环.
    silva
        30
    silva  
       2017-09-27 10:04:48 +08:00
    @catsoul 好奇,如果每个写个东西都把里面的东西是啥都注释一下,和直接写静态语言有什么区别?
    bramblex
        31
    bramblex  
       2017-09-27 10:35:06 +08:00
    为啥不用 typescript 呢?

    写起来比 js 舒服多了~
    bramblex
        32
    bramblex  
       2017-09-27 10:35:58 +08:00
    而且,有点兴趣玩
    bramblex
        33
    bramblex  
       2017-09-27 10:43:11 +08:00   ❤️ 1
    @KeepPro 但是好像网易基本弃掉了……
    mosliu
        34
    mosliu  
       2017-09-27 10:48:01 +08:00
    有点兴趣。。
    不过好大的坑啊。。
    vven
        35
    vven  
       2017-09-27 10:59:27 +08:00
    有兴趣,山海经这个点和自己以前某个 idea 很像
    不过好像你的计划有点大,为什么不砍掉一些做个精简版出来先玩下呢?
    fy
        36
    fy  
       2017-09-27 11:06:33 +08:00
    这坑大得很啊 先看看不说话
    jsun
        37
    jsun  
       2017-09-27 11:07:12 +08:00
    不考虑用 cocos creator 做 UI 吗
    gamecreating
        38
    gamecreating  
       2017-09-27 11:29:45 +08:00
    unity 或者 cocos 可以找我
    catinsides
        39
    catinsides  
       2017-09-27 12:12:16 +08:00
    很有兴趣,先关注学习一下
    KeepPro
        40
    KeepPro  
       2017-09-27 12:19:40 +08:00 via Android
    @bramblex 这,我本来还想有时间研究一下呢。
    ZzFoo
        41
    ZzFoo  
       2017-09-27 13:04:13 +08:00
    技术栈完全相同,已加群
    lnim
        42
    lnim  
       2017-09-27 13:07:21 +08:00
    不考虑用 unity 嘛? 如果考虑 unity 可以参加~
    way2explore2
        43
    way2explore2  
       2017-09-27 13:50:50 +08:00
    @lnim 我在做一个三国战棋,也有点沙盒的游戏,用的 unity
    catsoul
        44
    catsoul  
       2017-09-27 13:59:44 +08:00
    @silva 说白了,就算是静态语言,不写注释的话,过一段时间来看,除了能看懂传入参数的类型外,照样看不懂每个东西是啥。写注释本来就是开发中被提倡甚至我个人认为在必要的地方应该被强制要求的一个行为。
    catsoul
        45
    catsoul  
       2017-09-27 14:03:08 +08:00
    @crayygy 不不不,两回事,静态语言能够进行类型检查的优势我并没有否认,我所说的,只是表示代码写的规范,在合理的地方给予注释,可以让动态语言一定程度上规避所提到的 “过一段时间后自己都看不懂” 的问题。

    如果代码写的臭,变量名不直观,又不给注释,那就算用静态语言,也只能保证再看的时候知道传入的什么类型参数,依然无法解决上面所提到的问题。
    catsoul
        46
    catsoul  
       2017-09-27 14:06:03 +08:00
    @crayygy 至于你提到的多人协同的问题,极端点来说,其实只要严格遵守开发规范,不符合开发规范的代码打回重写,也是能够强制规范下来的。

    当然,现实情况要复杂得多,所以运营好一个开源项目是个极其费力的事情
    tyrealgray
        47
    tyrealgray  
    OP
       2017-09-27 14:06:15 +08:00 via iPhone
    @way2explore2
    @lnim
    @dtysky
    不做手游当然不考虑 u3d 了啊,要考虑 3d 也该选 ue4 吧
    dtysky
        48
    dtysky  
       2017-09-27 14:10:52 +08:00
    @tyrealgray

    UE4 一般 hold 不住的,而且谁说 U3D 只能做手游了。。。
    至少自己先试试再下结论吧
    tyrealgray
        49
    tyrealgray  
    OP
       2017-09-27 14:13:49 +08:00 via iPhone
    @dtysky pc 如此好的机能干嘛不用 ue4 呢,没觉得 hold 不住啊
    xianji
        50
    xianji  
       2017-09-27 14:20:36 +08:00
    很感兴趣,语言上我也是在 js 和 ts 这个栈上,已加群。 想问楼主 @tyrealgray 美术方面现在怎么个计划?
    tyrealgray
        51
    tyrealgray  
    OP
       2017-09-27 14:22:45 +08:00 via iPhone
    @xianji 美术人设海报类的我老婆帮忙画,其他游戏中的统统用的上面提到的美术工具自己撸
    ZzFoo
        52
    ZzFoo  
       2017-09-27 14:26:31 +08:00
    你发的那个 qq 群,不是专门给这个游戏用的啊?
    way2explore2
        53
    way2explore2  
       2017-09-27 14:29:50 +08:00
    @tyrealgray 其实我做的 2d,也考虑过 js。但因为想快速出原型⭕️,就用个顺手的 unity。

    也不再引擎了,用 js 做游戏,也是很有前途的,比如这个 https://generals.io
    dtysky
        54
    dtysky  
       2017-09-27 14:45:41 +08:00
    @tyrealgray

    和机能无关,和你的团队能力、可支配资源有关。。。
    没见过小团队用 UE4 的。。。以前试过,比起 U3D 还是不太好驾驭
    lancegin
        55
    lancegin  
       2017-09-27 14:49:44 +08:00
    本来颇有兴趣的加了群,看到一堆的招聘广告,秒退。
    bramblex
        56
    bramblex  
       2017-09-27 14:57:27 +08:00
    话说,其实话说其实如果换成 typescript 我倒是蛮有兴趣的哎。
    1306015093
        57
    1306015093  
       2017-09-27 15:08:15 +08:00
    看起来很高端的样子……
    tvallday
        58
    tvallday  
       2017-09-27 15:09:56 +08:00
    @way2explore2 这个也太无聊了吧。
    tyrealgray
        59
    tyrealgray  
    OP
       2017-09-27 15:10:15 +08:00 via iPhone
    @lancegin 建群数量用光了,v 友刚刚帮忙建了一个。不过游戏开发群发招聘怎么全是广告呢🤔
    tyrealgray
        60
    tyrealgray  
    OP
       2017-09-27 15:11:27 +08:00 via iPhone
    @tyrealgray 算是,打错了,招聘不算广告吧
    zhouyg
        61
    zhouyg  
       2017-09-27 15:33:32 +08:00
    很巧,之前做了一个 Pixi 相关的 web 可视工具,合成素材,搭建场景之类的
    rink00
        62
    rink00  
       2017-09-27 15:46:13 +08:00
    我之前做过一个集换式卡牌的手游,上线了没更新过就水了
    allgy
        63
    allgy  
       2017-09-27 15:47:31 +08:00
    @tyrealgray 建议上 TS,项目大起来好维护
    newtype0092
        64
    newtype0092  
       2017-09-27 16:10:13 +08:00
    加群围观下~
    YyYyYyy
        65
    YyYyYyy  
       2017-09-27 16:12:38 +08:00
    @tyrealgray
    @dtysky

    居然出现了不做手游就不考虑 u3d 的言论!
    以前我也是很鄙视 u3d 的
    然而现在我会反手甩对方一脸奥里与迷失森林
    (╯°口°)╯(┴—┴
    tyrealgray
        66
    tyrealgray  
    OP
       2017-09-27 16:35:26 +08:00
    @YyYyYyy 因为 ue4 蓝图方便,可惜没有美术大佬 :P
    lancegin
        67
    lancegin  
       2017-09-27 16:59:32 +08:00
    @tyrealgray 建议建一个此项目专门的讨论群( or 其他),不然一进去就看到一堆无关的招聘广告(招聘当然算广告)
    lrh3321
        68
    lrh3321  
       2017-09-27 17:06:09 +08:00
    如果是 Unity 的话,我倒是有兴趣进群围观一下。
    ResidualSoils
        69
    ResidualSoils  
       2017-09-27 17:17:49 +08:00
    如果是 Unity 的话,我倒是有兴趣进群围观一下。
    corningsun
        70
    corningsun  
       2017-09-27 17:36:06 +08:00
    我试了下 LegendOfMountainSea

    发现玩不了啊,只有个后裔,没有太阳。。。

    是我启动方式有问题么?

    ![]( http://corningsun.qiniudn.com/blog/2017-09-27-093441.jpg-o)
    Thiece
        71
    Thiece  
       2017-09-27 18:08:32 +08:00
    之前和朋友做国 Qt+OpenGL 的沙盒游戏 https://github.com/giarld/DivineCraft
    emmmm,如果需要策划的话我倒是可以帮上点忙。
    tyrealgray
        72
    tyrealgray  
    OP
       2017-09-27 20:56:48 +08:00
    @corningsun 大哥,这不是在找人一起写么。现在就只完成了一点动画和输入检测而已。还有一堆东西要讨论。

    @Thiece 之前也试过用 QT 写我的第一个游戏,map 都是用的 Qt Designer 来做设计解决方案。最后卡在网络上了,当初才不到一年工作经验,弃坑了。
    skadi
        73
    skadi  
       2017-09-28 00:33:30 +08:00
    cpp 的话有兴趣
    i2y
        74
    i2y  
       2017-09-28 02:35:54 +08:00 via Android
    c 引擎的话感兴趣!打算自己撸一个!
    way2explore2
        75
    way2explore2  
       2017-09-28 02:51:16 +08:00
    @tvallday no no no 它的成功在于盯住了细分市场,多数人都不喜欢的游戏不代表游戏不好,我确实挺喜欢这个游戏的。
    tvallday
        76
    tvallday  
       2017-09-28 08:56:03 +08:00 via iPad
    @way2explore2 js 游戏都是 kill time 游戏,随时玩随时走人。如果想投入时间玩游戏就玩其他平台的了,玩起来带劲多了。
    arzusyume
        77
    arzusyume  
       2017-09-28 09:26:52 +08:00
    看起来很有意思, 先关注下看看有没有时间贡献点代码
    GeruzoniAnsasu
        78
    GeruzoniAnsasu  
       2017-09-28 09:57:44 +08:00
    cpp 的话 +1
    chenhaifeng
        79
    chenhaifeng  
       2017-09-28 10:10:39 +08:00
    我用 layaair
    Aladdin
        80
    Aladdin  
       2017-09-28 10:49:16 +08:00
    我歪个楼:
    现在研发圈主流交流是 qq 群么?还是微信群?
    leekafai
        81
    leekafai  
       2017-09-28 12:45:42 +08:00 via Android
    说 node 做游戏服务器不行的怕不是要做贪玩雷霆哦。
    node 不适合密集运算,但是你做个 socket 还是美滋滋的,如果用来做静态资源管理也很仙。
    所以不是 node 不行,而是你不行,你没找准 node 最好做什么,只是知道 node 能做什么。
    coding839
        82
    coding839  
       2017-09-28 15:36:56 +08:00
    等我考上公务员,我也自己开发一个游戏~~ 第一视角模式和上帝模式混合使用~题材是勇士征服大魔王
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   930 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:55 · PVG 04:55 · LAX 13:55 · JFK 16:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.