Digging Multimedia library & Game Engine
出于业余爱好,最近想要选择一个 multimedia library,于是做了大量搜索,最后选择了 SFML 2.x,放弃了 Allegro 和 SDL 两款历史悠久的产品。将搜索到的一些资源,稍作整理,统统放到这篇日志里……
横向对比:http://youtu.be/1fbmiSm8G7w。一方面,对于初学者,往往对产品之间的差异很难明确了解,甚至对「what features do I need」都不明晰;另一方面,对于 target user base 有较大重叠区间的产品,只要是步入了相对成熟的阶段,在特点上往往大同小异。所以,选择的重心,应该放在 documentation 和 community 上,更全面的 tutorial 和 reference,更活跃的 community,都是加分项。
从文档的角度,选择 SDL 或者 Allegro 可能更好,因为丰富的 tutorials;从社区的角度,SFML 据说很活跃,不过我也没仔细体会…… 简单罗列一些链接如下:
- SFML wiki : https://github.com/LaurentGomila/SFML/wiki
SFML features : http://sfml-dev.org/features.php
SFML 2.0 documentation : http://www.sfml-dev.org/documentation/2.0/
SFML FAQ “What version should I use” : https://github.com/LaurentGomila/SFML/wiki/FAQ#wiki-grl-version - Allegro Tutorials : http://alleg.sourceforge.net/docs.html
- SDL unofficial but famous Tutorial : http://www.lazyfoo.net/SDL_tutorials/
SDL wikipedia see also : http://en.wikipedia.org/wiki/Simple_DirectMedia_Layer#See_also
SDL game OpenTTD 交通大亨开放源码克隆 : http://en.wikipedia.org/wiki/OpenTTD
Youtube 上有一个基于 SFML 做的塔防小游戏,http://youtu.be/SPBut-quayM。
还有一些讨论帖:《SFML 2 Vs SDL 1.3/2.0 Vs Allegro 5》,《Which is better, SDL or SFML》,《Flawless alternative to SDL》。以及一些其他的链接,Pygame(SDL Python binding),三维引擎相关(Panda3D,使用 Python 做为游戏开发语言,引擎部分使用 C++ 开发;Open Dynamics Engine,开源的物理引擎,由两个部分组成,刚体动力学 rigid body dynamics simulation engine,碰撞检测 collision detection engine;The Blender Game Engine)。
还有就是 Cocos2d-X,Android 上的二维游戏开发,大神王哲领衔开发…… Tutorial 点此,非常值得一读!
In this chapter, we will be learning how to create a scene, load a sprite and drag it around via touch control (or mouse control in the case of Windows, Mac or Linux platforms). It’s simple stuff and I’m sure you’ll get the hang of it quickly.
最后再放几个视频在此:一款从头开发(a stand-alone game engine developped)的 FPS demo;相当赞的 OpenGL game engine demo(见下图),基于 C++ OpenGL 和 Cg shading language;还有 Bullet Physics Engine 的 demo。
P.S.
几个并没有太仔细看的链接:
- 《脏矩形技术》,Allegro forum 上的讨论帖(原理与实现)。
- 《游戏程序员养成计划》,想起很早之前觉得 graphics programming 很有趣,于是买了《Real-time Rendering》几大卷,结果翻都没翻过…… 囧
- OpenGL Getting Started – OpenGL VIewers,查看自己的显卡支持的 OpenGL 版本。
- 《Learning Modern 3D Graphics Programming》:
读者需求,基本的几何学和代数知识;为什么读这本书「A good graphics programmer sees the graphics hardware as a set of tools to fulfill their needs, and this book tries to encourage this kind of thinking.」;附录里的《Getting Started with OpenGL》。
YCombinator 上有个帖子提到本书「The best tutorials I've found for modern OpenGL is "Learning Modern 3D Graphics Programming"」。
posted on 2013-03-31 17:00 mirrorwheel 阅读(499) 评论(0) 编辑 收藏 举报