V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
fengyouming
V2EX  ›  游戏开发

开发一款仙侠类小游戏 求建议

  •  
  •   fengyouming · 2023-11-03 09:53:39 +08:00 · 3122 次点击
    这是一个创建于 415 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司打算开发一款仙侠类小游戏。就刷怪、排行榜、聊天室之类的 后端用 java 或 node.js 前端:可能用 canvas 吧 不太确定 我是主要做后端开发 用 java ok 吗?

    58 条回复    2023-12-13 15:45:13 +08:00
    codeself
        1
    codeself  
       2023-11-03 10:03:24 +08:00 via iPhone   ❤️ 1
    你们没了解过 unity ,cocos ,白鹭引擎之类的吗?
    难不成打算基于 canvas 丛 0 开始撸?😂
    zyxk
        2
    zyxk  
       2023-11-03 10:05:10 +08:00
    可以,问下,是不是只要是游戏都申请版号,哪怕一个最简单的五子棋之类,那商店里的游戏都有吗?
    zuosiruan
        3
    zuosiruan  
       2023-11-03 10:05:36 +08:00 via iPhone
    @codeself 小游戏就 layabox cocos 吧。白鹭早倒闭了
    pkxutao
        4
    pkxutao  
       2023-11-03 10:05:38 +08:00
    看你这意思,你们公司没有任何游戏开发经验吗?现在不用引擎从 0 撸这么多年我也就在毕业时室友做的毕设时见过
    xhyrzldf
        5
    xhyrzldf  
       2023-11-03 10:06:15 +08:00
    用 unity 啊 c#和 java 差不多的 不要再瞎搞了呀楼主
    assiadamo
        6
    assiadamo  
       2023-11-03 10:06:48 +08:00
    微信或抖音小游戏吗,需要用微信或抖音提供的开发套件
    assiadamo
        7
    assiadamo  
       2023-11-03 10:08:01 +08:00
    @zyxk 国内上架就要版号,如果是那种看广告的小游戏也要申请个东西,不然没有广告收入
    sunny352787
        8
    sunny352787  
       2023-11-03 10:12:11 +08:00
    用 Java 可以,选你擅长的就行
    更重要的是通讯,需要全程 websocket 还是 get/post 就全搞定了还是搭配着来
    先确定有没有一定要后端往前端主动推送的内容,除了跑马灯公告和聊天等功能,大部分逻辑都只需要按时间前端主动拉取,如果只有 get/post 那开发也简单很多
    fengyouming
        9
    fengyouming  
    OP
       2023-11-03 10:12:17 +08:00
    @pkxutao 对没有任何开发经验😂
    fengyouming
        10
    fengyouming  
    OP
       2023-11-03 10:13:12 +08:00
    @codeself 没有啊。完全 0 经验
    fengyouming
        11
    fengyouming  
    OP
       2023-11-03 10:15:37 +08:00
    @sunny352787 java 和 node.js 我都 ok 。但是游戏方面是 0 经验 发愁不知道咋开发
    XSDo
        12
    XSDo  
       2023-11-03 10:17:19 +08:00
    不是游戏公司 开游戏项目? 好多坑等着踩,服务端语言不重要
    elonlo
        13
    elonlo  
       2023-11-03 10:18:18 +08:00
    是新手没想到这么新,你随便 google 一下游戏引擎都可以了解到很多,也没有人会告诉你基于 canvas 去撸啊。你小游戏可以看看 cocos2dx ,后面用 lua 开发,大一点的用 unity ,一两个月就入门了
    fengyouming
        14
    fengyouming  
    OP
       2023-11-03 10:18:41 +08:00
    @XSDo 是的 我也觉得很多坑要踩。没得办法 哎
    danbai
        15
    danbai  
       2023-11-03 10:18:44 +08:00
    先学游戏引擎
    elonlo
        16
    elonlo  
       2023-11-03 10:20:00 +08:00
    后端就是 socket 通信,用你顺手的就可以了
    Shiroka
        17
    Shiroka  
       2023-11-03 10:22:19 +08:00 via iPhone
    练手还行,专门做个项目感觉有点不太合适,抖音直播随便点一个都很有可能挂着这种仙侠游戏的广告 🫠
    XSDo
        18
    XSDo  
       2023-11-03 10:23:02 +08:00
    之前接手过一个写后台 get post api 经验 做的游戏服务端,所有业务都没有状态,直接 crud 做游戏业务,效率极端低下,然后前端协议 get post 请求直接加 balance ,导致前端的请求到后端之后无序,大改几轮才能正常运行。
    Norths
        19
    Norths  
       2023-11-03 10:24:31 +08:00
    为什么会突然想做一款游戏?就算是小游戏的开发也和普通的 web 开发是不同的逻辑方式,不说战斗系统各种系统了,还有美术数值策划界面动效这一堆都搞定了吗。但是看 op 说连 cocos 之类的引擎都没接触过的话,大概率会很花费时间精力一点一点去踩坑的
    wxw752
        20
    wxw752  
       2023-11-03 10:26:51 +08:00
    我自己写的小游戏,引擎用 unity ,后端 java 敲的主要是用的 netty 。c++我很菜 不然就用那个写后端了。
    codeself
        21
    codeself  
       2023-11-03 10:28:14 +08:00 via iPhone
    @fengyouming 那等你做出这个游戏,公司就已经凉了,考虑招熟手吧,你们这样搞,搞不出来的
    fengyouming
        22
    fengyouming  
    OP
       2023-11-03 10:28:58 +08:00
    @XSDo 我来开发的话 估计也就是 crud 了。。。。。。。
    fengyouming
        23
    fengyouming  
    OP
       2023-11-03 10:30:22 +08:00
    @Norths 公司所有人都没经验。。。。。 我来开发 感觉好难
    fengyouming
        24
    fengyouming  
    OP
       2023-11-03 10:31:01 +08:00
    @wxw752 厉害👍👍
    fengyouming
        25
    fengyouming  
    OP
       2023-11-03 10:31:44 +08:00
    @codeself 有别的项目盈利的。这个只是领导的一个规划 就是试试水 做做看
    sunny352787
        26
    sunny352787  
       2023-11-03 10:32:11 +08:00
    @fengyouming 首先,按现在的游戏开发方式,聊天(包括跑马灯公告)都通过第三方服务来处理,掏钱买服务接个 SDK 就行(毕竟牵扯到聊天内容审查,估计你们也没法自己搞 AI 审查),如果没有聊天只有跑马灯公告等你们能控制内容的推送,简单创建一个 websocket 连接处理这部分也可以。

    相对来说更重要的是,你们的游戏需要在地图里看到其他玩家跑来跑去吗?需要看到就要做同步,这部分就复杂很多,如果你们没做过的话这是个深坑,时间成本会很高。尽量别做这些,除非你们玩法是依托于玩家交互的。

    如果没有玩家交互的话,剩余的逻辑比如抽卡强化之类的偏单机玩法的通讯可以直接 get/post 搞定,简单方便。如果有交互的话,就全都走一条 websocket 连接,消息用 protobuf 还是 json 就看你们习惯了。

    至于其他的数据库操作啥的,就属于后端的基本功,而且一般都是很简单的 CRUD 就都搞定了,没啥可说的。
    XSDo
        27
    XSDo  
       2023-11-03 10:32:25 +08:00
    还有前端很多显示内容和图片 都是本地的游戏资源来的,不能设计成 web app 那样,通过接口获取一个图片 url ,商品详情 什么的来显示出来
    HFX3389
        28
    HFX3389  
       2023-11-03 10:32:45 +08:00
    @zuosiruan #3 看见白鹭就想起了各路传奇
    c2const
        29
    c2const  
       2023-11-03 10:32:46 +08:00
    没游戏开发经验的纯新手做商业项目,大概率是项目会被砍 :(

    ----------------------

    招聘人吧,而且得多招几个,还能解决一点点大陆就业问题 :)
    codeself
        30
    codeself  
       2023-11-03 10:34:07 +08:00 via iPhone
    @fengyouming 那这就算是别人花钱请你学习,不搞白不搞
    sunny352787
        31
    sunny352787  
       2023-11-03 10:35:02 +08:00
    @XSDo 无状态游戏服务器本身没啥问题,简单的抽卡游戏这么做开发效率也很高,你碰到的情况应该是服务端开发能力问题。
    fengyouming
        32
    fengyouming  
    OP
       2023-11-03 10:37:44 +08:00
    @sunny352787 好的 谢谢大佬 我想我明白了
    fengyouming
        33
    fengyouming  
    OP
       2023-11-03 10:39:00 +08:00
    @codeself 😂😂
    XSDo
        34
    XSDo  
       2023-11-03 10:40:36 +08:00
    @sunny352787 aws 有个游戏服务器框架也是全无状态 lambda 实现的,但系如果要全无状态,分布式的话,就要考虑分布式锁这些问题了,看业务本身吧,如果不是高频的业务,直接 crud 数据库应该可以,如果是高频的,偏向于玩家定时落库,业务直接内存操作就行。
    sunny352787
        35
    sunny352787  
       2023-11-03 10:41:52 +08:00
    @fengyouming 想明白决定不做了?😄
    fengyouming
        36
    fengyouming  
    OP
       2023-11-03 10:48:14 +08:00
    @sunny352787 不得不做。。。。。 估计就只按单机版本做
    sunny352787
        37
    sunny352787  
       2023-11-03 10:49:00 +08:00
    @XSDo 对,我这边搭的架子是用 redis 做的分布式锁,不过前端也做了消息顺序的处理所以锁冲突的几率非常低,本身游戏逻辑不是很复杂,数据库操作封装一下 redis 缓存 mongo 落地,同时在线几万人的情况下日常 QPS 就几百,redis 缓存都可以不用,撑过开服流量就行了
    arrhenius
        38
    arrhenius  
       2023-11-03 11:01:45 +08:00
    厉害,从零开始
    yngzij
        39
    yngzij  
       2023-11-03 11:11:36 +08:00   ❤️ 1
    厉害,贵公司半年可能没有产出。
    XSDo
        40
    XSDo  
       2023-11-03 11:14:05 +08:00
    @sunny352787 同时在线几万人 QPS 才几百,玩家在线干什么的。。。
    ygtq
        41
    ygtq  
       2023-11-03 11:20:40 +08:00
    nodejs 吧,效率高,开发快,这样项目挂得也快,省时间
    sunny352787
        42
    sunny352787  
       2023-11-03 11:22:58 +08:00
    @XSDo 一场战斗三分钟,这三分钟玩家就不需要通讯了呀,而且玩家也不是每时每刻都在抽卡强化,玩家没操作的时候就不要通讯。算下来一个玩家平均一分钟也不一定有一次通讯需求,聊天还甩给第三方 SDK ,邮件社交公会竞技场单独服务处理,逻辑服可不就没多少请求了╮(╯_╰)╭
    KING754
        43
    KING754  
       2023-11-03 11:48:33 +08:00
    coffeygao
        44
    coffeygao  
       2023-11-03 11:52:25 +08:00
    版号申请一年多哈哈哈,你可以写出来开源卖。类似今年最火的割草游戏。吃版权卖版权,用户只需要替换 UI ,人物形象即可。
    如果你打算自己开发自己上架自己运营。
    你会发现游戏需要的东西你办下来得一年多了哈哈哈
    lightjiao
        45
    lightjiao  
       2023-11-03 14:19:36 +08:00 via iPhone
    用 Unity ,然后客户端和服务端都用 C# ,或者都用 TS ,双端统一语言能省一万件事
    SoyaDokio
        46
    SoyaDokio  
       2023-11-03 14:47:07 +08:00   ❤️ 1
    什么神仙公司,发钱给员工练新技能(逃
    fengyouming
        47
    fengyouming  
    OP
       2023-11-03 15:38:12 +08:00
    @KING754 谢谢大佬
    fengyouming
        48
    fengyouming  
    OP
       2023-11-03 15:38:33 +08:00
    @coffeygao 没有支付功能 应该不需要版号吧
    fengyouming
        49
    fengyouming  
    OP
       2023-11-03 15:39:08 +08:00
    @SoyaDokio 😂😂
    nevermoreluo
        50
    nevermoreluo  
       2023-11-03 17:40:01 +08:00
    1. 不带付费的,走广告(参考羊了个羊)或者干脆不盈利的 不需要版号
    2. 从 0 手撸 canvas 基本不现实
    3. 什么语言什么框架不管后端还是前端,最好先确定游戏类型再说。不用版号的感觉就不要考虑什么多人在线行走交互的了(如果有多人同时在线的要求建议就不要考虑纯脚本了,个人比较倾向双端都 C#写着心智负担少,写写抗个几千人同时在线问题不大。或者用一些网络基础架构都用 c 写好了的库的也可以)
    4. 什么神仙公司,还招人吗, 没有搞过这东西要往大了搞,怕是几年都看不到成果
    fengyouming
        51
    fengyouming  
    OP
       2023-11-03 18:20:11 +08:00 via iPhone
    @nevermoreluo 谢谢,公司不招人。总共十来人的小公司,能弄多大啊!!!
    haodingzan
        52
    haodingzan  
       2023-11-03 18:43:40 +08:00
    去年中宣部对出版单位的会议上口头提过,仙侠类同质化过多,不再新增版号,存量审核完就没有了。今年还没开会,但仙侠类停审已经有很长一段时间了
    dongtingyue
        53
    dongtingyue  
       2023-11-03 18:47:25 +08:00
    感觉还是找个仙侠游戏来魔改比较快。
    4Each4
        54
    4Each4  
       2023-12-12 18:00:09 +08:00
    @lightjiao
    @nevermoreluo
    请问现在 C#做服务端还是必须部署在 win 吗?
    lightjiao
        55
    lightjiao  
       2023-12-12 19:24:28 +08:00
    @4Each4 跨平台了,随便用
    4Each4
        56
    4Each4  
       2023-12-13 10:00:42 +08:00
    @lightjiao 如果考虑百万日活,C# 和 Java 比性能如何? SpringBoot
    nevermoreluo
        57
    nevermoreluo  
       2023-12-13 15:20:25 +08:00
    @4Each4
    不要用什么 netfromwork, 用.Net core 6 以上就行 现在好像都 8.0 了

    之前的项目做过一些 netformwork 转 core 的工作,基本 99%的代码都是一样的
    以下几种不一样:
    - 很底层的 socket 接口部分参数( keepalive )不一样
    - 一些微软专有的框架 wcf 之类的, .Net core 是没有的,当时自己拿 grpc 替换掉了 wcf 实现的功能
    其他的都一样,开发在 win 上开发(别问,问就是关卡策划也写代码),部署在 linux 上一切正常
    nevermoreluo
        58
    nevermoreluo  
       2023-12-13 15:45:13 +08:00
    @4Each4
    说实话,考虑百万日活的前提是考虑游戏类型,到底是什么类型的游戏。
    网游吗能分场景服务吗,场景服务能自动扩容吗,角色服务有必要再拆分吗,彼此之间数据同步怎么做。
    或者不要考虑那么多,经典华夏滚服,几千人一个服务器,人满了开新的不好吗。。。

    说句不好听的,单纯论语言没啥用。。。
    c++嵌 lua 都被 lua 的 gc 坑过,真的要百万量级,还不分服应该是有点东西的。
    游戏服务其实不像传统 HTTP 服务,还是有区别的。而且有些实现也都不一样。
    比如网关服务(降低延迟分发用户),角色服务(角色逻辑),场景服务(场景交互逻辑),数据服务(数据逻辑)等等。

    想清楚要干啥,或者找个一样游戏类型的人问下
    真的考虑百万日活,棋牌游戏,网游,页游,这些架构上可能就不一样。

    最后:
    别想太多,轻装上路,我们的征途是星辰大海。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2638 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 07:12 · PVG 15:12 · LAX 23:12 · JFK 02:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.