筆記一下...
defaults write com.apple.dt.Xcode AppleAntiAliasingThreshold 16
2011年5月1日 星期日
2011年2月26日 星期六
iOS OpenGL Programming
這邊推薦一下個人覺得不錯的iOS OpenGL Programming的教學網站
http://iphone-3d-programming.labs.oreilly.com/
個人覺得寫得不錯
若不習慣看網頁的話 它也有出實體書 (天瓏有在賣)
http://iphone-3d-programming.labs.oreilly.com/
個人覺得寫得不錯
若不習慣看網頁的話 它也有出實體書 (天瓏有在賣)
2011年2月6日 星期日
WonderWitch #1
以前的筆記...手動compile/link wonderwitch program...
這邊備份一下
compile + link
%lsic86ww%\bin\lcc86.exe -noconf -X%lsic86ww%\bin -T%TEMP% -B -cn -I%wwitch%\include -I%lsic86ww%\include -DLSI_C_WW -DLSI_C -O -L%wwitch%\lib -L%lsic86ww%\lib -k"-Fc -T 20000 -TDATA 10000" -o %project%.bin %source% -a%crt0% -llibww -llibwwc -lruntime
link only
C:\WWitch\lsic86ww\bin\lld.exe -LC:\WWitch\lib -LC:\WWitch\lsic86ww\lib\s -Fc -T 20000 -TDATA 10000 -o sound1.bin sound1.obj test.obj -ls/crt0jpn2.obj -ls/libww -ls/libwwc -ls/runtime
當初研究很久...
這邊備份一下
compile + link
%lsic86ww%\bin\lcc86.exe -noconf -X%lsic86ww%\bin -T%TEMP% -B -cn -I%wwitch%\include -I%lsic86ww%\include -DLSI_C_WW -DLSI_C -O -L%wwitch%\lib -L%lsic86ww%\lib -k"-Fc -T 20000 -TDATA 10000" -o %project%.bin %source% -a%crt0% -llibww -llibwwc -lruntime
link only
C:\WWitch\lsic86ww\bin\lld.exe -LC:\WWitch\lib -LC:\WWitch\lsic86ww\lib\s -Fc -T 20000 -TDATA 10000 -o sound1.bin sound1.obj test.obj -ls/crt0jpn2.obj -ls/libww -ls/libwwc -ls/runtime
當初研究很久...
2011年2月1日 星期二
iOS dev / My 2D game engine dev筆記 #1
iOS Application的生命週期說明
The core application design
其實大多iOS dev的書都不去提這個東西,但個人覺得瞭解這些東西會對iOS dev很有幫助。
瞭解iOS Application的生命週期後,就可以開始規劃整個engine的運作流程。
基本上大致概念就是engine產生一GLView,將此View加入為某一window的subview,然後讓此window makeKeyAndVisable,此GLView就能被顯示在螢幕上。
另外透過NSThread撰寫一GameLoop物件並且在GLView正式被顯示在畫面上後啟動此gameloop物件,遊戲就能開始運作。至於遊戲相關的流程控制及運作都在gameloop內控制好即可。
外部只須視目前系統呼叫的methods來作對應gameloop的暫停或啟動等動作。
想法是各個遊戲可以implement自己的gameloop物件,但engine也有提供一範本供開發人員使用。
Engine內部大致分為幾個部份:
GLView, GraphManager, RenderManager, AudioManager, AnimationManager, InputManager
1.GLView主要功能就是初始化opengl相關的設定,建立framebuffer與相關renderbuffer,並能提供GLSharegroup給gameloop thread使用。
2.GraphManager主要功能就是載入外部圖檔成為texture讓RenderManager內的各method能夠利用
3.RenderManager主要就是提供各種繪圖method,如DrawPixel, DrawLine, DrawRectangle, DrawGraph等等。畫面更新部份則交由GLView去更新。
4.AudioManager主要就是放音與錄音。目前是用OpenAL實作。
5.AnimationManager播放由Graph所組成的動畫,會自成一個thread來更新目前frame。
6.InputManager接收使用者的輸入,如按鍵或觸控螢幕。
Engine本體使用Singleton來撰寫。
Objective-C的Singleton撰寫方式可以看此連結的討論或是Apple官方Creating a Singleton Instance的說明
The core application design
其實大多iOS dev的書都不去提這個東西,但個人覺得瞭解這些東西會對iOS dev很有幫助。
瞭解iOS Application的生命週期後,就可以開始規劃整個engine的運作流程。
基本上大致概念就是engine產生一GLView,將此View加入為某一window的subview,然後讓此window makeKeyAndVisable,此GLView就能被顯示在螢幕上。
另外透過NSThread撰寫一GameLoop物件並且在GLView正式被顯示在畫面上後啟動此gameloop物件,遊戲就能開始運作。至於遊戲相關的流程控制及運作都在gameloop內控制好即可。
外部只須視目前系統呼叫的methods來作對應gameloop的暫停或啟動等動作。
想法是各個遊戲可以implement自己的gameloop物件,但engine也有提供一範本供開發人員使用。
Engine內部大致分為幾個部份:
GLView, GraphManager, RenderManager, AudioManager, AnimationManager, InputManager
1.GLView主要功能就是初始化opengl相關的設定,建立framebuffer與相關renderbuffer,並能提供GLSharegroup給gameloop thread使用。
2.GraphManager主要功能就是載入外部圖檔成為texture讓RenderManager內的各method能夠利用
3.RenderManager主要就是提供各種繪圖method,如DrawPixel, DrawLine, DrawRectangle, DrawGraph等等。畫面更新部份則交由GLView去更新。
4.AudioManager主要就是放音與錄音。目前是用OpenAL實作。
5.AnimationManager播放由Graph所組成的動畫,會自成一個thread來更新目前frame。
6.InputManager接收使用者的輸入,如按鍵或觸控螢幕。
Engine本體使用Singleton來撰寫。
Objective-C的Singleton撰寫方式可以看此連結的討論或是Apple官方Creating a Singleton Instance的說明
2010年6月22日 星期二
一些網站記錄
記錄一下一些會用到的資料
How Sub-Pixel Font Rendering Works
http://www.grc.com/ctwhat.htm
以前還有一篇有關Font ABC的說明...現在怎麼找都找不到orz...
How Sub-Pixel Font Rendering Works
http://www.grc.com/ctwhat.htm
以前還有一篇有關Font ABC的說明...現在怎麼找都找不到orz...
2010年5月7日 星期五
都是Scrolling...
本來上上星期開始寫地圖捲軸的,但是寫到一半發現缺管理圖形的東西,
於是就開始寫GraphManager..... 好不容易寫好了,又繼續寫地圖捲軸,
又發現缺關卡管理的東西,又切去寫StageManager.....。
寫完之後看一看GraphManager架構,又有問題,又繼續改,......
到最後反而地圖捲軸沒什麼動XD... 不過引擎架構已經慢慢完整了。
也算是有些進度吧orz..。
於是就開始寫GraphManager..... 好不容易寫好了,又繼續寫地圖捲軸,
又發現缺關卡管理的東西,又切去寫StageManager.....。
寫完之後看一看GraphManager架構,又有問題,又繼續改,......
到最後反而地圖捲軸沒什麼動XD... 不過引擎架構已經慢慢完整了。
也算是有些進度吧orz..。
2010年4月29日 星期四
DxLib with Layer Manage
最近在寫一些Game底層的東西,主要是要把DxLib的東西封裝起來能夠支援圖層。
DxLib沒有圖層的概念,先畫的東西會被後畫的東西覆蓋。所以就必須要把畫的東西的順序(圖層)先記起來,等到畫圖的時候再依照順序畫出才行。
也因為這樣子,像DrawGraph、DrawLine這些東西都要封裝成物件來記錄。甚至一些會影響到畫圖結果的function像是SetTransColor、SetDrawBlendMode這些function也要封裝起來,才能有正確的作用。
我想只能先包知道的部份,剩下的部份就看有用到再包進來就好。
另外Singleton很多人都說不好,但是我覺得還不錯用阿XD...
Orge3D也用不少Singleton,我想應該不至於差到哪去吧。
就像很多人反對用goto,但是其實goto用在對的地方並不會影響架構,反而會讓程式乾淨得多。
DxLib沒有圖層的概念,先畫的東西會被後畫的東西覆蓋。所以就必須要把畫的東西的順序(圖層)先記起來,等到畫圖的時候再依照順序畫出才行。
也因為這樣子,像DrawGraph、DrawLine這些東西都要封裝成物件來記錄。甚至一些會影響到畫圖結果的function像是SetTransColor、SetDrawBlendMode這些function也要封裝起來,才能有正確的作用。
我想只能先包知道的部份,剩下的部份就看有用到再包進來就好。
另外Singleton很多人都說不好,但是我覺得還不錯用阿XD...
Orge3D也用不少Singleton,我想應該不至於差到哪去吧。
就像很多人反對用goto,但是其實goto用在對的地方並不會影響架構,反而會讓程式乾淨得多。
2010年4月21日 星期三
2010年4月14日 星期三
DxLib with BIG5 charset
trace四個小時的DxLib source code,終於讓它能夠支援Big5編碼了 :D。
基本上一樣是先用DxLib::CreateFontToHandle來建一個新的font handle,
這個function我已經修改內部可以判斷big5編碼,然後還有修改NS_MultiByteCharCheck
一樣也加入big5編碼的判斷。 其實改大概不到10行程式吧XD,但是瞭解DxLib畫字的
機制花了不少時間。
總之現在可以快樂的用DrawStringToHandle之類的function來顯示Big5編碼了:D。
Unicode的話等以後再說吧...XD
基本上一樣是先用DxLib::CreateFontToHandle來建一個新的font handle,
這個function我已經修改內部可以判斷big5編碼,然後還有修改NS_MultiByteCharCheck
一樣也加入big5編碼的判斷。 其實改大概不到10行程式吧XD,但是瞭解DxLib畫字的
機制花了不少時間。
總之現在可以快樂的用DrawStringToHandle之類的function來顯示Big5編碼了:D。
Unicode的話等以後再說吧...XD
2010年4月7日 星期三
StageEditor #6
今天把room的半透明顯示的問題搞定了...
GDI+的一些繪圖功能不知道是我用得有問題還是怎樣
例如FillRectange(Brushes.Transparents,......) 填透明色到圖中的某一小塊
結果填完之後圖還是沒清掉XD (因為真的塗了透明色XD)
最後是用SetClip把Graphics重設大小,然後用Graphics.Clear(Color.Transparent)
才清掉... 有點不太瞭解它內部的機制是怎樣...
正式開始作讀寫檔的部份了
GDI+的一些繪圖功能不知道是我用得有問題還是怎樣
例如FillRectange(Brushes.Transparents,......) 填透明色到圖中的某一小塊
結果填完之後圖還是沒清掉XD (因為真的塗了透明色XD)
最後是用SetClip把Graphics重設大小,然後用Graphics.Clear(Color.Transparent)
才清掉... 有點不太瞭解它內部的機制是怎樣...
正式開始作讀寫檔的部份了
2010年4月6日 星期二
StageEditor #5
各層編輯已完成
複數room已可運作
非編輯層半透明顯示 (還要調整)
剩下讀寫檔案,另外就是要自己作一個tile bitmap了。
目前想法是tile 0x00是特殊tile,遇到這個tile就自動不畫。
拿來當橡皮擦用。
然後room connection的部份...
-1是沒接.. -2打算設定成前一個房間 (從哪個房間進到目前房間)
... 不過還有一些實作上的問題
差不多該寫遊戲本體的部份了
複數room已可運作
非編輯層半透明顯示 (還要調整)
剩下讀寫檔案,另外就是要自己作一個tile bitmap了。
目前想法是tile 0x00是特殊tile,遇到這個tile就自動不畫。
拿來當橡皮擦用。
然後room connection的部份...
-1是沒接.. -2打算設定成前一個房間 (從哪個房間進到目前房間)
... 不過還有一些實作上的問題
差不多該寫遊戲本體的部份了
2010年4月2日 星期五
2010年3月25日 星期四
2010年3月24日 星期三
自用Subversion server運作中
.....其實運作很久了XD
只不過之前是用no SSL的
這次重弄成with SSL,過程一直有問題。
最後發現subversion的readme.txt裡有寫要把module檔copy到apache的module目錄裡.... -.-
我在httpd.conf裡是直接寫兩個module檔在subversion目錄裡的絕對路徑XD
不過這樣話說回來當初no SSL的時候可以跑還蠻神奇的... @@
anyway, 現在改code比較順了,也不用限一定要桌機才能改code了 :P
只不過之前是用no SSL的
這次重弄成with SSL,過程一直有問題。
最後發現subversion的readme.txt裡有寫要把module檔copy到apache的module目錄裡.... -.-
我在httpd.conf裡是直接寫兩個module檔在subversion目錄裡的絕對路徑XD
不過這樣話說回來當初no SSL的時候可以跑還蠻神奇的... @@
anyway, 現在改code比較順了,也不用限一定要桌機才能改code了 :P
2010年3月23日 星期二
DriveIcons
2010年3月17日 星期三
2010年3月16日 星期二
StageEditor #2
StageEditor目前進度...
Tile的圖是跟Rockman 7 FC版借的。Tile跟Room還有Stage的Data Structure大致上已經思考得差不多了。
接下來先完成基本的Editor功能,然後用DxLib寫一些demo game看看。
Tile的圖是跟Rockman 7 FC版借的。Tile跟Room還有Stage的Data Structure大致上已經思考得差不多了。
接下來先完成基本的Editor功能,然後用DxLib寫一些demo game看看。
2010年3月15日 星期一
StageEditor
上星期在構想的StageEditor,這個星期開始寫了。
主要還是用c#寫,應該跟之前寫的MapEditor一樣。
不過這次參考了很多ACT跟STG,基本上應該會寫成萬用型StageEditor。
主要是用Rockman 1~6跟Super Mario Bros. 3還有Gradius II等遊戲,當然也有考慮一些新遊戲的製作。
Editor完成後就會開始用DxLib來作一些測試。
主要還是用c#寫,應該跟之前寫的MapEditor一樣。
不過這次參考了很多ACT跟STG,基本上應該會寫成萬用型StageEditor。
主要是用Rockman 1~6跟Super Mario Bros. 3還有Gradius II等遊戲,當然也有考慮一些新遊戲的製作。
Editor完成後就會開始用DxLib來作一些測試。
訂閱:
文章 (Atom)











