易截截图软件、单文件、免安装、纯绿色、仅160KB

深入 GalCon:Python、游戏开发和人工智能

Alex. J. Champandard
赖勇浩(http://laiyonghao.com) 译
原文地址:http://aigamedev.com/open/interviews/inside-galcon-python-ai/
AiGameDev.com在这个周一的 pratical insights 是对Phil Hassey采访。Phil 是一个独立游戏开发者,也是游戏产业社区的活跃分子。他曾赢得2006年4月的 Ludum Dare 比赛(这个比赛关注群体行为),结果就是产生了名为 GalCon 的非常流行的游戏——上世纪 80 年代叫 Galactic Conquest 的游戏的复刻版。
我最近经常跟 Phil 通 email,问他很多关于 Galcon 的问题,比如人工智能、用 Python 开发游戏等。你可以在访问他的网站或 GalCon 的网站找到关于他的项目的更多的信息。此外,还可以下载游戏的demo 。
截图1:Ludum Dare 比赛的参赛作品。
Alex Champandard:您好,Phil,感谢您抽出时间来回答这些问题!您能否简要地介绍自己,以及关于成为游戏开发者的背景呢?
Phil Hassey:我自 10 岁以来就一直在制作游戏。我想大概是因为我没有其它事情可做 :),我最喜爱的语言是Python,所有的游戏都是用它开发的。当然我也用 C 写性能敏感的东西,也基于 PHP 来开发 Web 项目。我的游戏大部分都是开源的,我写了不少适用于游戏开发的开源工具/库。
Phil Hassey 开发的游戏:
Imitation Pickles — Games
AC:Galcon 创意从何而来的呢?能否向不知道这个游戏的读者简单地介绍一下这个游戏?
PH:2006年4月有一个48小时的游戏开发竞赛称为Ludum Dare。比赛主题是群体,而且我一直希望再度缔造“银河征服”风格的游戏,所以我尝试实现飞船群。游戏的原型在48个小时内做出来并赢得了比赛。后来我接受了大家的鼓励,继续开发,然后就有了 GalCon。
Phil Hassey 的相关材料:
The Glorious History of Galcon
AC :这些飞船是游戏的重要组成部分,我很好奇你如何实现它们的。是否基于 Craig Reynold 的操控行为理论?需要实现很多特定的算法吗?
PH:其实算法很简单-给所有的飞船指定目的地即可。然后执行碰撞检测,让它们腾出地方。
AC :模拟这么多的飞船,你遇到性能问题了吗?如果是遇到过,又是如何解决这些问题的呢?
PH:当然遇过。以前的版本一屏上最多能有 4096 个元素,而我用的又是蛮力碰撞检测。所以在某些情况下,速度就变得相当慢了。当前版本的最大值是2048,并且使用了网格细分屏幕的碰撞检测算法。在把飞船放到屏幕上的时候,我也用来些心思来初始化它们的显示,以


相关文档:

Python多线程知识点


知识点
1.线程是“轻量级”进程,因为相较于进程的创建和管理,操作系统通常会用较少的资源来创建和管理线程。操作系统要为新建的进程分配单独的内在空间和数据;相反,程序中的线程在相同的内存空间中执行,并共享许多相同的资源。多线程程序在结内存的使用效率要优于多进程程序。
2.python提供了完整的多线 ......

Python有用的模块

http://chardet.feedparser.org/  自动检测编码
http://effbot.org/zone/celementtree.htm  cElementTree
http://github.com/jaybaird/python-bloomfilter bloomfilter
http://docs.python.org/library/threading.html#threading.activeCount threading ......

PEP 0263 Defining Python Source Code Encodings

 
PEP 0263
Defining Python Source Code Encodings
Python will default to ASCII as standard encoding if no other
encoding hints are given.
To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, suc ......

一个批量修改文件名的Python程序

 关于Python程序的运行,其实一个Python程序就相当于一个应用程序,它不需要经过编译,只需要用户电脑上面安装Python环境即可。要运行一个py程序,直接双击这个py文件即可。一般情况下,没有提示用户输入或控制屏幕显示,打开一个py文件时会突然闪一下马上就退出,这是由于程序运行已经完成了。若需要显示,则要添加一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号