|
游戏中的图像表示 2007-01-17 |
游戏中包含大量的图像数据,如何表示它们是一个很重要的问题。我对这个问题没有太多研究,只发表一点个人意见。因为游戏种类的不同,图像的表示方法也会有很大的差异。通用的方法是存在的,但并不是最有效的。有个性的程序员通常都会根据自己程序的特殊需要而在...[全部内容] |
|
后台模拟多任务的实现 2007-01-17 |
记得以前学过 Win9x/NT的利用时间片轮转实现了多任务,而其中又用时钟中断作为任务调度的方法。每次发生时钟中断,多任务系统就自动保存当前任务的各种状态,标志到状态表。更新任务时间表,判断所有任务的状态:激活/挂起/死锁了。然后利用一定的算法找出最迫切需要运行...[全部内容] |
|
精灵链表 2007-01-17 |
通常说来, 第三人称 2D 游戏中通常把景物和精灵分开处理 (至少我的这样的) 尤其是游戏机上, 硬件对精灵有支持. 现在我们的显卡多也支持显存间的 keycolor 检查 Blt 操作, 实际就是用来加快精灵处理的 (也包括景物)
精灵在运动时, 往往是基于像素的 (虽...[全部内容] |
|
RLE 精灵教程 2007-01-17 |
序言精灵是电脑游戏中使用的最普通的元素之一,直到最近由于3-D浪潮蜂拥而至才被“多边形”所取代。然而,即使3-D游戏也能因设计完美的精灵而得益。这篇文章就是一个关于实现一个高水平的,高效的RLE精灵系统的简短教程。这里提到的精灵特指矩形位图,这种位图数据中的某...[全部内容] |
|
游戏是怎样炼成的? (关于地图编辑器) 2007-01-17 |
地图编辑器,顾名思义,就是用来编辑地图的工具,如果玩过魔兽争霸或是帝国时代2,英雄无敌的话,应该会知道这几款游戏都附有地图编辑工具,可提供玩家自行编辑地图关卡,地图编辑器就具有类似的功能。 这套东东通常是由程序,美工,企划三人所讨论出来的,理由...[全部内容] |
|
游戏开发基础(10) 2007-01-16 |
第一节 3D类游戏设计3D光线投射游戏包括从高解析度图形到快速动画的许多技术。尽管3D场景在这些不同的游戏中可能变化很大,玩游戏的方法和设计游戏的基本技术却是类似的。场景中较明显的组成部分包括生成的墙壁、地板、天棚、可移动的物体和静止的物体。当然,这些游戏也...[全部内容] |
|
游戏开发基础(9) 2007-01-16 |
第一节窗口的移动和改变大小时case WM_SIZE:case WM_MOVE:if (IsIconic(hWnd)){ Msg("FoxBear is minimized, pausing"); PauseGame();}if (bFullscreen){ SetRect(&rcWindow, 0, 0, GetSystemMetrics(SM_CXS...[全部内容] |
|
游戏开发基础(8) 2007-01-16 |
第八章 例程之初始化部分第一节DDInit():DDInit()的作用是枚举驱动程序,它的具体运行过程如下:首先调用DirectDrawEnumerate(),这个函数的作用在第五章 DirectDraw深入篇第三节选择DirectDraw驱动程序中已经谈到了。在本例程中这个函数的参数是&DDEnumCallback和N...[全部内容] |
|
数据结构在游戏中的简单应用 2007-01-16 |
在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个数据结构的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。 本文主要讲述数据结构在游戏中的应用,其中包括对链表、顺序表、栈、队列、二叉树及图的介绍。读者在阅读...[全部内容] |
|
游戏开发基础(6) 2007-01-16 |
DirectSound第一节 关于声音声音是空气的一系列振荡,称为声波,一般可以用二维的波形图来表示。数字音频是指使用某种设备将声波记录下来并保存为一种数字化的文件。播放相应的文件就可以产生某种声音效果。数字音频的音质随着采样频率及所使用的位数不同而有很大的差异...[全部内容] |