精华内容
下载资源
问答
  • 其实游戏开发本质上是软件开发的一种,因为游戏开发也需要用编程语言。这两者之间的区别就是侧重点不同,一个游戏开发出来实际上也是一款软件,如果你认为软件开发游戏开发是两种,那么我的观点是是前端的不同,...

    其实游戏开发本质上是软件开发的一种,因为游戏开发也需要用编程语言。


    这两者之间的区别就是侧重点不同,一个游戏开发出来实际上也是一款软件,如果你认为软件开发跟游戏开发是两种,那么我的观点是是前端的不同,后端都是实现一些逻辑的功能。


    软件开发



    无论是桌面应用程序、Web应用、游戏亦或是手机APP,都属于软件开发的范畴。桌面应用程序比如网易云,浏览器等等,一般多用C#写界面,看起来会更加友好。Web应用的前端是html、css和JavaScript结合实现,手机APP则是Android、object-C、Kotlin,当然H5也可以开发APP。nainaitea.com


    服务器端则是你擅长的语言去实现逻辑功能,并不是说我一定要利用java实现或者利用PHP实现,只要前后端统一好API接口,明确数据传输的格式等等。



    游戏开发


    游戏开发是软件开发中比较特殊有一类。如果你一直从事的都是游戏开发,那么你后面如果想再转别的方向其实不太好转。现在很多团队在开发游戏时都会使用游戏引擎,在游戏引擎的基础之上再利用编程语言进行开发。


    比如虚幻四引擎支持C++、JavaScript、C#进行开发,小米枪战就是用虚幻四引擎开发。unity3D引擎支持JS、C#进行游戏的开发,cocos2d支持C++、lua和JavaScript开发游戏。看来游戏引擎对JavaScript语言比较友好。



    我学习过一段时间unity3D引擎开发游戏,开发过一些简单的小游戏。以坦克大战为例,把地图、树、地形等设计好之后,把一个坦克模型放进地图中,利用C#编程控制这个坦克,当然你得手动设置一些地方,不过我现在忘记了。这样就不需要想app一样写个前端,只需要代码控制各个组件即可。

    展开全文
  • 这些都不是最关键的,主要是mmo项目开发周期比较长,我很担心项目万一又出状况,到时候出来重新找工作,我是该做软件开发呢,还是游戏开发呢?做游戏开发的话,我所在的城市能提供的岗位真的少的可怜(不搞棋牌),...

    有问有答是程序视界的一个免费问答栏目,感兴趣的朋友,可以按照下面的方式参与:


    1. 发邮件给 foruok@163.com,标题注明“有问有答”。

    2. 描述你的困惑或者问题。


    我每周会慎重回答一个问题并整理成文章,(周四晚上)发布在订阅号程序视界内。


    640?wx_fmt=png


    安老师,您好!


    我是您的忠实读者,一路过来在您这收获颇多,感谢!


    最近有个职业选择的困惑,想向您请教下。我的基本情况是这样的:


    本人今年27岁,目前在家乡二线省会,准备定居发展。从14年毕业到去年下半年,都是做的javaWeb和企业开发。因为个人兴趣原因和一些机缘巧合,17年年底到了一家游戏公司,从项目立项到临近上线,996坚持了有小半年吧,可是临上线因为投资方决策原因,把项目砍了。项目组裁员,出来到各大招聘渠道找了一圈,除了棋牌,其他的游戏服务器岗位(非主程)就三个,综合考虑最后去了一家上市公司,干回老本行了。


    前几天,我们之前的游戏项目程序老大拉到投资重启了项目,叫我过去,可是由于之前的项目被砍经历,我有点犯难了。


    我现在的工作,是在一家A股上市软件公司,公司市场占有率不错,效益稳定,双休不加班,工作强度也不大,总的说就是稳定,有保障,但是晋升空间和技术提升空间有限(属于传统软件开发)。


    游戏项目的话,因为大家对游戏都很有兴趣,价值观比较统一,除了工作,大家私底下生活方面也是一起玩的,总之是一个有点情怀,氛围不错的团队。但是搞游戏通病,说是码农里最苦逼的也不为过吧,加班比较多,尤其上线以后。这些都不是最关键的,主要是mmo项目开发周期比较长,我很担心项目万一又出状况,到时候出来重新找工作,我是该做软件开发呢,还是游戏开发呢?做游戏开发的话,我所在的城市能提供的岗位真的少的可怜(不搞棋牌),又干回老本行的话,也没啥竞争力了。


    总的来说,就是现在做的软件开发,心里不是特别喜欢,不过工作和待遇稳定,有点养老状态的意思。游戏开发是我心里喜欢的,不过加班比较严重,而且可能非常不稳定,有的人到处漂泊干了好多年都没个成功的项目。不过职业成就感强,做成一款小有名气的产品的话,发点小财也是没问题的。


    现在内心在纠结,安老师,请问下我该如何选择呢?


    您的读者:阿维。


    640?wx_fmt=png


    阿维,感谢你的信任,面临这么重要的选择时来征求我的意见。


    我们分析下游戏开发这个选择。


    目前国内游戏开发环境比较好的城市,有 5 个:


    1. 北京,知名游企有完美世界、金山、畅游、天神互动、昆仑万维等。

    2. 上海,知名游企有盛大、九游、巨人、心动网络、BILIBI等

    3. 广州+深圳,知名游企有腾讯、网易、金山西山居、第七大道、网域、千峰云起、中青宝、星辉等。

    4. 杭州,知名游企有网易、电魂、美盛、斯凯、泛城、边锋网络、畅唐科技等。

    5. 成都,知名游企有腾讯、巨人、西米互动、雨墨科技、尼毕鲁等。


    我们要想在一个领域有好的发展,通常要到该领域发展比较好的城市,因为只有在产业发展迅速、生态建设完善的地方,你才有更多的机会,你才能获得更大的成长,最终也可能获得更多的回报。


    所以从这个角度讲,你所在的那个城市,没什么游戏企业,游戏产业整体发展滞后,如果你进入到这样一个领域,想谋得好的发展,基本等于撞大运。而如果你在这样的产业环境下进了一个其实没什么前景的游戏项目,结局铁定是悲惨的。(我判断你原来参与的游戏项目,前景不大,否则投资人不会撤资、再融资也不会那么难。)


    如果你做游戏的心非常强烈,不做感觉生活就没什么乐趣,那就离开你所在的二线省会,到北京、上海、深圳这些游戏产业发达的地区去淘金。否则,那就留在你现在的传统软件公司,看看在公司内怎么样获得好的发展,慢慢成为骨干,成为核心。


    至于晋升空间和技术提升空间,我相信一定是有的,关键是:你愿不愿意去找。假如你愿意可以看看你的岗位上有哪些东西可以做得更好,看看你所在团队里什么岗位是核心,看看你们公司哪些产品是核心,从这些方面,一定可以找到努力方向和提升空间。


    话说回来,如果你实在想做游戏又不想离开当前的城市,也可以考虑一个折中选择:留在现有公司,业余时间参与到原来游戏项目中。这样可以获得一个平衡。



    关于Offer选择,我曾经讲过一个知乎Live,感兴趣的可以戳阅读原文了解。

    展开全文
  • 区块链软件开发区块链游戏开发NFT游戏开发元宇宙游戏模板搭建 每个NFT游戏都有设计师,设计师是元宇宙的创造者、数字身份的数据中心游戏资产的“中央银行”。去中心化游戏如果完全脱离任何集体治理,将会陷入混乱...

    区块链软件开发区块链游戏开发NFT游戏开发元宇宙游戏模板搭建
    每个NFT游戏都有设计师,设计师是元宇宙的创造者、数字身份的数据中心和游戏资产的“中央银行”。去中心化游戏如果完全脱离任何集体治理,将会陷入混乱,因此去中心化的游戏仍需要设计师来维护秩序。要保证游戏的秩序,要么让游戏设计者拥有一定程度的权威,要么为社区创建共识机制。NFT的创建与初始代币发行(IC0)相似,可以通过结构良好的指标来保护实际所有权。

     

    所有权的执行将衍生出另一个问题——如何管理资产供应。稀缺性对于任何NFT资产来说都是至关重要的。如果其他团队可以轻松制作副本以供转售,那么仅依靠智能合约并不足以保护所有权。

    这又回到了游戏设计师身上。提前设定一个有限的数字以防止通货膨胀,并建造护城河来减小仿盘可能带来的冲击。简而言之,设计师可以扩展玩家管理系统并集中管理资产所有权,或者开始允许玩家使用区块链和私钥进行自我控制。

    市场是NFT集成的核心。刚刚说过NFT的创建类似于IC0,所以需要二级市场促进资产交易和流通。二级市场延长了游戏的生命周期,这对游戏设计来说是有利的。游戏设计师还可以通过智能合约,从NFT的每次易手中获得分成。

    设计师可以创建一个独家交易市场或使用第三方市场,或两者兼而有之。每种选择都有其优缺点。例如,自建交易平台可以为玩家提供更好的用户体验,但是将增加维护成本,技术支持至关重要,因为游戏中会产生大量交换。
     

     

    展开全文
  • 软件开发常用图标大全

    热门讨论 2015-05-20 15:02:36
    软件开发常用图标大全,很多图标开发过程中都能够使用到,方便,避免了找图标的麻烦
  • 没错,正如标题所言,我使用了三天时间开发了一款国民级游戏,说这款游戏是国民级游戏,而且是老少皆宜的国民级游戏,一点都不为过,支持背景音乐,值得收藏

    大家好,我是冰河~~

    没错,正如标题所言,我使用了三天时间开发了一款国民级游戏,说这款游戏是国民级游戏,而且是一款老少皆宜的游戏,一点都不为过,为啥这样说呢?因为我开发的这款游戏是——中国象棋!

    注:项目可以直接运行,可直接用作毕业设计,项目中使用了Java的基础数据结构和算法,也可以作为学习Java编程的入门项目,支持播放音乐,建议收藏!

    先来说说我为啥要开发这么一款游戏呢?因为我喜欢下象棋吗?不是,我下象棋的水平很菜的,下象棋讲究策略,而且要走一步,想三步那种,而且还要思考对方的走法。而我,这些完全看不出来,所以,如果我跟其他小伙伴下象棋的话,基本就是被虐的那种。那我是为啥要开发这款游戏呢?其实,我开发这款游戏是为了巩固下自己对于数据结构和算法的掌握,经过三天的时间,从调研到测试完成,不仅把这款游戏做出来了,而且还把一些基础的数据结构和算法复习了一遍。

    好了,说了这么多,我们还是看下这款游戏吧。首先,我们来看下这个游戏项目的项目结构。

    在这里插入图片描述

    这里,我创建的是一个Maven项目,如果对Maven项目部署的小伙伴,可以看下我在CSDN上写的【精通互联网工程系列】文章。从图中可以看出,这款游戏是支持背景音乐的。

    接下来,我们看下代码结构。

    在这里插入图片描述

    对于棋子的实现类和接口的关系如下所示。

    在这里插入图片描述

    接下来,我们再看下Chess接口的核心定义。

    package io.binghe.chess.piece;
    
    import java.awt.*;
    
    /**
     * @author binghe
     * @version 1.0.0
     * @description 基础的棋子接口
     */
    public interface Chess {
    
        /**
         * 检查落子是否合法
         * @param map 地图
         * @param currentRow 当前棋子的行号
         * @param currentColumn 当前棋子的列号
         * @param toRow  移动的目标行号
         * @param toColumn  移动的目标列号
         * @param isBlack 是否为黑方棋子移动 传true 否则传false
         * @return 如果合法,返回true, 否则返回false
         */
        boolean check(int[][] map,int currentRow, int currentColumn ,int toRow, int toColumn, boolean isBlack);
    
        /**
         * 返回类型
         */
        int getType();
    
        /**
         * 返回名称
         */
        String getName();
    
        /**
         * 返回颜色信息
         */
        Image getImage(boolean isBlack);
    }
    

    关于实现类,我们就查看下兵和卒的棋子实现类,其他实现类,小伙伴们自行查看项目源码。

    package io.binghe.chess.piece.impl;
    
    import io.binghe.chess.piece.Chess;
    import io.binghe.chess.utils.ImageTools;
    
    import javax.swing.*;
    import java.awt.*;
    
    /**
     * @author binghe
     * @version 1.0.0
     * @description 士兵与卒的棋子
     */
    public class SoldierChess implements Chess {
    
        @Override
        public boolean check(int[][] map, int currentRow, int currentColumn, int toRow, int toColumn, boolean isBlack) {
            int columnDistance = toColumn - currentColumn;
            int rowDistance = toRow - currentRow;
            //黑色棋子
            if(isBlack){
                //当前棋子未过河,只能向下移动一格
                if(currentRow <= 4){
                    //如果是向下移动一格,则返回true,否则,返回false
                    return (columnDistance == 0 && rowDistance == 1);
                }
                //当前棋子已经过河
                columnDistance = Math.abs(toColumn - currentColumn);
                //如果当前棋子已经过河,则前进一格,可以横向移动
                boolean success = (columnDistance == 1 && rowDistance == 0) || (rowDistance == 1 && columnDistance == 0);
                //如果不是向下,向左或向右移动,则失败
                if(!success){
                    return false;
                }
                if(map[toRow][toColumn] == 'G'){
                    JOptionPane.showMessageDialog(null, "黑方胜利!");
                }
                return true;
            }else{  //红色棋子
                if(currentRow >= 5){  //红色棋子未过河
                    //红色棋子未过河,只能向上走
                    return (columnDistance == 0 && rowDistance == -1);
                }
                //当前棋子已经过河
                columnDistance = Math.abs(toColumn - currentColumn);
                //红卒过河后向上、向左、向右移动
                boolean success = (columnDistance == 1 && rowDistance == 0) || (rowDistance == -1 && columnDistance == 0);
                if(!success){
                    return false;
                }
                if(map[toRow][toColumn] == 1000 + 'G'){
                    JOptionPane.showMessageDialog(null, "红方胜利!");
                }
                return true;
            }
        }
    
        @Override
        public int getType() {
            return 'A';
        }
    
        @Override
        public String getName() {
            return "卒";
        }
    
        @Override
        public Image getImage(boolean isBlack) {
            return ImageTools.loadImage(isBlack?"black_soldier.gif":"red_soldier.gif");
        }
    }
    

    其他棋子的实现类,小伙伴们自行查看源代码吧。

    接下来,再看看运行效果,下载源代码之后,运行io.binghe.chess.starter包下的ChessStarter类,一个完整的棋盘就呈现出来了,注意:需要点击“新游戏”方可开始。

    在这里插入图片描述

    红方胜利。

    在这里插入图片描述

    点击新游戏,又会呈现出新摆好的棋盘。

    在这里插入图片描述

    不玩了,退出游戏。

    在这里插入图片描述

    可以看到,实现了中国象棋的整体功能。

    建议小伙伴们自行下载源代码学习,这个项目可用作毕业设计,项目中使用了Java的基础数据结构和算法,也可作为学习Java的入门项目。

    说了这么多,该如何下载这款游戏的源码呢?这款游戏的源码我已经上传到CSDN啦。

    https://download.csdn.net/download/l1028386804/18150516

    也上传到我的百度网盘啦。

    链接:https://pan.baidu.com/s/11K0WtGIYoepRj3LsXu73dQ
    提取码:5v8v

    好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,一起交流技术,一起进阶,一起进大厂~~

    展开全文
  • 软件开发合同模板范本

    万次阅读 2018-08-23 10:17:48
    其它《软件开发合同模板范本》下载链接: https://download.csdn.net/download/daqiang012/10621400 合同编号:_________甲方(委托人):_________ 法定住址:_________ 法定代表人:_________ 职务:________...
  • 软件开发方法 软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。 结构化方法 结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析...
  • 软件开发常见的开发方向

    千次阅读 2019-05-11 16:01:58
    说起软件开发,现在是无人不知,无人不晓。好多人可能以为软件开发就是做一样工作的,其实不然,软件开发也分很多种类型,很多方向。做为一个过来人,简单介绍一些常见的开发方向。 1.桌面程序:Java、C++、C#、VB、...
  • 从RTS游戏看游戏开发

    千次阅读 多人点赞 2018-11-25 00:14:13
    游戏最大的魅力就是,很多开发的道理,往往要以几年为周期才能有深刻认识,但是游戏打个几周便有同样的认识了。 好想憋大舰去扫荡啊!! 直接憋终极兵种,一路扫荡,这应该是早期的很多rts玩家爱用的套路。 而且...
  • 随着文化认同愈渐凝聚在数字化载体上,数字世界对人性的各类需求的满足能力也在提升,人们可以在虚拟空间内进行足够丰富的经济活动文化活动时,一个新的与世界交互的方式也产生了,即元宇宙。 元宇宙:构建在...
  • 游戏公司架构和游戏开发流程概述

    万次阅读 多人点赞 2018-07-12 16:56:16
    【基本概念】游戏公司一般是指游戏开发公司或游戏发行、代理公司。那游戏公司开发游戏需要哪些技术人员?简单的说:需要游戏造型、游戏动画、3D美工、纹理师、原画设计师、建模师、UI制作、手游程序员、网游程序员...
  • 计科专业毕业从事软件开发,也有硬件工程师打交道,从人员数量相比硬件工程师软件工程师无法比较。毕竟硬件主要在开始阶段,一旦可以用了后续人手会少许多,其实单纯的比较软件硬件没有多大的意义,任何一种...
  • NFT游戏开发游戏源码搭建CryptoBlades建造游戏定制 CryptoBlades(SKILL)是币安智能链上的NFT角色扮演(RPG)游戏. 玩家选定一个角色后,通过强化武器来打怪升级,从而获取收益。 玩家可以通过SKILL通证来获取角色、...
  • NFT游戏开发NFT游戏平台模板搭建NFT平台定制开发MOBOX:NFT Farmer游戏开发 《MOBOX:NFT Farmer》并不像其字面所言是农场经营类游戏,事实上这同样是一个围绕MOBOX代币而建成的游戏平台。游戏中的主角是被称为MOMO的...
  • 个人游戏程序开发总结

    万次阅读 2019-02-19 02:15:16
    个人游戏程序开发总结个人背景游戏行业的个人分析1年培训总结第一份工作总结第二份工作总结 ...学习了一年的c++游戏开发,之后开始正式踏入游戏行业的道路. 游戏行业的个人分析 游戏行业就个人所感...
  • 敏捷软件开发.pdf

    热门讨论 2012-04-13 17:12:02
    目录  译者序  第2版前言  第1版前言  第0章不可知不可说 ... 附录Aa敏捷软件开发宣言相互依赖声明  附录BNaur、Ehn、宫本武藏  附录BaNaur、Ehn、宫本武藏:演进  附录C后记  参考文献
  • [棋牌游戏开发] 如何进行纸牌游戏开发是困扰很多人的问题。当第一次开发棋牌游戏时,每个人都会遇到各种各样的问题。没关系。下面,吉锐游戏小编将为您全面介绍棋牌游戏的发展过程,以及涉及的各个方面。 阅读本文后...
  • 棋牌游戏开发的几个步骤

    万次阅读 2019-04-10 11:16:38
    首先,一款好的棋牌游戏,棋牌游戏的容量不能很大,而且为了以后能让用户在不用重新下载游戏的情况下更新客户端(熟称热更新),一般公司都会将一些美术资源做成AssetBundle,这样既减少游戏本身大小,又可以动态去...
  • 视频链接:游戏开发入门(十)游戏中的网络模块(6节课 时常:约2小时20分钟) 上一节主要针对网络同步的细节与手段进行分析与讲解,这一节除了对一些常见的同步应用场景作解释外更多的会针对偏底层一些的网络内容...
  •  软件开发方法是软件开发的方法学,通过软件开发方法研究,提高软件的质量、降低软件的成本。  软件开发方法包括:软件生命周期、软件开发模型、软件重用技术、逆向工程及形式化开发方法 一、软件生命周期  ...
  • 本课程以实战为主,游戏中需要什么功能,我们就讲解相应的知识点,这样学到的知识会马上用起来也就不会枯燥... 购买了本课程,可以在课件下载一栏,下载本课程中所用到的软件开发的安装包,每一课时相关的完整项目。
  • 游戏开发工具,让你事半功倍!

    千次阅读 多人点赞 2018-08-17 15:46:26
    该文章涉及许多工具,如果是萌新,推荐使用一些比较热门教上手的工具学习,比如美术向-模型方向,推荐使用3DSMAXMaya;2D游戏引擎推荐使用RPGMaker,如果会C++语言,推荐使用cocos2d,会C#可以使用unity3D;3D引擎...
  • 游戏产品开发流程

    千次阅读 2019-08-12 17:24:05
    游戏产品开发流程 通常开发一款新游戏大体上会按照如下流程来进行: 1)概念阶段– Concept 主策根据产品创意,确定游戏策划草案,包括游戏的形态、游戏概述、游戏核心玩法、市场定位、特色及卖点等。然后,...
  • 本课程以实战为主,游戏中需要什么功能,我们就讲解相应的知识点,这样学到的知识会马上用起来也就不会枯燥... 购买了本课程,可以在课件下载一栏,下载本课程中所用到的软件开发的安装包,每一课时相关的完整项目。
  • 软件开发的8大主流方法介绍

    万次阅读 2018-11-20 11:21:35
    软件开发方法是一种使用早已定义好的技术集及符号表示习惯,来组织软件生产的过程。 软件开发需要严谨工作方法。软件开发的方法有很多,不同的开发方法适用于不同的软件项目,具体使用哪种方法,还需要根据软件情况...
  • 游戏开发入门(二)游戏中的设计模式

    万次阅读 多人点赞 2018-01-17 22:02:52
    视频链接:游戏开发入门(二)游戏中的...游戏开发是一个软件工程,他的特点是需求极易变化。对于任何一个软件工程,我们要从代码的组织方式上来提高其可读性(别人也很容易理解),安全性(不能经常出bug),易用...
  • 游戏开发防作弊以及原理

    万次阅读 多人点赞 2019-06-27 17:42:27
    如何防作弊在游戏开发中还是占蛮重的比例的,这也涉及到游戏盈利的问题,如果不做防作弊措施,或许我们开发出来的app当前上线或许第二天就出破解免费版了,这个事情我亲身经历过,当然这是基于app做的比较好被外挂...
  • C++游戏服务器开发常用工具介绍在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用。庄子有云,“吾生也有涯,而知也无涯,以有涯随无...
  • 游戏开发流程-微信小游戏(含源码)

    千次阅读 多人点赞 2019-07-26 15:19:49
    我也是一个新手,但是我很想体验游戏开发的整个流程,所以,一切从零开始,也饶了很多弯路,但是一步一步走下来,你会体会到其中的乐趣,过程最重要。 今天,我就简单分享一下做游戏的流程,如有描述不当...
  • 软件开发项目报价单标准模版

    千次下载 热门讨论 2011-07-08 21:57:37
    标准化的软件项目报价单模版吗,项目费用标注详细

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 250,497
精华内容 100,198
关键字:

游戏开发和软件开发