易截截图软件、单文件、免安装、纯绿色、仅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 sqlite3和单元测试

 
import os
import unittest # 包含单元测试模块
import sqlite3 as sqlite # 包含sqlite3模块
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # 单元测试第一步: 由TestCase派生类
def setUp(self): # 单元测试环境配置
......

python中文件和目录操作

1.获得当前路径
在Python中可以使用os.getcwd()函数获得当前的路径。其原型如下所示。
os.getcwd()
该函数不需要传递参数,它返回当前的目录。需要说明的是,当前目录并不是指脚本所在的目录,而是所运行脚本的目录。例如,在PythonWin中输入如下脚本。
>>> import os
>>> print 'current director ......

python 函数

Python中函数参数的传递是通过“赋值”来传递的。但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题”,也就说没有回答怎么赋值的问题。函数参数的使用可以分为两个方面,一是函数参数如何定义,二是函数在调用时的参数如何解析的。而后者又是由前者决定的。函数参数的定 ......

opencv python cool

当年做毕业论文的时候openCV就像是我的瑞士军刀,太有感情了。如今用了一年多的python,发现openCV也有python版本了,真是太酷了!当然python在处理图像时还可以用其它库例如PIL(Python Imaging Library ),一种轻量级的图像库。目前openCV1.0版本对应的python版本为2.5,openCV2.0对应python 2.6。
附录:
1. 一篇介绍图 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号