<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FirEar.Net &#187; python</title>
	<atom:link href="http://firear.net/blog/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://firear.net/blog</link>
	<description>For the Best, One is Enough</description>
	<lastBuildDate>Sun, 05 Sep 2010 05:12:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>遊戲設計-pygame</title>
		<link>http://firear.net/blog/2009/12/03/game-design-pygame/</link>
		<comments>http://firear.net/blog/2009/12/03/game-design-pygame/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 07:09:25 +0000</pubDate>
		<dc:creator>silau</dc:creator>
				<category><![CDATA[pygame]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python教學]]></category>
		<category><![CDATA[遊戲設計]]></category>

		<guid isPermaLink="false">http://firear.net/blog/?p=358</guid>
		<description><![CDATA[即將就要回香港了,要整理的東西有點多,所以也比較忙,但還是先將pygame的介紹完成吧!
Pygame是一系列的python modules,主要功能是遊戲製作。Pygame提供了很好的介面設計,對不同事件(event)操作,包括但不限於滑鼠,鍵盤,時間,物件接觸等等。而成品的容量也很小,同時亦可以簡單地移植到不同平台。繼承了Python動態編程的優點,pygame同樣可以快速完成一個Project。在pygame的首頁就有指出48小時完成一個遊戲,事實上,筆者的團體(5-6人)在RPI這邊亦的確在48小時之內完成一個2D遊戲。
用物件導向(面向對象,object oriented)的角度來看,遊戲包括的東西有game,timer,其他遊戲元素。理論上game包含一切其他元素,所以亦會負責判定物件碰撞,更新等問題。
依照上文新增一個newgame.py的文件,輸入以下內容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import pygame, sys
//載入所需文件, 包括其他元素,例如 player.py
&#160;
pygame.init&#40;&#41;
//初始化pygame
&#160;
clock=pygame.time.Clock&#40;&#41;
screen=pygame.display.set_mode&#40;&#40;400,300&#41;&#41;
//定義clock以及screen大小
&#160;
while True:
//main game loop
&#160;
    clock.tick&#40;50&#41;
    //控制刷新率&#40;frame rate&#41;在50ms一次
    events=pygame.event.get&#40;&#41;
    //獲取事件&#40;event&#41;,包括來自滑鼠以及鍵盤
&#160;
    for event in events:
    //取出所有event, 對每個event進行以下動作
&#160;
        if event.type==pygame.KEYDOWN:
        [...]]]></description>
		<wfw:commentRss>http://firear.net/blog/2009/12/03/game-design-pygame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>遊戲設計-Python</title>
		<link>http://firear.net/blog/2009/11/28/python-game-design/</link>
		<comments>http://firear.net/blog/2009/11/28/python-game-design/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 07:47:02 +0000</pubDate>
		<dc:creator>silau</dc:creator>
				<category><![CDATA[pygame]]></category>
		<category><![CDATA[join]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python教學]]></category>
		<category><![CDATA[tuples]]></category>
		<category><![CDATA[遊戲設計]]></category>

		<guid isPermaLink="false">http://firear.net/blog/?p=272</guid>
		<description><![CDATA[Python是一種十分強大的語言,面向對象,跨平台,快速,直譯語言,腳本語言(scripting language),通用語言,膠水語言,全部都可以安在Python身上。Python最大特色是其简捷而清晰的语法特点,筆者曾經接觸過Pascal,C,Java,Ruby,無疑Python是當中最簡單明快的一種語言。只要你曾經接觸過任何電腦語言,你都會覺得Python易學易上手。
時下在Facebook流行的遊戲差不多都是用Flash寫成的,而大部分Web Game也不可以單由Python完成。在這樣的大環境之下,只學習Python顯然無法躋身於以上的平台遊戲,但學習仍可以了解遊戲設計的過程以及難點。我相信對於將來有心在遊戲界發展的朋友應該會有所啟發。上文提及過RPG Maker,其實Maker就是一個引擎,而我們的最終目標就是製作一個遊戲引擎。
我們首先由Python的一些簡單語發法開始吧!
打開Python Shell, 即是上文中提及過的IDLE(Python GUI)。
Shell的功能有兩個,一個是可以運行腳本(Script),另一個就跟Linux下的Shell一樣,可以執行語句和表達式,第二個功能對測試比較重要。嘗試輸入以下內容:
&#62;&#62;&#62; 1 + 1               
2
&#62;&#62;&#62; print 'hello world' 
hello world
&#62;&#62;&#62; x = 1               
&#62;&#62;&#62; y = 2
&#62;&#62;&#62; x + y
3
一行語法就可以完成其他高級語言若干行的Hello World啦!接下來正式進入程式時間,先創建Python文件,Python [...]]]></description>
		<wfw:commentRss>http://firear.net/blog/2009/11/28/python-game-design/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>遊戲設計-序</title>
		<link>http://firear.net/blog/2009/11/26/game-design/</link>
		<comments>http://firear.net/blog/2009/11/26/game-design/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 05:55:03 +0000</pubDate>
		<dc:creator>silau</dc:creator>
				<category><![CDATA[pygame]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[遊戲設計]]></category>

		<guid isPermaLink="false">http://firear.net/blog/?p=164</guid>
		<description><![CDATA[筆者中學的夢想之一就是遊戲製作,但無奈當時會考課程教的是Pascal,兩年下來依然離不開DOS介面,我和朋友都戲稱為"黑色野"。上大學之後又先後接觸過C及C++,也學了不少新的演算法(algorithm),但感覺上距離製作一隻有聲有畫的遊戲仍很遙遠。

Year two的時候跟麟一起讀了Software Engineering,學了JAVA以及面向對象的一點技巧,終於製造了第一隻遊戲,炸彈人。完成作品之後的確很有成功感,但當時通頂的感覺卻不好受。

到美國之後讀了一科Game Development,接觸過Python以及Pygame,先發現原來遊戲設計可以如此簡單明快。筆者曾經用過一隻叫RPG Maker的軟件,相信用過的朋友都會覺得很容易上手,但很多原創性的設定都難以實現。而且使用現成的遊戲引擎(Game Engin)相信也滿足不了有心學遊戲設計的朋友。所以希望在此將近期所學與大家分享,讓更多朋友有機會接觸遊戲設計的入門。

首先想說一下的是遊戲的團隊,一般而言,團隊中最核心的是Programer,負責Coding,但除此之外亦要有Designer負責圖像,音效(Sound Effect),音樂(Background Music)等處理。一個團體要順利運作,可能亦要有策劃人(Project Manager),負責統一Coding時變量的命名規則。但對於一個小型的Project而言,合作上會比較簡單一些,所以暫時也不用深究。
團隊確立之後就可以開始定立主題,探討遊戲的內容細節啦!
以下介紹一下如何安裝必要的軟件
Python: http://python.org/download/
建議初次使用Python的朋友選用Windows installer2.6.4,因為支援會比較完善,另外亦要視乎使用的CPU選擇對應的版本。
Pygame: http://pygame.org/download.shtml
這裡同樣有不同版本選擇,請對應所安裝的Python版本作出選擇,如果上面安裝了Python2.6.4, Pygame請使用"pygame-1.9.1.win32-py2.6.msi"
順序安裝完Pygame以及Python嘗試在程式集打開IDLE(Python GUI),看見下面畫面之後輸入 import pygame

如果沒有錯誤顯示就算大功告成啦!
至於Python的介紹以及實際操作就留待下次再跟大家分享啦!
Related Post遊戲設計-pygame遊戲設計-PythonAudacity 音效編輯軟件]]></description>
		<wfw:commentRss>http://firear.net/blog/2009/11/26/game-design/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
