游戏编程 | 你真的懂游戏吗?_游戏编程百科

游戏编程

游戏编程指利用计算机编程语言,如C编程语言、C++、java等,编写计算机、手机或游戏机上的游戏。 目前流行的游戏编程语言为C++编程语言,游戏编程接口为DirectX9.0、OpenGL和SDL(Simple DirectMedia Layer)等。现在手机上玩的游戏分为Android与IOS两种平台,分别是用eclipse/MyEclipse和xcode。当然时下也流行一些跨平台的编程引擎,例如cocos2d-x、unity 3D等。

01

角色扮演游戏(RPG)

由玩家扮演游戏中的一个或数个角色,有完整的故事情节的游戏。玩家可能会与冒险类游戏混淆,其实区分很简单,RPG游戏更强调的是剧情发展和个人体验。一般来说,RPG可分为日式和欧美式两种,主要区别在于文化背景和战斗方式。日式RPG多采用回合制或半即时制战斗,以感情细腻、情节动人、人物形象丰富见长,如《口袋妖怪》系列、《最终幻想》系列、《XX传说》系列,大多国产中文RPG也可归为日式RPG之列,如大家熟悉的《仙剑奇侠传》、《剑侠情缘》等;欧美式RPG多采用即时或半即时制战斗,特点是游戏有很高自由度,严谨的背景设计,开放的地图和剧情,耐玩度较高,如《创世纪》系列、《暗黑破坏神》系列。

RPG游戏是最能引起玩家共鸣的游戏类型。其诞生以ENIX的《勇者斗恶龙》发售为标志,开始了漫长的RPG时代。RPG游戏能把游戏制作者的世界完整的展现给玩家。架构一个或虚幻,或现实的世界,让玩家在里面尽情的冒险,游玩,成长,感受制作者想传达给玩家的观念。RPG游戏没有固定的游戏系统模式可寻,因为其系统的目的是构建制作者想象中的世界。但是,所有的RPG游戏都有一个标志性的特征,就是代表了玩家角色能力成长的升级系统,而程序构建的世界就是各个RPG游戏的个性所在。与其他游戏类型不同,虽然RPG游戏的表现是立体,多元的,但其根本都是为故事情节的表现。根据战斗形式的不同,RPG还可以分为依照《勇者斗恶龙》、《龙与地下城》等游戏的回合制战斗系统发展而来的正统RPG,融合ACT要素的如《塞尔达传说》、《辐射》等的A·RPG,还有融合SLG要素如《火焰之纹章》、《魔法门》等的S·RPG。此外欧美式RPG元素较多(创新从哪来.就是不停地在RPG里加进一些别的游戏元素,如ACT、SLG、FGT、FPS甚至RTS等等等等),系统比较复杂,特征不算明显,争议较大,并还有游戏内容皆即时进行的即时RPG这一类别如《上古卷轴4》。

02

第一人称射击游戏(FPS)

第一人称射击游戏(First-Person Shooting)FPS游戏在诞生的时候,因3D技术的不成熟,无法展现出它的独特魅力,就是给予玩家及其强烈的代入感。《毁灭战士》的诞生带来了FPS类游戏的崛起,却也给现代医学带来了一个新的名词——DOOM症候群(即3D游戏眩晕症)。随着3D技术的不断发展,FPS也向着更逼真的画面效果不断前进。可以这么说,FPS游戏完全为表现3D技术而诞生的游戏类型。代表作品有《虚幻竞技场》系列、《半条命》系列、《彩虹六号》系列、《使命召唤》系列、《雷神之锤》系列。(红遍我国大江南北的《反恐精英》是《半条命》的一个MOD游戏,是开发厂商发现其商业价值后才独立出来游戏,故未列入此行列)

03

冒险游戏(AVG)

由玩家控制游戏人物进行虚拟冒险的游戏。与RPG不同的是,AVG的特色是故事情节往往是以完成一个任务或解开某些迷题的形式来展开的,而且在游戏过程中着意强调谜题的重要性。AVG也可再细分为动作类和解迷类两种,解迷类AVG则纯粹依靠解谜拉动剧情的发展,难度系数较大,代表是超经典的《神秘岛》系列、《寂静岭》系列;而动作类(A·AVG)可以包含一些ACT、FGT、FPS或RCG要素如《生化危机》系列、《古墓丽影》系列、《恐龙危机》系列等。

AVG才出现时,指的是类似《神秘岛》系列那样的平面探险游戏,多根据各种推理小说,悬念小说及惊险小说改编而来。在当时,其系统基本就是载入图片,播放文字,音乐,音效,然后循环。或者会有玩家的互动,但是也很有限。玩家的主要任务是体验其故事情节。直到《生化危机》系列诞生以后才重新定义了这一新类型,产生了融合动作游戏要素的冒险游戏(A·AVG),最具代表性的作品就是CAPCOM的《生化危机》系列。

04

动作游戏(ACT)

玩家控制游戏人物用各种方式消灭敌人或保存自己以过关的游戏,不刻意追求故事情节,如《超级玛丽》、《星之卡比》等等。电脑上的动作游戏大多脱胎于早期的街机游戏如《魂斗罗》、《吞食天地》等,设计主旨是面向普通玩家,以纯粹的娱乐休闲为目的,一般有少部分简单的解谜成份,操作简单,易于上手,紧张刺激,属于“大众化”游戏。

ACT游戏讲究打击的爽快感和流畅的游戏感觉,其中日本CAPCOM公司出的动作游戏最具代表性。在2D系统上来说,应该是在卷动(横向,纵向)的背景上,根据代表玩家的活动块与代表敌人的活动块以攻击判定和被攻击判定进行碰撞计算,加入各种视觉,听觉效果而成的游戏,其中经典有《恶魔城》、《快打旋风》。到3D游戏发展迅速的今天,ACT类游戏获得了进一步的发展,逼真的形体动作、火爆的打斗效果、良好的操作手感及复杂的攻击组合,代表作品为称作三大ACT的《鬼泣》系列、《忍者龙剑传》系列、《战神》系列。

05

竞速游戏(RAC)

在电脑上模拟各类赛车运动的游戏,通常是在比赛场景下进行,非常讲究图像音效技术,往往是代表电脑游戏的尖端技术。惊险刺激,真实感强,深受车迷喜爱,代表作有《极品飞车》、《摩托英豪》等。另一种说法称之为"Driving Game"。RAC内涵越来越丰富,出现了另一些其他模式的竞速游戏,如赛艇,赛马等。

RAC以体验驾驶乐趣为游戏述求,给以玩家在现实生活中不易达到的各种“汽车”竞速体验,玩家在游戏中的唯一目的就是“最快”。2D RAC的系统就是系统给定的路线(多为现实中存在的著名赛道)内,根据玩家的速度值控制背景画面的卷动速度,让玩家在躲避各种障碍的过程中,在限定的时间内,赶到终点。由于2D的制约,很难对“速度”这一感觉进行模拟,所以成功作品相当有限,日本任天堂公司的《F ZERO》应该是其中最有代表性的作品。到3D RAC时代,RAC在3D技术构建的游戏世界中终于充分发挥了其速度的魅力。代表作品有:EA的《极品飞车》系列,NAMCO的《山脊赛车》系列,SCE的《GT赛车》系列。

那游戏编程需要哪些基础?

  1. 基础编程:C/C++基础编程,WinAPI(windows programming),数据结构,游戏算法 ( Game Mathematics ),C/C++语言在游戏中的应用、游戏算法、数据结构和STL在游戏中的应用等。

  2. DirectX图形编程:DirectX基础概念,Key Board及Mouse控制,预告篇控制,2D/3D图像输出,游戏效果音,游戏背景音乐,DirectX的Network Socket,OpenGL的图形编程应用。DirectX游戏网络编程应用,游戏开发人员的用户图形接口设计、MMORPG游戏服务器编程。人工智能技术在游戏编程中的应用等。

  3. Socket 编程技术:掌握网络基础理论、关于数据通讯的基础概念、网络基础概念以及其Model等,Socket Programming入门、Socket Programming基础、Socket Programming高级、Application实验等,Socket Programming实战。

  4. 游戏服务器架设:游戏服务器架构设计,Windows2003、Unix、Linux服务器架设等。

  5. 高级编程实战:Java游戏程序开发,SQL服务器2000编程,利用XML编程网络游、Messenger、坦克、五子棋、象棋、俄罗斯方块等简单游戏的编程方法与技巧等.

  6. 项目实战开发:游戏服务器编程项目制作开发,游戏客户端编写、项目制作开发、游戏编程技巧、实时表现图形的窍门等。