游戏开发入门 一游戏开发概述

1.游戏机发展

        20世纪70年代开始 首款主机magnavox odysse
        80年代 红白机
        80-90年代 各类非FC主机(PS,NDS等) PC单机游戏
        90年代-2000年 局域网对战游戏
        2000年后 大型多人游戏 页游 手游
        现在 VR,AR ..
2.游戏是如何开发出来的,开发流程是什么?
        原始的游戏比较粗糙,内容也很少,一般就一个人开发,美术与策划都由自己完成(建议看看《doom启示录》)。
        随着游戏逐渐变得复杂,需要多人去合作完成,分工也变得明显。简单的流程如下:

        a.首先讨论确定游戏的基本内容,类型等,对游戏项目立案
        b.程序员构建最基本的游戏框架,单机还是网游,什么平台(在当前,某些非常简单的游戏demo也可以跳过编程,直接使用游戏引擎)
        c.策划对游戏细节进行设计与构建(包括剧情,玩法,关卡,数值,系统等)
        d.美术需要根据当前策划设想的游戏世界,提供合适的艺术效果(包括原画,模型,特效,UI,动画,场景等)
        e.程序,美术,策划三方不断的相互沟通完善游戏内容并不断的测试调优(这是最为耗时的一个流程) 注意:这里策划不仅仅是思考游戏的玩法,还需要将程序员留出来的接口做各种配置,因为项目的需求变化过于频繁
        f.游戏内容基本完成后,需要质检等人员开始测试,程序员修复Bug
        g.游戏经过一定测试后,发布。同时交由运维人员做基本的维护,发布前期一定有bug,还需要各个职能人员互相配合
2.开发游戏需要哪些技术?

        a.作为一个程序员需要的基本素质:包括掌握基本语言编程,深入了解语言特性,了解计算机相关基础,设计模式等 其实就这一块很多人就很难达标,不过我们可以在做游戏的同时提升自己的功底
        b.构建一个游戏需要了解不同平台的相关技术,但一般不需要太深入
        c.需要有一定的引擎知识,尽可能熟悉引擎各个功能的使用
        d.常见的脚本技术(lua等)
        e.随着3D游戏的发展,需要对图形图像知识有一定深度的理解(涉及到数学,非常复杂与庞大的模块)
        f.网络游戏需要掌握基本网络基础知识(TCP/IP,Socket,Http),了解同步机制
        g.动画技术
        h.了解会使用物理引擎
        i.基本的场景管理技术
        j. AI相关技术,游戏中大部分的AI还是比较简单的,不需要机器学习
3.程序员一般负责的内容是什么?

        a.实现策划需求(大部分是逻辑需求)
        b.提供内部工具,加快开发。比如当前引擎不支持某种NPC对象的高亮显示,无法拖拽资源到游戏里面等功能,需要程序员提供 提高开发效率
        c.修复Bug
        e.优化体验,也就是常说的性能优化,提高帧率,减小内存开销等等
目前规模较大的公司,程序员也分为多种(一般分为逻辑程序员和引擎程序员),所完成的内容也有差别。
        逻辑程序一般属于频繁与策划沟通,直接对项目需求进行开发的程序
        引擎程序一般是研究引擎功能,优化引擎(提示表现,提高性能等),不过这也并不是绝对的。

4.如何入行游戏(建议)

        a.夯实基础(语言,数据结构,算法,网络,操作系统,图形学等)
        b.对游戏开发有一个基本的认识,建议可以先根据我的文章讲解看一遍这个系列的视频(遇到不懂的名词就去查,就去研究), 然后通读一遍游戏引擎架构
        c.实践!选择一个游戏引擎然后动手开发游戏demo,参考其他游戏demo,尽可能的应用学过的游戏知识。多思考,多理解
        d.想办法进入业界,从项目中吸取知识。如果有机会的话(应届生机会比较多),只要程序基础够也是可以加入该行业的
5.新手与真正开发者的差距有哪些?
        最多的就是经验了,前面提到的技术都是概括性的,每个方面深入进去都是无限的坑。新手一般只会用而不懂为什么这么用, 真正有经验的开发者不仅会用,甚至可以模仿出来一套几乎相同的框架并完善,遇到问题也有更多的解决思路与方案。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapObject(简称MO)是一种用于开发GIS应用程序的可视化编程组件,可以在VB、VC、Delphi、C#等开发环境中使用。其主要功能包括地图显示、地图浏览、地图查询、符号绘制、地图分析等。 MO的核心是Map对象,它代表了一张地图。Map对象包含了地图数据、地图的显示方式、地图的空间参考等信息。在MO中,地图数据通常以Shapefile格式存储,可以包括点、线、面等空间要素。 MO的编程模型是基于事件的,即程序通过响应组件的事件来完成操作。例如,当用户在地图上点击时,会触发Map控件的MouseDown事件,程序可以在该事件中编写代码来响应用户的操作。 MO的程序设计入门可以从以下几个方面来学习: 1. 创建地图控件:在VB、VC等开发环境中,可以通过向窗体添加Map控件来创建地图控件。在Delphi中,需要在窗体上添加一个TMapControl控件,再通过代码创建Map对象并将其与TMapControl关联起来。 2. 加载地图数据:可以使用Map对象的AddLayer方法,将Shapefile文件加载到地图中。加载后,可以设置要素的显示方式、标注等属性。 3. 地图操作:可以通过Map控件提供的方法,实现地图的缩放、平移、旋转等操作。例如,可以通过调用Map控件的ZoomIn方法实现地图放大,通过调用Map控件的Pan方法实现地图平移。 4. 地图查询:可以使用Map对象的SelectByShape方法,根据指定的查询条件进行地图查询。查询结果可以在地图上高亮显示。 5. 符号绘制:可以使用Map对象中的Symbol对象,绘制点、线、面等符号。例如,可以使用Symbol对象的DrawPoint方法,绘制一个点符号。 以上是MO的一些基础概念和编程入门,希望可以帮助你进行MO的学习和应用开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值