2011-11-01 71 views
3

我想創建一箇舊派簡單化的基於文本的RPG。沒有庫存,沒有戰鬥,只能通過地牢找到正確的方式。什麼技術可用於基於終端文本的RPG遊戲?

將有一個關於每個「房間」的描述段落,並會有選擇取決於房間。 IE,如果有兩扇門,你可以選擇通過哪個門,或者如果有物品可以使用它們等等。隨着你的進步,故事展開。

我真的很想使用它的PHP,因爲我不知道很多編程,我聽說它是​​一個相對容易的入口。我已經知道足夠的PHP來開發Wordpress了。

我真的想讓它提醒人們有關舊MUD的設計,我想成爲一個終端或CMD。造型當然沒有問題與CSS,但我仍然不知道如何使用打字感覺良好,但我目前正在眼睛tryruby.orggoosh.org以獲得正確的感覺。

有關如何解決這個問題的任何想法?我需要使用什麼?使用Javascript/jQuery的?有什麼好的資源讓我看看?

編輯:當然,它的在線。

+0

我認爲這個問題應該轉移到程序員堆棧交換站點。我會回答你應該使用你現在熟悉的東西,因爲你的工具不是非常重要,你在_any_工具中實現的越多,你就越能夠欣賞解決重要問題的工具項目(和未來項目)。 –

回答

1

這一切都取決於你的喜好。 一個快速入門的方法是一個html/javascript前端和一個php後端。

JavaScript前端模擬一個控制檯,goosh.org上的實現看起來很有靈感。

回調可以通過ajax完成,jQuery在這裏非常有用。 如果你想推送內容(從服務器發送內容到客戶端而沒有客戶端請求 - 或多次使用請求),你也可以看看Comet。

後端的PHP聽起來不錯,你只需實現一個腳本返回每個位置,說明和可能存在。我建議你尋找到的JSON格式這一點,因爲它可以讓你返回一個對象,如:

{ 
    "title": "A dark room", 
    "description": "This is a very dark and scary room. The smell is obnoxious", 
    "exits": { 
    "nw" : " A small door", 
    "n" : "A huge ladder" 
    } 
} 

PHP內置函數來創建PHP對象,即json_encode JSON對象。

你可能也想要某種數據庫來存儲位置。這取決於你想使用什麼。您可以使用傳統的SQL數據庫(mysql,postgresql等)或非sql數據庫(mongodb,redis等)。

1

你應該研究互動小說的發展框架。終端式遊戲的兩種主要開發工具是InformTADS,但Quest也不錯。

如果您想要進一步降低進入壁壘 - 或者不想讓玩家輸入命令,而是點擊其他選項 - 您可能需要查看ChoicescriptUndum。 Choicescript非常易於使用,非常適合編寫嚴格基於選擇的文本冒險。對於Undum,你需要知道一些JavaScript,但你可以用它做更多的事情。(我擴展了Undum一次以添加類似RPG的骰子卷,角色表等)Quest 5.3引入了「遊戲手冊模式」,這使得Choicescript風格的遊戲也很容易構建。

我應該指出,這些環境都不需要PHP或任何類型的客戶端 - 服務器通信。這樣做的一個好處是你可以很容易地分發你的遊戲:一個靜態的網站是好的,你的遊戲可以離線播放。潛在的缺點是你不能提高你的PHP技能;你的遊戲只有單人遊戲(雖然可以通過一些努力讓遊戲成爲多人遊戲);無論您選擇哪種環境,您都不會像使用簡單的Javascript或Javascript + PHP那樣靈活。