编程入门:游戏编程入门



   经常有人问我没有编程经验人该如何开始开发游戏在此的前我总是个个尽力回答然而后来提相同问题人数增长到难以处理地步我决定是时候把我所有建议写成文章作为个大概
    这篇文章是针对那些想要开发自己游戏但几乎没有编程经验事实上我假设读者没有任何编程经验我主要讨论游戏开发和设计方面而不是艺术性我也不准备讲述如何进入游戏行业(这方面已经有足够资料)而只是让你逐步开始开发自己游戏最后我所指出这条道路也并不能作为唯或是最好路径来学习开发游戏但至少对我和些人很有用
    选择门语言
    你要做件事就是选择门开发语言你有很多选择包括Basic,Pascal,C,C,Java,等等也经常会有人争论对于初学者那门语言是最好对于这系列流行语言讨论你可以参看John Hattan著作What Language Do I Use?(我用什么语言?)
    我建议是以C和C开始有些人会说这些语言对初学者来说太高级了我自己就是学C我并区别意这说法而且C/C是当今使用最广泛语言(译者认为应该是汉语)所以你可以找到大量学习资料和帮助你先学C或C都无所谓只要学了再学另外个就很容易但是如果你先学C请保证在学习面向对象编程的前能理解和使用过程编程(等编程熟练再去学习类)(译者:C是过程性语言C是面向对象语言)
    如果你开始学习C/C,发现太难那再学个简单也没关系比如Basic或Pascal但是我真认为如果你坚持努力而且有好资料学C/C应该没有太大问题
    你个问题可能会是:“我该如何学C/C?”我很高兴你这样问最好办法是上课有老师可以回答你问题帮助你产生很大进步编程练习作业也可以保证你能用到所学东西
    如果你不觉得上课是个好主意那最好办法就是买些好书不要花太多时间去选本什么“超级宝典”或“万用全书”你最终可能会买几本我建议你去家书店然后拿几本比较入眼C或C书看直到找到本或几本你能看懂并且可以拿来学习同时你可能会想要些更深入或者些材料但是你旦对于这门语言有了些了解我相信你应该有自己更好选择
    在这里我有必要花些时间来说我看到很多初学者所关心个事情特别是年轻人:没有钱买书和其他东西首先有很多免费资源可以利用图书馆Macmillan Computer Publishing(www.mcp.com/personal),有成千上百编程书籍但是如果你真想要成为个好还是应该投入部分资金应当想方设法(合法)帮助你弄到些钱
    网上也有很多C/C学习指南但是我认为那只能作为补充而不是你自学主要资源
    选择正确编译器
    你写或者代码是以文本方式储存你甚至可以用记事本写C/C但是总需要有东西把他们转换成为可执行文件对于C和C,那就是编译器
    可用编译器有好多种包括很多免费选择款自己适合编译器很重要免费编译器就有这样好处你可以把它们试个遍然后从中选择自己最喜欢然而免费编译器比起商业版可能会缺失些功能和大部分服务幸运多数商业版编译器也兼售介绍版或学习版这要便宜得多通常功能却不见得少限制是你不能发布用它编译(短时间内你也根本用不着)
    总的选择编译器取决于你能花多少钱用什么操作系统和为什么平台开发如果要为windows开发我强烈推荐Microsoft Visual C他强大开发环境使得很多事做起来更方便毫无疑问没有其他编译器更适合开发windows应用如果你是个学生你还可以折价买到(译者:爽!)如果你在DOS平台开发你最好选择可能是DJGPP,免费哦~
    选择开发平台
    尽管最终你很可能为好几个平台开发,总要先选择个来学当你在学这门语言还没有接触到图像时候你可能会想使用非图形用户界面操作系统比如DOS,Unix.这样可以避免接触高层比如windows编程让你集中精力学习语言本身
    旦你做好开发游戏准备那么应该考虑是否改变平台让我们来看看每个选项特征
    windows:如果你想成为游戏行业专家或者如果你想让许多人来玩你开发游戏那么这就是你要选择平台多数你用户使用windows而且现在我也看不出有什么改变迹象当今大多数windows游戏都是由种你可能听说过技术---DirectX---开发你可以DirextX这个库直接访问硬件这意味着你可以开发高性能游戏
    DOS:DOS过去是占统治地位游戏平台但是已经去不复返了尽管可能有些特殊爱好者还在为DOS开发游戏现在没有个为DOS开发商业游戏他也将继续衰落直到微软不再支持如果你只是想开发游戏还是不要选择DOS如果你非要这么做也不要太久记住:由于存在大量DOS游戏开发可能还有人辩护从这些书中学习DOS游戏开发但是windows游戏开发书越来越多那些辩解也变得越来越无力
    Linux:Linux是Unix由于很多原因后来变得流行包括稳定性价格和反微软情绪尽管Linux用户还是相当少但是围绕着他热情和不断增长市场潜力使其也成为不错选择
    Macosh:MAC有大量忠实粉丝并不能介绍说明什么几乎每个和我讨论MAC狂热者都需要更多更好游戏我没有见过多少MAC游戏开发资源但我相信还是有因此这也是个选择
    consoles:console(就是PS,N64,DC等等)游戏市场十分巨大当然console游戏开发前景也不错然而以非商业形式开发console游戏出于各种原因在现在似乎行不通如果你开发console,很可能是在被商业游戏开发组雇用的后


    开始进入主题
    现在是时候讨论开发游戏了简单起见我假设你选择用C/C在windows平台开发可能你选择别但大多数我说还是有用
    首先甚至在你打算开始开发游戏的前你必须很好掌握C和C.你应该懂指针结构体可能还有类如果你精通他们就可以开始做游戏了
    这篇文章可能不能教会你所有有关开发游戏东西幸运也没有这个必要这方面有很多书网上也有很多指南GameDev.net应该有所有你想要东西这里我建议你如何开始:
    找本或几本书对于windows游戏开发初学者Tricks of the Windows Game Programming Gurus是个完美开始除此的外还有许多好书.读透这些书试试所有例子不懂得部分多读几遍
    网上指南作为补充除了弄清书上读到他们还涉及些书上没有谈及主题
    向专家寻求帮助如果你不能在书上或指南找到问题答案好好利用我们论坛和聊天室那里有好多专家愿意帮助别人
    这并不是要你按照顺序执行而是可以同时并且不断重复执行
    光学习还是不够你必须运用你所学到个小游戏开始然后在这个基础上前进你可以看下Geoff Howland'著作: How do I Make Games? A Path to Game Development.
    开始自己独立工作不要急着加入团队(Team)那样只会减缓学习过程而且旦你有了自己几个游戏你可以为团队(Team)做出更大贡献
    还有有关书你应该不仅仅看游戏开发为了能够开发出你看到商店出售游戏你应该钻研比大多数游戏开发书籍更高级些主题些可以在网上找到但你也应该选些图形学人工智能网络物理学等方面计算机科学学位看来唾手可得你被迫上这些课时候可能认为他们和游戏开发无关----你错了!
    包装
    这里有些提示很有用 
    不要只积累知识用它
    你永远不会知道会理解些东西知道你是用他们用你学东西作些演示做作书上练习
    多玩游戏
    这样做会使你做出更好游戏而且可以减轻编程枯燥
    帮助别人
    能帮别人地方尽量帮助别人教别人过程中自己会学到更多
    有始有终
    不要有这样想法:“我能够完成这个游戏了但是我又有个新想法那就直接做下”你可以学得更多如果你完成他你也可以用事实证明你不是只会空谈所以尽量不要做很大很复杂游戏直到你有了定经验
    开始吧!你现在可以开始准备QUAKE4了可能你不是不是很了解但是至少应该知道如何开始这条道路找多些资料加上多年努力工作定会实现!
Tags:  java编程入门 编程入门

延伸阅读

最新评论

发表评论