开发编码格式

As a game enthusiast and a beginner programmer, I always wonder what it would be like to develop a game?

作为游戏发烧友和初学者程序员,我总是想知道开发一款游戏会是什么样?

What really grabs my attention is, how the game is developed and what role a software engineer plays in the process?

真正吸引我注意的是,游戏的开发方式以及软件工程师在此过程中扮演的角色?

In the early 1970s to mid-1980s, when video games were becoming popular, a programmer was responsible for both programming and design of the game. That was because early computers were limited and having a graphic designer was not necessary. Later when computers became more powerful, game development was expanded to more specific areas, and developers were able to add more depth into a game.

在1970年代初期至1980年代中期,当视频游戏开始流行时,程序员负责游戏的编程和设计。 那是因为早期的计算机是有限的,并且没有图形设计师的必要。 后来,随着计算机功能的增强,游戏开发扩展到了更特定的领域,并且开发人员能够为游戏增加更多的深度。

In general there are three main stages into game development, and programming still has its own place at the very core of this process. Here I emphasize more on areas where software engineers and developers are playing an important role.

一般而言,游戏开发分为三个主要阶段,而编程仍然是该过程的核心。 在这里,我将重点介绍软件工程师和开发人员正在发挥重要作用的领域。

预生产 (Pre-production)

Like any other production, game development also begins with pre-production. The development team decides what the game is about, who is the audience, how long will it take, what resources and staff are required and what is the estimated budget?

像任何其他作品一样,游戏开发也从预制作开始。 开发团队决定游戏的内容,受众是谁,需要花费多长时间,需要哪些资源和人员以及预计的预算是多少?

Pre-production usually takes up to %20 of the total production time. During that time a small team of programmers work on the main concept, while producer and concept artist work on the business and design aspects of the project.

预生产通常会占用总生产时间的%20。 在此期间,一小组程序员负责主要概念,而制作人和概念艺术家则负责项目的业务和设计方面。

生产 (Production)

Next stage is production. This is where programmers (aka game developers) play an important role. The basic idea is that programmers develop games by turning designed concepts into code and create a fully playable game. Game developers are generally software engineers with a strong programming and computer science background. They are responsible for different aspects of the production such as;

下一阶段是生产。 这是程序员(又名游戏开发人员)发挥重要作用的地方。 基本思想是程序员通过将设计的概念转化为代码并创建可完全玩的游戏来开发游戏。 游戏开发人员通常是具有强大编程和计算机科学背景的软件工程师。 他们负责生产的各个方面,例如;

  • Building a custom design base engine for the game为游戏构建定制设计基础引擎
  • Implementing game logic实施游戏逻辑
  • Creating user interface创建用户界面
  • Scripting functions and interactions脚本功能和交互
  • Developing and modifying 3D graphic renders开发和修改3D图形渲染
  • Implementing algorithms实现算法
  • Simulating AI in opponents

    模拟AI 在对手

  • Creating physics (like gravity differences in space)创建物理学(例如空间中的重力差异)
  • Adding sound effects and music添加声音效果和音乐
  • Identifying and fixing bugs识别并修复错误
  • Writing code specific for controllers (joystick, mouse and keyboard)编写控制器专用代码(操纵杆,鼠标和键盘)
  • Making network connectivity feature available for a game使网络连接功能可用于游戏

As you might notice, the very first responsibility of developers is to build a game engine. Despite, there are many game engines available out there, what really distinguishes between games is their custom designed engines. Unreal Engine, Unity, GameMaker, Godot, AppGameKit are some of the most common game engines.

您可能会注意到,开发人员的首要责任是构建游戏引擎。 尽管有许多可用的游戏引擎,但真正区分游戏的是它们的自定义设计引擎。 虚幻引擎UnityGameMakerGodotAppGameKit是一些最常见的游戏引擎。

Some of the popular game engines 一些流行的游戏引擎

游戏引擎(Game engine)

But what is it really? Game engine is a software development environment. It provides developers with essential tools and features, which allows them to build a game quicker and more efficient. This lets the whole team of game development focus more on unique elements such as object interaction, design, character model, etc. As a result, games have more depth in all aspects from script to graphics.

但是到底是什么呢? 游戏引擎是一个软件开发环境。 它为开发人员提供了必要的工具和功能,使他们可以更快,更高效地构建游戏。 这使整个游戏开发团队将更多精力放在独特的元素上,例如对象交互,设计,角色模型等。因此,游戏在从脚本到图形的各个方面都有更深入的了解。

A game engines provides things like:

游戏引擎提供以下功能:

  • Scripting脚本编写
  • Rendering渲染图
  • AI

    人工智能

  • Physics物理
  • Audio音讯
  • Networking联网
  • Graphical user interface (GUI)

    图形用户界面( GUI )

  • And many more features could be added if the engine is designed by developers themselves.如果引擎由开发人员自己设计,则可以添加更多功能。

Building a game engine requires developers to be knowledgeable in areas like math, physics, linear algebra, algorithm design. Many believe C++ is the most efficient language for this purpose, but more on languages later!

构建游戏引擎需要开发人员在数学,物理,线性代数,算法设计等领域具有丰富的知识。 许多人认为C ++是用于此目的的最有效的语言,但稍后会介绍更多语言!

后期制作 (Post-production)

After completing the production a small group of developers keep working on maintenance like fixing bugs, adding features and downloadable content.

完成生产后,一小部分开发人员将继续进行维护工作,例如修复错误,添加功能和可下载内容。

哪种编程语言? (Which programing language?)

As game development becomes more popular more programmers discover more programming languages to benefit the process. Like deciding on game engine, choosing the programming language(s) is another essential step to start the process.

随着游戏开发变得越来越流行,更多的程序员发现了更多的编程语言以使过程受益。 就像决定游戏引擎一样,选择编程语言是启动该过程的另一个重要步骤。

So what programming language should you learn, becoming a game developer? To answer the question, better to decide what type of game you like to develop or where in the industry you would like to be?

那么,要成为游戏开发人员,您应该学习哪种编程语言? 要回答该问题,最好决定要开发哪种类型的游戏,或者您想成为哪个行业的游戏?

Let’s start with AAA games. These games are published by mid to large size game companies. They have a higher budget for development and marketing, and they mostly use C , C++ and Java. Rust is another language which some AAA game publisher started using recently. But it is only recommended for already skilled programmers, so be prepared if you are going with Rust!

让我们从AAA游戏开始。 这些游戏由中大型游戏公司发行。 他们有较高的开发和营销预算,并且大多使用CC ++JavaRust是AAA游戏发行商最近开始使用的另一种语言。 但这仅推荐给已经熟练的程序员,因此,如果您要使用Rust,请做好准备!

Indie game developers are another big fan of using C++ since it is the language of Unreal Engine and has the flexibility of PC and mobile.

独立游戏开发人员是使用C ++的另一个狂热爱好者,因为它是虚幻引擎的语言,并具有PC和移动设备的灵活性。

Next would be mobile games without a heavy load of graphic effects and animation. Based on your only two choices between iOS or Android you will end up using their native development tools. Xcode for iOS by using Swift programming language, and Android Studio that is written in Java and Kotlin languages.

接下来将是没有大量图形效果和动画的手机游戏。 根据您在iOS或Android之间仅有的两个选择,您最终将使用其本机开发工具。 使用Swift编程语言的iOS Xcode ,以及用Java和Kotlin语言编写的Android Studio

Other than those few main languages used for major game production, languages like Python and Javascript used for simpler game.

除了用于主要游戏制作的少数几种主要语言之外,诸如Python和Javascript之类的语言用于更简单的游戏。

游戏程序员的职位描述 (Game programmer job description)

Like any other job, it is important to know what to expect when searching for a programmer position in the game industry. As expected, major job duties are code to creating programs that allow computers, smartphones and video game systems to read and run the game.

像其他任何工作一样,重要的是要知道在游戏行业寻找程序员职位时会期待什么。 正如预期的那样,主要工作职责是创建程序的代码,该程序允许计算机,智能手机和视频游戏系统读取和运行游戏。

Programmers work as a team under supervision of their lead programmer. Simultaneously other teams like AI, physics and graphic programmers benefit from the codes made by programmers to make the game as lifelike as possible. They work on reactions of game to player’s moves and their decisions.

程序员在其首席程序员的监督下作为团队工作。 同时,诸如AI,物理和图​​形程序员之类的其他团队也受益于程序员编写的代码,以使游戏尽可能逼真。 他们致力于游戏对玩家动作和决策的React。

Annual salary for a junior game programmer at its lowest starts from 50,000 a year and increases depending on the experience and skill level.

初级游戏程序员的最低年薪从每年50,000起,并根据经验和技能水平而增加。

结论 (Conclusion)

While working in game development as a programmer sounds exciting and entertaining. There are few important things to consider before taking this journey;

在游戏开发人员中工作时,听起来很刺激和有趣。 进行此旅程之前,没有什么要考虑的重要事项;

  • Knowing multiple programming languages, specially C++知道多种编程语言,尤其是C ++
  • Developing knowledge of math and computer science发展数学和计算机科学知识
  • Patience忍耐
  • Understanding other aspects of the production了解生产的其他方面

After all, the best approach to become a game developer is to create simple games as a hobby! Enjoy the process and be patience with the growth.

毕竟,成为游戏开发人员的最佳方法是将简单的游戏作为一种爱好来创建! 享受过程,并耐心成长。

祝你好运! (Best of luck!)

翻译自: https://medium.com/swlh/coding-and-game-development-86b88b966377

开发编码格式


http://www.taodudu.cc/news/show-6450111.html

相关文章:

  • 编码检查项目
  • STM32的音频编码与在PC端的解码
  • 软件程序编码
  • 项目代码呢
  • 深入了解火山PC的编码转换处理
  • 开发部项目编码规范说明
  • C++_开发_项目开发编码规范
  • 项目编码
  • 人工智能有多吃香?人工智能岗位薪资水平曝光(附赠37G学习资料大礼包)
  • 关于人工智能算法岗位的一点思考
  • Interview之DS:人工智能领域求职岗位—数据科学家/数据科学工程师的职位简介、薪资介绍、知识结构之详细攻略
  • 人工智能领域,薪酬最高的5个岗位,闭眼选一个都暴富
  • 前端js获取系统更新刷新页面
  • 手动配置刷新
  • 实现自动配置刷新
  • 点击按钮刷新功能
  • android实时刷新
  • 刷新页面的方法
  • 网页刷新方式
  • 主动刷新页面方法
  • 页面实时刷新技术探讨
  • 刷新测试
  • js 点击刷新
  • 防刷新方法
  • 实现页面刷新(全局刷新)
  • 小程序——下拉刷新,上滑更新 事件记录
  • 页面实时刷新的方法
  • 刷新功能
  • 关于刷新
  • iOS界面刷新机制

开发编码格式_编码和游戏开发相关推荐

  1. python游戏开发引擎_你的游戏开发第0课

    电子游戏是许多人喜爱甚至沉迷的事情.尤其对于程序员来说,开发游戏是不少人最初学习编程的动力.在之前,我发过一些游戏开发的教程和案例: 爆款游戏<贪吃蛇大作战>的 Python 实现 如何用 ...

  2. C#和Unity编码和游戏开发学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:110节课(26小时25分钟)|大小解压后:18.6 ...

  3. [libGDX游戏开发教程]使用LibGDX进行游戏开发(1)-游戏设计

    声明:本章是一个系列的开始,英文原文是<Learning libGDX Game Development>,大家请周知. [libgdx游戏开发教程]使用Libgdx进行游戏开发(2)-游 ...

  4. 元宇宙游戏开发公司 深圳元宇宙游戏开发

    splinterlands元宇宙游戏开发,upland元宇宙游戏开发,CryptoBlades元宇宙游戏开发,SecondLive元宇宙游戏开发,PROSPECTORS元宇宙游戏开发,Office L ...

  5. 游戏开发入门(一)游戏开发概述

    视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟) 该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题 笔记与总结(请先学习视频内容): 1.游戏机 ...

  6. unity ui 补间动画_杭州Unity游戏开发培训内容有哪些?学习路线是如何规划的?...

    现在Unity游戏开发行业越来越受到欢迎,但是想要找到适合自己的课程和学习方法却有些困难.很多刚开始接触Unity游戏开发且没有基础的同学,不知道该从哪里开始学,也不知道要学习什么内容.该怎么开始Un ...

  7. 广州python开发工程师招聘_【广州游戏开发工程师招聘_最新广州游戏开发工程师招聘信息】-前程无忧...

    诚伯信息有限公司广州-天河区0.6-1.5万/月12-18 学历要求:本科|工作经验:1年|公司性质:民营公司|公司规模:5000-10000人 岗位职责1.与一流的开发团队协同工作,分析游戏各种玩法 ...

  8. 动态加载子节点_微信小游戏开发之场景切换和常驻节点传递数据

    主题 场景切换 场景间数据传递方式 小游戏全局背景音效 特别说明 CocosCreator微信小游戏开发系列文章,是我在逐步开发过程中,基于官方文档之上,记录一些重点内容,以及对官方文档中有些知识点的 ...

  9. 为什么游戏开发者不玩游戏_什么是游戏开发?

    为什么游戏开发者不玩游戏 Game Development is the art of creating games and describes the design, development and ...

最新文章

  1. K-最近邻法(KNN) C++实现
  2. NSDate获取当前时区的时间
  3. [C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath
  4. 巨头间未来战争-丰收节交易会·万祥军:农业AI发展概况
  5. 利用学习率衰减找到最优结果(基于Iris数据集)
  6. 巨头入局,华为云将给音视频行业带来什么?
  7. Varchar的最大长度
  8. 我试了试用 SQL查 Linux日志,好用到飞起
  9. 图论 —— 网络流 —— 最大流 —— 压入与重标记算法
  10. linux服务器创建FTP
  11. 木.马查杀-应急工具-排查步骤
  12. python将数据保存为pdf
  13. Unity2017安装
  14. 软件测试用例设计(三)——场景法
  15. echarts中国及世界经纬度坐标
  16. 怎么做到css和html分开,CSS结构与表现分离怎么实现?
  17. C++学习(四零零)百度文库页面的核心代码(水印部分)
  18. 拒酒词,好难找哟,留到有用
  19. 彻底删除spacedesk
  20. 移动宽带套餐介绍_中国移动宽带套餐有哪些,谢谢!

热门文章

  1. laravel5.8(九)session基本使用
  2. 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率
  3. 如何设计一个基于SSM的旅游网站管理系统
  4. 【My Electronic Notes系列——放大电路与集成运算放大器】
  5. 16位CRC循环冗余校验码生成函数
  6. 十款免费将PDF转Word的软件工具集
  7. 华为ensp,交换网络的构建与配置
  8. QT 生成word文档
  9. 文本分析 | 管理层讨论信息含量原理与代码实现
  10. 深入浅出讲解自动驾驶 - 激光雷达原理和结构简介