保健養生

當前位置 /首頁/保健養生 > /列表

怎麼製作一個屬於自己的遊戲

一、簡單的程序框架。webgame程序構成:三大部分。第一是數據流程。第二是程序。第三是

想要製作一個屬於自己的遊戲體驗作為遊戲開發者的樂趣嗎?下載一個橙光遊戲製作軟件,隨時變身遊戲開發者,快來行動吧~

材料/工具

橙光文字遊戲製作工具電腦

想出一個點子、分鏡頭腳本設計、考慮細節、攥寫設計文檔。1、想出一個點子點子是啟動遊戲的引子,是一

方法

下載安裝橙光文字遊戲製作工具,註冊賬號後登陸即可進入初始界面。

遊戲的開發不是由一個人完成的,需要各種不同工種的人合作來完成,尤其是單機遊戲,其中包括:1,引擎

怎麼製作一個屬於自己的遊戲

點擊新建,進入遊戲製作界面。

去電玩巴士下改版工具箱,然後去寵物小精靈-ROM-改版專區,那裏有超詳細教程。還有改太多東西會產生一大

怎麼製作一個屬於自己的遊戲 第2張

拖動左側圖片可以設置為背景圖,遠景圖,近景圖等。製作工具提供一些素材,也可以自己下載後導入。

第一條:編程必須熟練到跟吃飯一樣! 第二條:找合夥人,自己的話想都不要想! 第三條:錢!租服務器!

怎麼製作一個屬於自己的遊戲 第3張

雙擊文字框可以編輯文本,包括角色名稱對話內容等。包括頭像設置,字體顏色等。

1.C++可以做遊戲,其他也一樣可以做,但是有了C語言的基礎,C++或者Python或者其他任何語言

怎麼製作一個屬於自己的遊戲 第4張

點擊素材庫可以免費下載各種素材,包括背景圖、人物立繪、遊戲音樂等。可以滿足一般遊戲的製作而不需要另外下載。

那肯定是先學習java基礎,如果是想向手機遊戲方向發展,那就是要重點學好java基礎語法,還有線程要

怎麼製作一個屬於自己的遊戲 第5張

下方可以設置遊戲流程畫面效果等,包括劇情頁面跳轉等,具體操作大家多多研究就可以輕鬆掌握啦~

有些遊戲製作遊戲。就是能讓你把設想,利用那個遊戲中的各種固定道具和功能,拼出一個新遊戲來,和WAR3

怎麼製作一個屬於自己的遊戲 第6張

注意

如果要做 大型3D遊戲 你自己做不了 你需要一個團隊,找一羣 跟你有一樣想法的鐵哥們 不計酬勞的跟你幹最後還是希望你成功 遊戲圈 需要新鮮的血液

一、簡單的程序框架。webgame程序構成:三大部分。第一是數據流程。第二是程序。第三是

擴展閲讀,以下內容您可能還感興趣。

怎麼製作一個網頁遊戲?

一、簡單的程序框架。

webgame程序構成:

三大部分。

第一是數據流程。第二是程序。第三是美術。

其中,數據流程包括了功能。也只有在功能中才能體現數據流程。

數據流程相當的麻煩,後面再討論。

比如最簡單的賣買產品。

要實現這個功能。

那麼需要有產品基礎表、產品詳細表、商店表、揹包表。如果擴展性更強,相應的雙表是少不不了的。

表的問題都簡單了。關鍵是這個物品有什麼用。這樣物品的來源,一大堆數據,物品的走向,又是一大堆數據。

最後,這些數據得繞成一個圈。

繞圈是一件困難的事情。特別是功能和道具多了起來的時候。難度是2的n次方。

美術:

UI。簡潔漂亮的界面總會有好處。

小圖標。道具,地圖,裝備。一類至少10個吧?大體上百把個是需要的。

程序分5個部分:

服務器定時器。(C語言或自己設定服務器)定時循環執行某一段代碼。而這段代碼主要是根據數據庫的數據進行更新。這個可以找個C語言程序員來做。對於C語言程序員來講,這個功能是相當的簡單。當然,具體的處理數據的判斷和操作數據庫,需要你自己寫。讓C語言程序員給你段標準代碼就行了。完全支持sql語句的。

功能頁面、功能函數。主要就是數據存取,判斷,數據走向。

ajax函數。(可選)某些需要偽即時的功能要用到。

javascript函數。(可選)模擬客户端的數據計算。也就是webgame的與時間相關的數據。分為兩部分。一部分是真實數據,是由服務器端的定時器計算的。另一部分是隻有初始值,客户端顯示用的。不需要即時同步,僅僅需要模擬同步就行。

數據庫。一大堆基礎數據表和詳細數據表。基礎數據表:比如等級1到等級100的用户的屬性初始值。詳細數據表:每個用户的具體屬性。

二、一個詳細的例子。

單純的討論數據流程是件痛苦的事情。

討論程序而不給代碼也是比較痛苦。

這裏用的是php+mysql的。

那就按一個超簡單的webgame的方式來討論。配上適當的代碼。應該有所幫助。不足的地方也請大家指出,對我個人也是幫助。

我們不去考慮遊戲的可玩性,數值平衡等等問題。我們先只考慮一個簡單例子的實現。

那麼一個webgame的基本內容需要些什麼呢?

數據庫:玩家、地圖、城市、建築、武器、士兵。

功能:登陸、升級、個人戰鬥、士兵之間的戰鬥、與城市的戰鬥、修建建築、打造武器、買賣道具。

(注意:每一個功能,必然對應1個或多個數據表。上面數據庫中所列的只是基礎中的基礎。)

首先是地圖、城市、建築。

這裏認為,地圖可以有多張,城市在地圖上,建築在城市內。

地圖表

Map :Map_ID ,X座標, Y座標,City_ID(城市ID),描述。

其中Map_ID是指地圖的id。不是自動編號。一張地圖就是一個Map_ID,可以重複。

城市表

City:City_ID,城市名字,城市所有人,城市等級,城市資源,描述。

建築表

Build:ID,City_ID,建築名稱,建築等級,建築功能。

其中,地圖表確定城市的位置,城市表確定城市的相關數據以及所有人,建築表內的多條信息屬於某一個城市。

建表後,顯示出來。

一個for循環。把地圖表整個取出來就ok。

跟普通網站的新聞列表沒太大區別。不同的是,你需要取得X座標和Y座標定位。可以用tabel也可以用div。

class Map//地圖類

{

var $Map_ID;

function Map_bg_css($Map_ID) {

$this->Map_ID = $Map_ID;

mysql_select_db($db_name,$link);

$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘ limit 1″;

$result=mysql_query($sql,$link);

echo “<style type=”.”text”.”/”.”css>”;

$rs=mysql_fetch_array($result);

echo “#map{”;

echo “position:absolute;”;

echo “width:”.$rs[X座標].”px;”;

echo “height:”.$rs[Y座標].”px;”;

echo “z-index:0;”;

echo “left:0px;top:0px;}”;

}

function Map_bg($Map_ID){

$this->Map_ID = $Map_ID;

$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘”;

$result=mysql_query($sql,$link);

while($rs=mysql_fetch_array($result))

{

echo “<div id=Layer_bg_”.$rs[X座標].”_”.$rs[Y座標].”>”;

echo “<img src=”.$rs[Map_bg].” border=0 title=”.$rs[ID].”></div>”;

}

}

}

上面是一個很簡單的地圖類。代碼可能不太正確,意思是正確的。就是根據map表中的座標,生成了一組div層,以及這一組層的css。

你可以改為table的。你可以也把座標放到一個字段裏,用數組的形式取。

使用的時候,用

new map;

map(N);

其中N是map表裏的地圖Map_ID.

城市內的建築也類似。如果要顯示出來的話。

有了地圖和城市後。

涉及到的問題就是城市裏資源的產生。

這時候,City表裏需要有可供判斷的時間和數量的字段。

比如:產生資金量Money,產生資金花費的時間Action_Time,上次產生資金時間Money_time。

這兩個字段的數值應該在City_base表裏出現。(即城市基礎表,不同等級,不同類型城市的對應數值。這是給策劃填數據用的,建好表後就等策劃去頭痛吧。如果你身兼數職。。。)

如何自動產生資源呢?

我們可以在城市所有人改變的時候,寫入一個時間。或者在城市初始化的時候寫入一個時間。

$Now_Time=date(’Y-m-d H:i:s’);

(説明:$開頭是變量的意思。php裏特e79fa5e98193e78988e69d8331333365643637有的。如果是asp的話可以寫成。Now_Time=Now() )

把$Now_Time寫入到Money_time裏。

update(”UPDATE City SET Money_time=’$Now_Time WHERE City_ID=’$City_ID’ LIMIT 1;”);

$City_ID是你自己定義的。指某一個城市。如:$City_ID=1;

我們假定當前城市產生資金量為100。即$Money=100;(具體的數值,應該是由City_base表裏取出的。)

假設間隔時間為$Action_Time,我們再假定是每小時執行一次。即$Action_Time=3600;(具體的數值,是根據你的初始化表裏取得的。也可以根據城市等級或者用户等級取得。反正隨便你自己怎麼設定。)

這時候,有基礎時間了。有基礎資金產量了。有間隔時間了。

讓它循環執行起來就行了。

上面説過,服務端用C語言定時器。客户端用javascript。

服務端,資源定時器設定為5分鐘執行一次。那麼我們的誤差就是5分鐘。對網頁遊戲來説,可以接受。(戰鬥的定時器得1分鐘吧。當然服務器夠牛的話,幾秒鐘都可以。)

每次執行什麼代碼呢?

首先得新建一個定時器任務的表。目的就是讓定時器知道需要執行哪些程序和數據的更新。表內容比如:城市資源更新。當然,這個表可要可不要。建立的好處是方便處理類似保護狀態不產生資源之類的問題。

服務端程序:

獲得當前服務器時間。

獲得當前需要更新城市。

判斷服務器時間與$Money_time的時間差。(時間戳,具體的時間戳網上資料滿多的。)

判斷時間差是否大於$Action_Time。

大於,則更新資源。同時更新$Money_time。

小於,則無操作。

客户端程序:

獲得當前服務器時間。

獲得當前城市的$Money,$Money_time,$Action_Time。

使用javascript顯示剩餘時間的倒計時,以及增加的資源量。

客户端特殊情況觸發:

因為客户端顯示的資源情況是偽同步,所以當客户端使用該資源的時候。需要服務端將當前的實際資源更新,屬於定時器處理的時間也需要更新。

即,當客户端觸發涉及資源的情況時,立即更新當前資源。同時更新定時器中會用到的$Money_time。這樣才不會造成,看的資源用不到,或者定時器重複產生資源。

總體來説。這部分程序都很簡單。難點在C語言定時器的製作,以及前台javascipt倒計時的寫法上。

C語言定時器,找個C語言程序員,超簡單;前台的javascipt,網上有很多倒計時的代碼,找個來改改就能用

<SCRIPT LANGUAGE=”JavaScript”>

var maxtime = 這裏是你的時間差///一個小時,按秒計算,自己調整!

function CountDown(){

if(maxtime>=0){

minutes = Math.floor(maxtime/60);

seconds = Math.floor(maxtime%60);

msg = “你的文字説明”+minutes+”分”+seconds+”秒”;//動態顯示剩餘時間。

document.all["timer"].innerHTML=msg;

//if(maxtime == 3) document.all["timer"].innerHTML=’只剩3秒!’;

–maxtime;

}

else{

clearInterval(timer);

document.all["timer"].innerHTML=’時間到’;

}

}

timer = setInterval(”CountDown()”,1000);

</SCRIPT>

<div id=timer></div>

這個是網上找的代碼。稍微修改就可以用的。這裏只是顯示了倒計時。也可以改為顯示資源的增加情況。

C語言裏操作mysql數據庫。

// TODO: Add your control notification handler code here

bool bRes = m_dbConn.Connect(”數據庫ip地址”, 3306 , “用户名”, “[email=d203!@#ghj]密碼[/email]“, “數據庫名”);

if(!bRes)

{

AfxMessageBox(”connect fail”);

return;

}

string strSql = “select * from city limit 1″;//所有顯示或取值類的都用這段。中間的sql語句可以自己構造。

ResultSet* rs = m_dbConn.ExecuteQuery(strSql);

while(rs->Next())

{

string str = rs->GetString(”username”);

AfxMessageBox(str.c_str());

}

/*

strSql = “update city set money=money +100 where City_ID=’xxx’”;//所有的增加、刪除、更新都用這段,中間的sql語句可以自己構造。

bRes = m_dbConn.ExecuteUpdate(strSql);

if(!bRes)

{

AfxMessageBox(”ExecuteUpdate fail”);

}

*/

m_dbConn.Close();

定時器的主函數。

void CBeiLiDlg::Go()

{

while(true)

{

// AfxMessageBox(”go”);

Sleep(5*1000);//毫秒。定時器刷新時間。

}

}

//相當的簡單..。

當然。這裏的C的代碼不能直接用。只是一部分。

地圖、城市、基本上算是有了。

接下來是城市裏的建築。

上面講的資源增加,其實定位在建築上更準確。不過建築的分類和數值會複雜很多。那是策劃考慮的問題。

建築上,只講一個前台的修建效果。

當然,這個效果是可有可無。你可以直接給個類似新聞列表的顯示,再加個倒計時就行。

顯示的效果就是,點修建後。不刷新頁面,調入一張動畫圖片。並在時間到後自動轉換為其他圖片。

<script language=’javascript’>

function xiujian()

{

top.abc.document.getElementById(’前台建築位置所在圖片的id’).src=’修建後建築的圖片地址’;

//顯示修建後的建築圖片。可以加上後台時間判斷。其中abc,是建築所在層的id,

}

function xiujian1()

{

setTimeout(’xiujian()’,5000);//動畫時間5秒。這裏也可以加入時間判斷。當時間不到的完成的時候,繼續調用動畫。

}

function donghua()

{

top.abc.document.getElementById(’前台建築位置所在圖片的id’).src=’建築動畫所在的地址’;//顯示修建動畫。

}

donghua();

xiujian1();

</script>

後台部分,把時間到增加資源的代碼改為時間到增加或更新建築就行了。又是增加N個表。。

建築基礎表:產出,類型,圖片等等。。

建築詳細表:屬於哪個城市,可以在城市表裏關聯。關聯的方式不同會對程序有很大的影響。各種關聯方式都行,但是一旦關聯方式確定後,最好別改動。

現在建築也有了。用類似的定時方式,打工,徵兵等等都可以實現。

戰鬥,

兵的參數:兵種,數量,攻擊,防禦等等。

戰鬥的臨時表:誰的兵,打誰,出發時間,戰鬥時間,戰鬥結果。

這裏的幾個字到是簡單。實際的表會複雜一些。

webgame中,戰鬥的過程分兩種,

一種是給出雙方參數,時間到,就根據公式計算結果。

一種是半即時或者即時的戰鬥,可以邊打邊喝藥邊用技能的那種。

第一種流程。

點出兵。這時候,兵的參數,出發時間,到達時間,都記錄進戰鬥臨時表。

定時器中,處理戰鬥的部分,判斷時間是否到開打的時候。到開打的時間了,則取得被攻擊方的兵的參數。然後通過幾個公式計算結果。處理結果,比如誰的兵掛了多少,戰場掉落了多少錢,城市被誰搶到了。一大堆判斷以及updata。(這裏的定時器處理和獲得資源的定時器處理是很類似的。)

最後把結果分別發給雙方。(又涉及到一個短信息系統。)

第二種流程。

點攻擊。馬上就處理數據。打打npc好做。玩家之間對戰,也可以把被攻擊的玩家當成npc來處理。

兩個人或兩人以上即時戰鬥。需要用到ajax了。目前在技術上和理論上是沒問題的,還沒實際寫代碼,所以不好講。

很簡單的公式,兩種戰鬥都可以用到:

intval(sqrt($User_B_AP)-sqrt($User_A_DP));

根號下攻擊-根號下防禦=傷害。

如何製作小遊戲,我想製作一個小遊戲,該怎樣做呢?

如果你抄想自己做,自己學習,想把握每個細節,那麼可以學一門語言,比如説很容易上手的python。 如果用python, pygame可以作為入門。搜索pygame,會有很多教程。

如果已經有了遊戲的設想,可以根據你要製作的遊襲戲類型,搜索"遊戲引擎". 我想你説得小遊戲,應該是2D的,那麼搜索"2D遊戲引擎“。有很多免費甚至開源的遊戲引擎。

這些都不百是能簡單幾句話説清楚的,所以建議你去搜索。如果你懂英文,可以搜索"Game Programming Wiki". 有很多教程。

遊戲製作,是一個很花費時間的過程,不是寫寫代碼就結束了。可玩性,難度調整,美工,等度等。即使是小遊戲,也會花大量的時間。我也在努力學習中。更多追問追答追問我就想要一個很容易上手的軟件追答你要做什麼類型的遊戲?容易上手,能快速完成遊戲的軟件,都是針對具體遊戲類型開發的。而且大多都收費的。追問經營類的追答經營類的,主要難點在AI,一般的2D引擎都可以. 試試Game Maker, 有免費版和收費版.

如果熟悉C++, 也可以看看openttd,這個遊戲有提供代碼下載。

如何製作一個遊戲

想出一個點子、分鏡頭腳本設計、考慮細節、攥寫設計文檔。

1、想出一個點子

點子是啟動遊戲的引子,是一個遊戲的源頭。這個點子首先在大體上應該是個類似於故事的東西。然後這個故事需要有一個目標。在想點子的時候,問一些這樣的問題,例如:“玩家接下來會做什麼?”、“玩家會怎麼做?”。

2、分鏡頭腳本設計

理解一個遊戲最好的方法是使用分鏡——創造一系列能體現遊戲每個關卡或者不同的場景與目標的圖片。每個分鏡用一兩幅圖片來描述正在發生什麼

3、考慮細節

做完分鏡頭腳本設計,就可以開始寫遊戲設計的細節。從這個步驟就開始變得複雜了。你將需要思考每一個可能的細節,並記錄下來。你需要制定遊戲的所有規則和結構。例如下面這系列需要思考的問題。遊戲角色可以做些什麼?他會飛、e799bee5baa6e58685e5aeb931333433623136會游泳還是會穿越時空?

4、攥寫設計文檔

用類似於電影腳本的形式記錄你在上面兩節所思考出來的東西。攥寫文檔看起來像是例行公事,但是攥寫過程可以讓你整理思路,以使你剔除那些一看就知道很白痴的想法或者添加一些其他的有趣的遊戲元素。

擴展資料

注意

你創造的遊戲世界必須是連貫的。必須考慮地足夠周全,使得遊戲世界和諧一致,凝聚在一起,就像我們所生活的世界一樣(或者是更好)。一個和諧連貫的遊戲世界可以讓玩家沉浸其中。他們會放下懷疑和疑惑並從遊戲中得到真正的樂趣。

反過來説,如果你的遊戲設計還沒到位就直接開始製作遊戲,那麼你的遊戲最後看起來像是用泥隨便堆壘起來的建築。如果不進行思考不進行計劃,你無法把玩家帶入到你的世界中,他們不會玩你的遊戲的!

一個單機遊戲是如何製作出來的?需要什麼軟件?

遊戲的開發不是由一個人完成的,需要各種不同工種的人合作來完成,尤其是單機遊戲,其中包括:

1,引擎程序員

2,工具程序員

3,概念原畫

4,3D建模美術

5,動畫美術

6,特效師

7,關卡設計師

8,執行策劃

9,音效設計師

這些還只是在遊戲開發中的分工,在遊戲發行的過程中又會有更多的職責,包括一些版權/法律相關的顧問之類的。

對於國內現在比較普遍的網絡遊戲,分工又和一般單機遊戲的分工不一樣,大致可以分為:

1,主策劃

2,執行策劃

3,主程序

4,客户端程序

5,服務器程序

6,主美術

7,2D美術

8,3D美術

在開發過程中一般用到的軟件有:

1,3DSMAX 或者 MAYA 用來做3D建模

2,VS.NET用來做程序

3,Office系列的Excel, Visio, Word, PPT等是策劃用e68a84e799bee5baa631333262343232來寫文檔的

4,SVN,CVS,VSS等用來做版本管理

5,Project用來做項目管理

如果是引擎程序員的話,往往會涉及到使用一些引擎,一般有自己製作的引擎,或者是第三方購買的一些引擎。主流的圖形引擎如下:

1,Unreal系列,現在市面上的《天堂2》,《AION》都是基於Unreal的圖形引擎製作的

2,CryEngine,目前市面上最強的圖形引擎,也是最貴的引擎,是《孤島驚魂》所使用的引擎,目前國內只有搜狐暢遊一家購買了這個引擎。

3,OGRE/Torque/Nebula2,這些都屬於三線引擎了,基本屬於免費的,或者收費非常低的引擎。

大部分國內的網遊公司一般都會選擇自己製作引擎,因為每個遊戲的一些特點不一樣,如果受引擎的*太多,會影響到遊戲設計的發揮。

希望説的對你有所幫助:)

自己怎麼做一個寵物小精靈的遊戲

去電玩巴士下改版工具箱,然後去寵物小精靈-ROM-改版專區,那裏有超詳細教程。還有改太多東西會產生一大堆BUG導致遊戲玩不了。

TAG標籤:遊戲 #