关于游戏编程的起步与进阶

zyzyandzyzy 2003-09-14 08:33:39
各位,我没学过也不会游戏编程,所以有此一贴。小弟只用vb、vc还有java做过一些方块啊,蛇吃蛋啊的小游戏,但对这个行业很有兴趣。
请问大家都是怎么入门的,游戏引擎到底指的是什么,一般的游戏开发是自己开发引擎的吗。
一些3d的东西如directs之类的怎么欠到自己的程序里,还是我只能在那些平台上开发。
请大家不吝指教,谢谢
...全文
42 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengruicfan 2003-09-30
  • 打赏
  • 举报
回复
路过,学习~
swordkitty 2003-09-30
  • 打赏
  • 举报
回复
其实只要你有决心,你就一定能干好的!!
不过我建议你还是学VC它的功能很强大的呀!
多看些书!!
多动手!!1
ilian 2003-09-30
  • 打赏
  • 举报
回复
策划最重要相当于系统分析师;美工是前台,程序员后台开发一样重要。
ilian 2003-09-30
  • 打赏
  • 举报
回复
游戏引擎 就是为开发游戏而建立起来(或积累)的游戏框架。
KyosukeNo1 2003-09-29
  • 打赏
  • 举报
回复
说到要成为好游戏,策划的角色更重要些吧——现在大家即使翻FC的一些游戏来玩,还是相当有趣(例如近来偶在玩玛丽医生-_-#)。很可惜,国内的游戏业界很不重视策划这一职业

说到编程,偶比较信奉看代码去学习的方法,这种方法比较直接。如果学3D,偶建议你看www.gametutorials.com里的例程,很不错的:)

当然,除了纯粹的写程序,也要补习一下必要的知识——例如偶现在成天就在看线性代数-_-b
zyzyandzyzy 2003-09-29
  • 打赏
  • 举报
回复
替自己up一下,大家觉得在开发当中美工和编程哪个更困难些呢,我的意思是哪个更会成为好游戏和差游戏的分水点呢
Iwilltrybest 2003-09-15
  • 打赏
  • 举报
回复
多尝试着做一些小的游戏DEMO,哪怕连自己都觉得它们是对垃圾,也要多多的去制造这种“垃圾”,没准儿也能拣出一个悉尼歌剧院来。:P
nonocast 2003-09-15
  • 打赏
  • 举报
回复
其实大概2年之前,我也问过很多人这样的问题
他们都很吝啬丢给我几个词
让我根本无法琢磨
只能去书店兜为数不多游戏教程

其实做游戏不是我们想象的那么容易和灿烂
当我们在玩游戏的时候,对玩家来说看到的激动人心的场景
不过对开发人员来说,玩的就是数据结构和算法
再美妙的画面背后有的只是'枯燥'的数据
相信做过游戏的人应该很能理解
做游戏是对一个人的计算机水平的总体体现

一个好的游戏关键还是策划,美工,音乐
开发人员只不过是用代码去实现
所以现在的游戏开发人员在中国很苦

不过,如果是为了兴趣为了儿时的理想
不妨可以尝试一下

其实说难吧也不难,不过说简单也谈不上
因为我们做游戏大多都是用SDK直接调API,所以你可以不用太多的涉足MFC,但至少要对SDK,API比较熟悉

。不过掌握MFC对以后是很有帮助的::)

然后,得学一下DirectX或者OpenGL,它们主要是负责游戏中场景的绘制。
我是从DirectX转到OpenGL的,你可以根据你自己的需要选择.
----------------------------------------------------------------------------------
如果你选择DirectX,推荐你去www.kanepeng.com下载"游戏编程指南",从零开始,讲的很不错
如果你选择OpenGL,那推荐你去nehe.gamedev.net下载NEHE的OPENGL教程,写的太棒了
----------------------------------------------------------------------------------
那然后你可以到google上去搜一下游戏开发网站,中文的也不少
----------------------------------------------------------------------------------
推荐书籍:
OpenGL编程权威指南 [传说中的Red Book]
windows游戏编程大师技巧
DirectX从入门到精通

这两本一般,不过我还是买了....:(
Visual C++高级编程技术----OpenGL篇
Visual C++游戏设计入门
----------------------------------------------------------------------------------

不过对一个开发人员来说,数据结构和算法才是最重要的
你可以step by step的来学那些看似很枯燥的数据结构
学成以后收益一辈子

你可以先用Stack做一个迷宫寻路
然后用Queue来实现最短路径
最后尝试写写A*

----------------------------------------------------------------------------------
推荐书籍:

数据结构算法与应用 C++语言描述
算法导论
----------------------------------------------------------------------------------

慢慢来,从2D的小游戏开始
要耐得住寂寞
生命是一种积累的过程....
------------------------
May you succeed!
----------------------------
YOURSUN2008 2003-09-15
  • 打赏
  • 举报
回复
DIRECTX和OPENGL就好比是扳手,启子之类的工具,学会它们就相当于掌握了这些工具的用法.
美工和音乐等部分就好比构成汽车的各种材料,你要通过工具把它们组装起来;策划就相当于给出汽车的种类和用户群.
"引擎",顾名思义,就是发动机了.当然,发动机的设计是相当复杂的,所以国内汽车大多使用别人的引擎(自己做不出来嘛,要不就是不好).
使用别人开发的引擎就相当于国内的汽车厂商使用别人的发动机一样,可以省很多麻烦,但是也限制了你所生产的汽车(游戏)的种类和功能,你最多只能在它的基础上添加一些辅助功能.
lukejin 2003-09-15
  • 打赏
  • 举报
回复
嗯,越来越感觉到数据结构的重要性,数据结构那本书每次读都有新的感受
hanxian 2003-09-14
  • 打赏
  • 举报
回复
必需有C++,数据结构等基础,
然后学DIRECTX
游戏引擎相当一个开发库,
就是根据用户的输入信息来驱动各种图形图像程序库
高手见笑了
我也是初学者
第五单元 进阶程序设计(总10课时) 1. 选择编程语言(1课时) 一、教学目标 1、了解程序设计语言和两种翻译方式; 2、了解Python背景、功能、安装,熟悉Python编程环境; 3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握 Turtle模块的调用,并尝试修改Turtle图案属性。 二、重点难点 教学重点:熟悉 Python 编程环境;编程初体验 教学难点:编程初体验;程序的书写规范和调试窗口的使用。 三、教学过程 (一)认识Python语言 1、Python语言 Python在英文中的意思是"蟒蛇",这个语言的标识就是两只缠绕的蟒蛇。 Python语言的应用范围非常广泛。例如,它可以用在游戏开发中;电影中的3D渲染也 会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知乎等网 站都是使用Python语言搭建。 Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Guido van Rossum从2005年开始就只于谷歌公司,在谷歌以及编程社区的大力支持下,Python也迎 来了大发展。 2、启动Python 3、Python开发环境 (二)编程初体验——我的第一个Python程序 chengxu1.py代码: import turtle #调用turtle模块 a1=turtle.Turtle() #窗口中显示一只海龟,并给他命名为"a1" 关于程序的书写: Python语言是区分大小写的,比如此处的Turtle()中的T要大写; Python语言中的字母和符号只能是半角英文符号; (三)实践与思考 1、把a1.shape("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:square、circle、arrow、turtle,然后, 保存并运行程序,观察每次的运行结果。 说一说,shape()的作用。 "语句 "显示结果 " "shape("turtle") " " "shape("arrow") " " "shape("circle") " " "shape("square") " " 2、把a1.color("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:red、green、blue,然后,保存并运行程 序,观察每次的运行结果。 试一试:除了red、green、blue,其他颜色能不能用? 说一说,color()的作用。 "语句 "显示结果 " "color("red") " " "color("green") " " "color("blue") " " 2. 选择编程语言(3课时) 第1课时 控制"海龟"移动 一、教学目标 1、学会用函数控制海龟运动; 2、掌握几个函数及参数的设置:forward()、speed()、write(); 3、了解程序的三种结构之一——顺序结构。 二、重点难点 教学重点:函数forward()、speed()、write() 教学难点:顺序结构编程及简单应用。 三、教学过程 (一)函数forward() 格式:forward(参数) 功能:向前移动(这里的"向前指的是箭头指示的方向") 例如:forward(100) ##向前移动100个像素 (二)函数speed() 格式:speed(参数) 功能:设定速度 例如:speed("slowest") ##以最慢的速度 "不同参数的speed() "功能 " "speed("slowest") "最慢 " "speed("slow") "慢速 " "speed("normal") "正常速度(系统默认值) " "speed("fast") "快速 " "speed("fastest") "最快 " (三)函数write() 格式:write(参数1,参数2) 功能:在屏幕上显示文字 例如:write("起步",font=("黑体",16)) ##屏幕上显示黑体16号的"起步"两个字。 (四)程序1——海龟的简单移动 import turtle a=turtle.Turtle() a.forward(100) 程序解释: forward(100)——海龟向前移动100个像素(这里的"向前指的是箭头指示的方向") (五)程序2——海龟的多样运动 (六)实践与思考 结合两节课学过的知识,修改程序2,使之实现如下功能: 提示: color()函数——设置颜色 write()函数——设置字体字号 第2课时 控制"海龟"移动 一、教学目标 1、了解常量、变量、表达式、赋值; 2、掌握变量的命名、表达式的组成; 3、掌握函数Shap
Android核心技术与实例详解 图书简介: 本书以Android应用程序的开发为主题 并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程 全书分为三篇共18章 第一篇以简单易懂的实例为依托 详细介绍了Android平台的基本控件 高级控件 常用界面布局及菜单对话框等相关知识;第二篇介绍了Android平台的高级知识 包括消息与广播服务 网络数据处理 手机通信功能 桌面组件 多媒体采集 Google服务及3D程序开发等;第三篇则对三个真实案例的开发步骤进行详细介绍 逐步向读者讲解Android手机应用程序的真实开发过程 同时在源代码中还包含了详细的注释 以尽量帮助读者掌握代码中的每一个细节 尽快掌握Android编程 本书的讲述由浅入深 从介绍Android平台的基本组件到带领读者开发大型应用程序 结构清晰 语言简洁 非常适合初学者和进阶开发者阅读参考 本书附赠DVD光盘1张 其中包含了大容量的手把手教学视频 电子教案 PPT 实例源代码等 Android核心技术与实例详解 图书目录: 基础篇 第1章 Android开发起步 1 1 Android平台简介 1 1 1 Android背景介绍 1 1 2 Android平台架构 1 2 Android开发环境的搭建 1 2 1 相关软件的下载与安装 1 2 2 虚拟设备的创建和使用 1 2 3 创建“Hello Android” 1 2 4 Android应用程序的调试 1 3 小结 第2章 Android应用程序的构成 2 1 Android应用程序的解析 2 1 1 目录结构 2 1 2 资源的管理与使用 2 1 3 AndroidManifest xml简介 2 1 4 应用程序的权限 2 2 Android基本组件的介绍 2 2 1 应用程序的生命周期 2 2 2 Activity简介 2 2 3 Service简介 2 2 4 BroadcastReceiver简介 2 2 5 ContentProvider简介 2 2 6 Intent和IntentFilter简介 2 3 小结 第3章 Android布局管理器 3 1 控件类概述 3 1 1 View类简介 3 1 2 ViewGroup类简介 3 2 线性布局 3 2 1 LinearLayout类简介 3 2 2 线性布局案例 3 3 表格布局 3 3 1 TableLayout类简介 3 3 2 表格布局案例 3 4 相对布局 3 4 1 RelativeLayout类简介 3 4 2 相对布局案例 3 5 帧布局 3 5 1 FrameLayout类简介 3 5 2 帧布局案例 3 6 绝对布局 3 6 1 AbsoluteLayout类简介 3 6 2 绝对布局案例 3 7 小结 第4章 Android常用基本控件 4 1 文本控件的介绍 4 1 1 TextView类简介 4 1 2 EditText类简介 4 1 3 文本框使用案例 4 2 按钮控件 4 2 1 Button类简介 4 2 2 ImageButton类简介 4 2 3 9Patch图片简介 4 2 3 9Patch图片使用案例 4 3 状态开关按钮 4 3 1 ToggleButton类简介 4 3 2 开关按钮的使用 4 4 单选按钮与复选按钮 4 4 1 CheckBox和RadioButton类简介 4 4 2 单选按钮和复选按钮使用案例 4 5 图片控件 4 5 1 ImageView类简介 4 5 2 图片查看器 4 6 时钟控件 4 6 1 AnalogClock和DigitalClock类简介 4 6 2 时钟控件使用案例 4 7 日期与时间选择控件 4 7 1 DatePicker类简介 4 7 2 TimePicker类简介 4 7 3 日期时间控件使用案例 4 8 动画播放技术 4 8 1 帧动画简介 4 8 2 帧动画使用案例 4 8 3 补间动画简介 4 8 4 补间动画使用案例 4 9 小结 第5章 Android常用高级控件 第6章 菜单与对话框 高 级 篇 第7章 Android事件处理模型 第8章 游戏与3D应用程序开发 第9章 消息广播与服务 第10章 网络与数据处理 第11章 手机通信功能开发 第12章 手机特有Feature开发 第13章 桌面组件与多媒体数据采集 第14章 传感器应用的开发 第15章 Google服务 第16章 Android游戏开发实践 快乐数独 案例篇 第17章 Android地图搜索应用 美食天下 第18章 Android社交分享平台 口袋微博">Android核心技术与实例详解 图书简介: 本书以Android应用程序的开发为主题 并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程 全书分为三篇共18章 第一篇以简单易懂的实例为依托 详细 [更多]
第五单元 进阶程序设计(总10课时) 1. 选择编程语言(1课时) 一、教学目标 1、了解程序设计语言和两种翻译方式; 2、了解Python背景、功能、安装,熟悉Python编程环境; 3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握 Turtle模块的调用,并尝试修改Turtle图案属性。 二、重点难点 教学重点:熟悉 Python 编程环境;编程初体验 教学难点:编程初体验;程序的书写规范和调试窗口的使用。 三、教学过程 (一)认识Python语言 1、Python语言 Python在英文中的意思是"蟒蛇",这个语言的标识就是两只缠绕的蟒蛇。 Python语言的应用范围非常广泛。例如,它可以用在游戏开发中;电影中的3D渲染也 会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知乎等网 站都是使用Python语言搭建。 Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Guido van Rossum从2005年开始就只于谷歌公司,在谷歌以及编程社区的大力支持下,Python也迎 来了大发展。 2、启动Python 3、Python开发环境 (二)编程初体验——我的第一个Python程序 chengxu1.py代码: import turtle #调用turtle模块 a1=turtle.Turtle() #窗口中显示一只海龟,并给他命名为"a1" 关于程序的书写: Python语言是区分大小写的,比如此处的Turtle()中的T要大写; Python语言中的字母和符号只能是半角英文符号; (三)实践与思考 1、把a1.shape("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:square、circle、arrow、turtle,然后, 保存并运行程序,观察每次的运行结果。 说一说,shape()的作用。 "语句 "显示结果 " "shape("turtle") " " "shape("arrow") " " "shape("circle") " " "shape("square") " " 2、把a1.color("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:red、green、blue,然后,保存并运行程 序,观察每次的运行结果。 试一试:除了red、green、blue,其他颜色能不能用? 说一说,color()的作用。 "语句 "显示结果 " "color("red") " " "color("green") " " "color("blue") " " 2. 选择编程语言(3课时) 第1课时 控制"海龟"移动 一、教学目标 1、学会用函数控制海龟运动; 2、掌握几个函数及参数的设置:forward()、speed()、write(); 3、了解程序的三种结构之一——顺序结构。 二、重点难点 教学重点:函数forward()、speed()、write() 教学难点:顺序结构编程及简单应用。 三、教学过程 (一)函数forward() 格式:forward(参数) 功能:向前移动(这里的"向前指的是箭头指示的方向") 例如:forward(100) ##向前移动100个像素 (二)函数speed() 格式:speed(参数) 功能:设定速度 例如:speed("slowest") ##以最慢的速度 "不同参数的speed() "功能 " "speed("slowest") "最慢 " "speed("slow") "慢速 " "speed("normal") "正常速度(系统默认值) " "speed("fast") "快速 " "speed("fastest") "最快 " (三)函数write() 格式:write(参数1,参数2) 功能:在屏幕上显示文字 例如:write("起步",font=("黑体",16)) ##屏幕上显示黑体16号的"起步"两个字。 (四)程序1——海龟的简单移动 import turtle a=turtle.Turtle() a.forward(100) 程序解释: forward(100)——海龟向前移动100个像素(这里的"向前指的是箭头指示的方向") (五)程序2——海龟的多样运动 (六)实践与思考 结合两节课学过的知识,修改程序2,使之实现如下功能: 提示: color()函数——设置颜色 write()函数——设置字体字号 第2课时 控制"海龟"移动 一、教学目标 1、了解常量、变量、表达式、赋值; 2、掌握变量的命名、表达式的组成; 3、掌握函数Shap

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧