作者rubric (其實我正在找第幾篇)
看板GameDesign
標題[魯蛇] 虛心請教一個問題
時間Sun Dec 8 10:06:19 2013
(這篇文章在java版也有po,已瀏覽過者請原諒<(_ _)>
在版聚時原本想請教,但當時大家討論的東西較深,有點不好意思問太基本的問題
不曉得這樣問有沒有失禮儀
請問網路上會有可供參考的遊戲原始碼嗎?
我希望能找到像是這樣的資訊: 例如下面網址給的範例
http://eportfolio.lib.ksu.edu.tw/~4980C060/blog?node=000100016
不錯的地方是程式碼中有提到每個部分該放那些東西
如field裡寫些什麼,建構子裡面寫些什麼,事件處理類別寫些什麼
可惜的部分有2:
1. 註解部分不夠詳盡清楚
2. 沒有可以跑的程式範例與完整的程式碼
身為新手,我目前努力的部分有: (也許還不夠努力,想請求個方向
1.網路上放的類似大學一學年要修個課程看完
http://tung.tsu.edu.tw/lecture/java/java.htm
2. java螞蟻書看完3/4 (無奈理解力不太夠
3. 去書店查有沒有關於用java寫遊戲的書的資訊,書目有:
a. 大師談java遊戲設計 <= 書店告知絕版
b. 重構-改善既有的程式設計 <= 有難度,且不太像是我想要的
(我要的比較與遊戲設計相關)
c. 深入淺出java程式設計
d. 完全探索java遊戲程式設計
cd其中一本書商那邊已經沒書,
另一本跟螞蟻書和網路講義教的內容一樣 (都是基礎從字串陣列教起
4. 上網搜尋原始碼,但似乎沒找到相關資源
於是我靠著既學得的微薄知識完成遊戲機本的功能 (我要做的類似戰棋遊戲)
如:
1. 切換遊戲的介面,例如從戰鬥視窗跳到選擇隊員編輯隊伍的畫面
2. 玩家與敵人每回合攻守交替,拖曳玩家到敵人身上與之戰鬥並計算傷害
3. 將玩家所選擇的隊伍成員存成txt檔,留待下次讀取用
等等相當基本的功能
然而還是私心期盼能有完整或仔細的遊戲教學資源 (也很願意花錢學
給個畫面,並配合程式碼解說:
(這裡拿我寫的game當例子,很遜不好意思
//首先自訂一個類別,讓其繼承JFrame,作為戰鬥畫面的視窗
public class CardBattleFrame extends JFrame{
//在field中設定各個地方(如建構子,自訂method中)會用到的變數,如下
//玩家回合開始時在戰場上的牌總數
int totalPlayerCardOnBattlefieldFromStart;
//玩家的牌被敵人擊敗的總數,此值會隨著玩家的牌被敵人擊敗時逐漸增加,
//當此值增加至與玩家擁有的牌的值一樣時則結束遊戲。
int playerCardDefeatedByEnemyTotal;
... //還有新增許多會用到的JLabel、JButton
//在建構子裡面,為會用到的JLabel設定範圍,圖片、在螢幕上的位置
public CardBattleFrame() throws Exception {
希望上面這一小段有傳達到意思 (我所想要的也就是像是這樣內容的教科書
舉例子只是希望能夠參考別人所寫的程式,究竟是如何辦到頁面間的切換
存取檔案,在哪個step時作存取的動作...
等等基本的遊戲功能
雖然到目前為止難處都靠著google、論壇、上網諮詢得到答案
但仍是想參考別人寫game的程式碼 ,進一步去改進獲改善自己缺乏的部分
這段時間,斷斷續續邊寫程式,邊嘗試找這樣的網站一個月後
心裡想說:理應有這樣的資源才對,畢竟我要的又不是人家神魔之塔遊戲公司
上架的成品,只是像五子棋遊戲般那樣沒那麼複雜的遊戲的原始碼
(而網路上大多也只是片段的程式碼,告訴你整個遊戲中的某
一個部分該怎麼寫)
於是經驗不足的我猜想有以下幾點原因,導致我無法在中文網站找到這樣的資源
1. 國外網站這樣的資訊比較多,應該往國外方向搜尋
2. 其實這都是每個coder嘔心瀝血的作品,想取得原始碼本來就沒那麼容易
3. 要學會decompile 或是用jad.exe去破解人家的遊戲,
進一步去看別人程式碼怎麼寫
4. 本來就該靠那些"螞蟻書"這樣的基本功,去進一步研究出遊戲該怎麼寫
而並非靠參考別人的作品去寫
(然而在下不是天才,只能做出幾本的功能
5. 搜尋能力不足 (這一點就只能請前輩給予提示或方向了
簡言之,我希望能夠做出像神魔之塔那樣的介面,
也將除了轉珠以外的部分以簡單的手法完成 (雖然介面陽春
(轉珠也不可能去寫,因為升級系統都模仿成類似的了,
連戰鬥方式都抄就太...)
總之,我認為自己程式碼不是很好看,不夠成熟,很多瑕疵
想說多看別人的,(就好比畫家去欣賞別人的畫,去改進自己的畫,但畫廊在哪?)
於是來請教,有沒有哪裡有這樣的資源,或者是這樣的要求過多?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.126.7
→ rubric:還是說,希望有這樣的東西是個不可能、或是不對的行為? 12/08 10:26
→ azureblaze:寫程式還是不要想靠中文找資料吧 12/08 11:01
→ azureblaze:網路上似乎沒有比較複雜一點遊戲的完整教學就是了 12/08 11:04
→ azureblaze:寫得爛就寫得爛 寫多了就會變好 12/08 11:04
→ azureblaze:個人覺得程式為什麼這樣寫不好還是要靠自己犯錯來體會 12/08 11:05
這是真的,犯錯實在是最好記取教訓的方法XD
→ KanoLoa:注意到你是用內建UI元件去做遊戲,其實會跟一般寫法也不同 12/08 11:23
→ KanoLoa:大陸的CSDN記得有幾個遊戲範例可以載,但是通常是簡體... 12/08 11:26
推 wangm4a1:124都是正確的 如果是五子棋 網路一定有程式碼 12/08 13:39
→ wangm4a1:但其它功能就不一定會在同一個程式中 12/08 13:44
理解
推 asoedarren:據我所知 業界用純java寫遊戲的很少 只有用在Android 12/08 14:11
→ asoedarren:上 所以直接找android的遊戲開發書會比較快 12/08 14:12
→ azureblaze:會指名用某個語言做遊戲的應該都是新手書吧 12/08 14:29
→ azureblaze:程式絕大部分的問題都跟用哪個語言無關 12/08 14:30
→ azureblaze:限定用某個語言資料會少非常多 12/08 14:31
android書等我這次的遊戲寫好,一定得去翻翻
感覺寫手機遊戲是目前當紅的趨勢
→ y3k:建議去下載順眼的遊戲引擎來用XD 12/08 15:40
遊戲引擎? 我查查意思一下
→ VVll:神魔的介面 不難寫阿 大多是單純的滑動 或者 介面切換而已 12/08 16:01
對目前的我來說還是有困難呢
推 littleshan:我覺得你的問題在於還沒熟練程式語言就想寫遊戲 12/08 16:45
→ littleshan:看範例並不是最好的方式,需求一改你就不知道要怎麼寫 12/08 16:46
→ littleshan:所以...去上moremusic的基礎班吧 12/08 16:46
恩恩 有道理,確實要先熟練才對
推 doomleika:a不用看了,太舊,過時/錯誤的資訊比不知道還糟糕 12/08 17:47
→ doomleika:b前面說過,refactor需要testcas以你就是要先會JUnit 12/08 17:52
→ doomleika:cd沒看過沒辦法回答 12/08 17:52
→ doomleika:資源去國外找比較快,不是說台灣不好,就只是環境如此 12/08 17:53
→ doomleika:功力不夠去看別人code有把壞習慣也學過去的風險 12/08 17:54
國外似乎真的多很多,恩恩 看來我得加強英文了XD
→ rubric:感謝大家的回覆,太感動啦!! 12/13 22:39
真的很感謝呢,有了些頭緒了^^
※ 編輯: rubric 來自: 59.115.130.82 (12/13 22:43)