SDL入门教程(一):1、一切从零开始

作者:龙飞

 

 

1.1:SDL是什么? 

        SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。当然,最为重要的是提供了2D图形帧缓冲(framebuffer)的接口,以及为OpenGL与各种操作系统之间提供了统一的标准接口以实现3D图形。从这些属性我们可以看出,SDL基本上可以认为是为以电脑游戏为核心开发的多媒体库。
        SDL支持主流的操作系统,包括Windows和Linux。在官方的介绍中,我们可以找到它所支持的其他平台。(SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. )。SDL本身从C语言开发,并且能很好的在C++等高级语言中使用。在官方可以看到SDL所支持的语言很多。(Including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl. )
        SDL在GNU LGPL version 2下发布,这意味着你可以免费的使用。并且可以免费的用于商业软件的制作(只要你直接使用SDL的动态链接库,Windows下的SDL.dll)。如果你将SDL库编译进了自己的二进制代码中,你需要指明你所使用的SDL库的版本以及包括你自己修改的源代码,并说明这些代码的原始出处。这是很宽松的法律,你可以用如此强大的多媒体库完全合法的免费开发商业游戏。

1.2:本教程是为谁准备的?

        本教程是为电脑游戏制作的发烧友准备的。因为Linux的普及以及不受$M的牵制,SDL在过去的几年中,成为了跨平台开发PC游戏的首选。即使是在Windows平台下,SDL有具有自身的优势。与MFC使用不成熟的C++外表伪封装的win32api以及一家独唱推崇的COM风格和.net相比较,SDL是更纯粹的C风格。无论你是喜欢纯C还是OOP的C++,你都可以按照你自己喜欢的方式对SDL进行再次封装,只要你自己愿意,可以让自己的程序更接近C/C++的标准风格,让代码更加优美也更加容易阅读。
        事实上,在我看来,有了标准C++(兴奋的期待C++0x的发布),SDL和OpenGL这些标准或免费库的支持,完全可以扔掉与C++标准并不怎么和谐的“Windows编程”了。没有谁愿意被别人牵着鼻子走,这个道理在软件行业尤其的明显。

1.3:本教程的写作计划?

        我是为那些热爱游戏并希望尝试投入到游戏制作中的人们准备的礼物。也就是说,这是一个玩家写给其他玩家的游戏制作教程。我想,这个教程本身不可能简单,但是也绝对不是“技术狂”的风格。我不希望去深挖一些技术细节,我只希望找出整个知识体系中对于游戏制作最有帮助的部分,同时,我也不会避讳那些有助于帮助我们理解和记忆的看起来晦涩的原理。游戏需要技术来实现,但是做游戏显然不是单纯的做技术研究。我会在自己的学习过程中完善这个教程,如果你觉得更新太过于缓慢,可以在网上搜集到许多已经存在的教程。以下这个教程是SDL官方推荐的,我也推荐给你们:
http://lazyfoo.net/SDL_tutorials/index.php

1.4:我目前的计划和心愿。

        我是一个游戏策划,我最大的心愿是做出好玩的游戏。所以,显然,我做游戏的动力来自于对于目前存在的所有游戏的满足度不够,以及已经通过多年策划得到的一个方案希望实现出来以接受市场的考验。通过大量的分析和论证,我目前的项目计划集中在设计一款具有角色扮演性质的大型多人在线同盟共时制回合战略游戏。这个项目的第一个计划就是实现类似英雄无敌III的战场战斗效果,这就是我研究SDL的原因。
        对于游戏策划方面的想法,大家可以看我的商博,上面也提到了一些考虑中的商业模式。
http://i.cn.yahoo.com/lf426
        八卦一点的,可以看我在sina上的主博,评论和牢骚也是不少滴^^
http://blog.sina.com.cn/fleetlong
        最后介绍一下我以及曾经的团队UVi Studio。我本人以及之前的团队(2007年1月——2007年7月)UVi Studio致力于网络游戏的市场分析与策划。简单点说,我们希望从事整个网络游戏产业链上处于开始端(市场分析与策划)以及末端(运营)的工作,而将游戏的具体制作外包。做一个不太恰当的比喻,就如同我们希望做网络游戏领域的“开发商”,而非现在大部分公司采用的“开发”“承建”和“运营”全包的商业模式。现在,我们将不仅仅依靠传统的“资本创业”模式,我们也关注技术创业的可行性,并一直在尝试。这种转变体现在形式上,请记住这个名字:UVi Soft ( From 2008 )。
        无论你是对游戏感兴趣的技术人才,艺术家还是看好游戏市场的资方,如果你对这个项目感兴趣,请在第一时间与我们联系。
本人邮箱:
[email protected]

        UVi Soft以及这个项目的论坛地址:
http://fleetlong.c.lunqun.com/

 
此文章来自于【 http://blog.csdn.net/lf426/article/details/2086634】

你可能感兴趣的:(游戏,c,windows,haskell,smalltalk,objective,网络游戏)