如何自己製作模擬游戲
① 各種模擬游戲是怎麼製作的
通過程序設計出來的,美工圖像處理,程序情節代碼設計,音響師設計音樂等。一套系統化方案。
② 如何製作模擬現實賽車游戲
這個需要一個,完美的賽車游戲的引擎,然後再載入模型,你要實現的游戲就可以完成!
有關游戲製作製作,策劃,建議你去網路搜索
艾酷CG
網看看,這個是國內最專業的CG動畫和游戲製作平台,也可以了解游戲製作流程
裡面有你要了解的,包括游戲行業信息!
有需要可以來官網拿游戲項目開發流程了解書!
③ 模擬人生這款游戲是如何編寫的
<對於模擬人生這款游戲來說,我認為它的創作者在編寫這款游戲的時候,是做了很多的前期准備的。畢竟製作一款游戲真的是需要非常多的時間的,不論是一些素材的選舉,或者說是一些游戲場景的設置,都還是需要一定的專業技巧的。很有可能他在編寫的時候,先是利用了一個比較專業的團隊去製作這一個模板,最後再加入自己的一個創新點和思路,才完成了這樣一款比較受人歡迎的游戲。其實大部分的游戲也都是通過這樣的方式去設計的,還是需要自己的一個創新點。
④ 如何製作游戲視頻電腦上的任何模擬游戲
只要是可以窗口化的游戲都可以用「玩家寶寶」一體化操作。 "玩家寶寶"可以在玩游戲的同時可靜態和動態兩種:拍照和錄像,拍照和錄像自由選擇目標窗口,拍照是全屏,可以手動拍和自動拍,拍好後還可以直接選取好看的部份比例製作成連環畫,製作時有加入文字,加入音樂,自由排列圖片,加效果等很多功能。錄像更強,可以選擇是否錄電腦里的聲音,而且錄像比例大小是自已自由選擇,錄好後製作魔法卡時還有合並,載選段落,加入音樂等很多功能。 總之,「玩家寶寶」有自已的特色功能:角色秀,連環畫,魔法卡,大頭貼,個人空間,公會ID等多種功能。操作也十分簡單,而且從拍到上傳全部一體化。 玩家在線官方主頁:http://www.weplay.cn/ 玩家寶寶下載地址:http://www.weplay.cn/download/baobao.html
⑤ 自己想製作手機單機/聯網,模擬養成類游戲,0基礎,該怎麼起步
學C#編程,學游戲引擎(比如U3D,虛幻),2D游戲還要學繪畫,3D游戲要學建模。
推薦去AboutCG學一下相關的知識
比如這種教程。
當然做游戲不是說說就有的,涉及的知識面相當廣,即使是獨立游戲的製作也大都有一個小製作團隊分工合作,像Toby Fox這種獨立製作出《Undertales》這種獨立神作的人少之又少。
⑥ 游戲模擬器怎麼做
這些是街機游戲
應該是通過一定的手段從街機晶元上復制的吧
請採納答案,支持我一下。
⑦ 如何製作GBA游戲
GBAS 是 GameBoy Advance development System (GameBoy Advance 開發系統)的縮寫,它主要的功能便是用來做 GameBoy Advance 游戲以及數據的傳輸,使用者可以自行將自己所撰寫的 GameBoy Advance 軟體透過 GBAS 燒錄機傳至 GBAS 64M 或 GBS 128M 的覆寫卡上面,然後插入 GameBoy Advance 的主機執行。就是說,如果你自己也會開發GBA的游戲的話(據說對於好的程序員不是很難),那麼你根本不需要任天堂的授權,就可以把自己開發的GBA游戲直接通過GBAS系統在GBA上遊玩。
GBAS 燒錄機的功能除了負責將 GameBoy Advance 的軟體傳輸至覆寫卡外,他還具備可將原版 GameBoy Advance 卡帶備份至計算機儲存成 *.GBA 的計算機檔案,或者將原版 GameBoy Advance 卡帶以及 GBAS 覆寫卡中的記憶存檔備份成 *.SAV 的計算機檔案。這些備份的檔案均可配合各種 GameBoy Advance 計算機模擬器執行。而這就意味著你可以利用這款系統自由把網路上的GBA游戲的ROM通過GBAS燒錄機直接拷貝到專用GBAS卡帶上,想想網路上已經可以執行的GBA游戲ROM的數量,是不是有些心動了?
應該說GBAS是一個相當完善的系統,雖然這款系統剛剛開發完畢,但是它在功能上已經相當優秀了,那我們現在看看它有那些特點。
一、EEPROM 特殊記憶支持: 這款GBAS是目前唯一支持 EEPROM 記憶格式的 GBA 開發工具,也是目前唯一可以對應 Super Mario Advance (日/美)的開發工具。哈哈,要知道超級MARIO大冒險的美版還沒有出啊,而在網路上,這個游戲的ROM早就有了,所以大家可以看到在圖片中執行的GBA游戲就是超級MARIO大冒險的美版。
二、超大電池記憶: 超大 1M 電池記憶,支持所有游戲記憶(包括游戲王五代的超大電池記憶也能支持)。 這個特點是相當好的,也比較貼近玩家的特點,一般來說,用了這個東西,什麼游戲的記錄都不會出問題了,玩家完全沒有必要擔心、GBAS的記憶空間不足。
三、合卡功能: GBAS 支持合卡,64M 版本可支持兩個 32M 的游戲合卡。這樣,玩家可以一次錄進兩個32M的游戲,使GBAS成為一個合卡,要是玩家擁有的是128M的覆寫卡,嘿嘿,那就可以讓你的GBAS成為4合1卡了,這樣就節約了游戲燒錄拷貝的時間,當然,128M的卡幾個自然要高得多了。
四、操作介面:全新窗口下燒錄介面(包含游戲上載,下載以及游戲記錄文件上載下載功能)全新修正了游戲傳輸問題,更快速更准確,支持窗口 9X 作業平台,安裝容易使用方便,使用者完全不用擔心會出什麼問題。
GBA的軟體製作燒錄系統—GBAS
簡單入門-
一. GBA開發包--DevKitAdv 簡介
DevKitAdv 主要包括兩部分,一是GCC++編譯器,二是 GBA庫.
GCC++編譯器功能和我們常用的VC差不多,只不過少了個編輯源代碼的文本編輯器(至少我沒發現,我用的是EditPlus,UltraEdit也可以),還有就是--不支持類(class),真是讓人頭痛,只能用struct來替代.它的作用是把我們寫的代碼編譯成二進制的可執行文件,當然這個可執行文件是相對GBA和GBA模擬器而言的.就象Windows里的EXE文件無法在Mac機上使用是一樣的道理;
GBA庫提供了圖像,控制及聲音一系列的函數,和GCC++配合使用.
下載地址: http://occultforces.mine.nu/~darkfader/gba/files/devkitadv.zip
二. DevKitAdv 的安裝
沒啥好說的,解壓後就可以直接使用,編譯時設置DevKitAdv的路徑就可以了,建議做一個批處理文件,比如 go.bat
set PATH=d:\devkitadv\bin;%PATH%
cmd (win98是command)
三. 最簡單的 GBA 程序 (t1)
// main.c
// 一些基本數據類型
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned long u32;
#define REG_DISPCNT *(u16*)0x04000000 // 顯示寄存器地址
#define VRAM 0x06000000 // 圖像緩沖區地址
#define M5_VRAM 0x0600A000 // M5緩沖區地址
#define BACKBUFFER 0x010 // 雙緩沖/背緩沖地址
#define PALETTE 0x5000000 // 調色板地址
#define MODE_3 0x03 // 240*160 15bits/單緩沖區
#define MODE_4 0x04 // 240*160 8bits/雙緩沖區
#define MODE_5 0x05 // 160*128 15bits/雙緩沖區
#define BG2_ENABLE 0x0400 // BG_2
#define SetMode(Mode) REG_DISPCNT=(Mode) // 設置顯示模式的宏定義
// ----------- 主程序 ------------
int main()
{
//設置屏幕模式,這里使用MODE_4
SetMode (MODE_4 | BG2_ENABLE);
}
1.MODE_5和MODE_3都是16bits,但MODE_3隻有單緩沖,製作動畫效果肯定沒雙緩沖好,因此排除MODE_3;
2.MODE_4是8bits,理論上256色對於掌機夠用了,雖然16bits真彩的誘惑沒有人想抗拒,可MODE_5隻有160*128咧,在實際應用中建議還是使用MODE_4.
很簡單吧--的確是的,現在要用GCC編譯它:
gcc -lm -o main.elf main.c
obj -v -O binary main.elf main.bin
你會看目錄下多了個"main.bin",這個就是能在GBA模擬器上執行的二進制文件!
教程中t1-t10目錄為源程序目錄,裡面有個make.bat,修改代碼後直接執行它就可以編譯,但要注意我的devkitadv是裝在D:,你要是裝在別的盤就得改一下make.bat的path參數.
四. 在MODE_4背景層畫圖的 GBA 程序 (t2)
在GBA的MODE_4里畫一幅圖要經過3個步驟:
1. 把原始256色圖像文件轉換成 *.h / *.c 的數據文件,我們用的是 < BMP2GBA > ,這里以"image.bmp"為例,轉換後我們就得到了一個"image.h"文件;
2. 在程序開頭#include "image.h",這樣就能在程序中使用"image.h"定義的調色板和圖像數據;
3. 在程序中把"image.h"定義的調色板和圖像數據寫入MODE_4背景層的調色板和圖像緩沖區.
另外,GBA還有專為精靈設置的物體層,它的用法和背景層一樣,只是功能有點不一樣,地址是0x06000000.有關用這里就不詳細說了,大家可以把精靈數據直接輸出到物體緩沖區就可以了.
下面是源程序:
... ...
// 包含圖像調色板和數據的頭文件
#include "gfx/image.h"
// ----------- 全局變數 --------
// 系統調色板
u16* palette_mem=(u16*)PALETTE;
// 圖像緩沖區
u16* video_buffer=(u16*)VRAM;
// ----------- 函數定義 ---------
// MODE_4繪圖函數
void Draw(u16* src_palette,u16* src_data,u16* dst_palette,u16* dst_data);
// ----------- 主程序 ------------
int main()
{
// 設置屏幕模式,這里使用MODE_4
SetMode (MODE_4 | BG2_ENABLE);
// 在背景層畫圖,Palette和Data是在"image.h"定義的調色板和圖像數據數組名
Draw(Palette,Data,palette_mem,video_buffer);
}
// MODE_4繪圖函數
void Draw(u16* src_palette,u16* src_data,u16* dst_palette,u16* dst_data)
{
int loop,x,y;
// 寫入目的調色板
for(loop = 0; loop < 256; loop++)
dst_palette[loop] = src_palette[loop];
// 寫入圖像緩沖區
for(x = 0; x < 120; x++)
{
for(y = 0; y < 160; y++)
{
dst_data[(y) *120 + (x)]=src_data[(y) *120 + (x)];
}
}
}
編譯後得到main.bin,然後在GBA模擬器里運行,就可以得到這樣的結果:
五. 在MODE_5畫圖的 GBA 程序 (t3)
在GBA的MODE_5里畫一幅圖也要經過相似3個步驟,只不過不需要調色板數據:
1. 把原始真彩圖像文件轉換成 *.h / *.c 的數據文件,我們用的是 < Targa2GBA > ,這里以"image.bmp"(240*160)為例,DOS窗口下進Targa2GBA目錄,輸入"t2g mode5 image.bmp image.h",轉換後我們就得到了一個"image.h"文件;
2. 在程序開頭#include "image.h",這樣就能在程序中使用"image.h"定義的圖像數據;
3. 在程序中把"image.h"定義的圖像數據寫入圖像緩沖區.
下面就是源程序:
// 包含圖像數據的頭文件
#include "gfx/image.h"
// ----------- 全局變數 --------
// 圖像緩沖區
u16* video_buffer=(u16*)VRAM;
// ----------- 函數定義 ---------
// MODE_5繪圖函數
void Draw(int x,int y,int w,int h,u16 *src_data,u16 *dst_data);
// ----------- 主程序 ------------
int main()
{
// 設置屏幕模式,這里使用MODE_5
SetMode (MODE_5 | BG2_ENABLE);
// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名
Draw(0,0,240,160,image,video_buffer);
}
// MODE_5繪圖函數
void Draw(int x,int y,int w,int h,u16 *src_data,u16 *dst_data)
{
int i,o,idst;
// 把源圖像數據復制到圖像緩沖區的指定地方
idst =(y*160)+x;
for (i=0;i<h;i++)
{
for (o=0;o<w;o++)
{
if (*src_data != 0)
{
dst_data[idst] = *src_data;
}
idst++;
src_data++;
}
idst += (160-w);
}
}
編譯後運行結果:
六. 全屏顯示的 MODE_5 GBA 程序 (t4)
由於GBA不支持線性的圖像變換,因此得到的結果會產生一些馬賽克的現象,現在還是附上這個變換函數和最終結果,其實質量還是可以接受的,大家可以試試使用這個新的MODE_5.
// 切換到新MODE_5全屏模式,page為緩沖區,原理是把顯示寄存器數據X,Y交換,得到128*160的顯示,GBA就會全屏顯示.
void SetFlipMode(int page)
{
u16 *ioreg=(u16*)0x4000000;
*ioreg=5+((page&1)>>4)+(1>>10);
ioreg[0x10]=0;
ioreg[0x11]=256;
ioreg[0x12]=128;
ioreg[0x13]=0;
}
int main()
{
// 設置屏幕模式,這里使用MODE_5
SetMode (MODE_5 | BG2_ENABLE);
// 切換模式
SetFlipMode(0);
// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名
Draw(0,0,240,160,image,video_buffer);
r七. GBA的雙緩沖顯示(t5)
大家在做上面MODEL_5的程序時一定會發現圖像在閃動(第六節的240*160的MM象被破了相...),而MODEL_4下卻比較穩定--這是因為MODEL_5下要處理16bits(實質上是15bits)的圖像,數據量比MODEL_4下的8bits大很多,在沒使用雙緩沖的情況下,圖像填充時就會造成閃爍,這就是為什麼我們拋棄了MODEL_3的原因...
原理也很簡單,圖像在背緩沖區里填充好之後再直接輸出到前緩沖區顯示,程序里就是一個 "等待同步-> 交換緩沖" 的過程:
... ...
// ----------- 全局變數 --------
// 圖像緩沖區
u16* video_buffer=(u16*)M5_VRAM;
// ----------- 函數定義 ---------
... ...
// 等待緩沖區數據同步
void WaitSync ();
// 交換緩沖區內容
void SwapScreen ();
// ----------- 主程序 ------------
int main()
{
// 設置屏幕模式,這里使用MODE_5
SetMode (MODE_5 | BG2_ENABLE);
while(1)
{
// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名
Draw(0,0,240,160,image,video_buffer);
WaitSync();
SwapScreen();
}
}
// 等待緩沖區數據同步
void WaitSync ()
{
while (*(volatile u16*)0x4000006<160) {};
}
// 交換緩沖區
void SwapScreen ()
{
if (REG_DISPCNT & BACKBUFFER)
{
REG_DISPCNT &= ~BACKBUFFER;
video_buffer = (u16*) M5_VRAM;
}
else
{
REG_DISPCNT |= BACKBUFFER;
video_buffer = (u16*) VRAM;
}
}
八. GBA 的按鍵輸入(t6)
講了老半天的圖像,雖說是對著MM,但大家一定也有點煩了,我們現在就換個方向,來看看GBA的控制.
... ...
// 按鍵控制
#define KEY_A 1
#define KEY_B 2
#define KEY_SELECT 4
#define KEY_START 8
#define KEY_RIGHT 16
#define KEY_LEFT 32
#define KEY_UP 64
#define KEY_DOWN 128
#define KEY_R 256
#define KEY_L 512
volatile u32* KEYS = (volatile u32*)0x04000130;
// 包含圖像調色板和數據的頭文件
#include "gfx/image.h"
// ----------- 全局變數 --------
// 圖像緩沖區
u16* video_buffer=(u16*)M5_VRAM;
// 圖像顯示坐標
int img_x,img_y;
// ----------- 函數定義 ---------
// 按鍵控制
void KeyAction();
... ...
// ----------- 主程序 ------------
int main()
{
// 設置屏幕模式,這里使用MODE_5
SetMode (MODE_5 | BG2_ENABLE);
while(1)
{
// 處理按鍵事件
KeyAction();
// 在背景層畫圖,image是在"image.h"定義的圖像數據數組名
Draw(img_x,img_y,96,64,image,video_buffer);
WaitSync();
SwapScreen();
}
}
// 處理按鍵事件
void KeyAction()
{
// 上方向鍵
if(! ( (*KEYS) & KEY_UP) )
{
img_y+=5;
}
// 下方向鍵
if(! ( (*KEYS) & KEY_DOWN) )
{
img_y-=5;
}
}
eturn(0);
九. 簡單聲音輸出(t7)
Simple is the Best(簡潔至上),這里我們使用一個現成的聲音模塊(Troff Player,by Vova & Serge).這里還要用到一個轉換工具< MOD2GBA >,用來把MOD音樂文件轉換成GBA的 *.c / *.h 聲音數據文件.MOD和MIDI差不多,但支持更多更強的效果.MOD可以由konvertor這個強大的軟體轉換而來.
// MOD數據文件
#include "song_data.h"
// MOD播放函數文件
#include "modplayer.h"
// ----------- 主程序 ------------
int main()
{
//設置屏幕模式,這里使用MODE_4
SetMode (MODE_4 | BG2_ENABLE);
// 初始化聲音(聲道數,音量)
InitSound(2, 7);
// 初始化音樂(節拍,循環)
InitSong(20000, 0);
while(1)
{
// 更新音樂播放狀態
UpdateSong();
}
}
OK,就這么EZ.
十. 用圖塊建立可滾動/縮放/旋轉的背景(t8)
這一節主要是源程序中注釋為主,這里就不詳細說明了."gba.h"包含基本宏定義,"maths.h"是sin/cos乘256後的值數組,"main.h"包括了我們定義背景結構及操作背景的函數.
程序中的地圖背景是由不同的圖塊所構成,而這些圖塊統一緊挨著放在一個圖像文件,這樣每個圖塊就會有一個索引號;地圖信息只要記錄這張地圖里共有多少個 單位(圖塊)以及每個單位對應的圖塊索引號就OK了,在例子中"gfx/tiles.h"就是圖塊大本營,而"gfx/level1.h"則是圖塊索引排列表.地圖工具為"map editor beta 4".
背景的滾動/縮放/旋轉是通過一系列的簡單數學計算,修改GBA系統提供的一些背景屬性來完成,因為是由硬體來完成背景的操作(MODE_1),所以速度很快,我還有個MODE_5下直接修改像素點位置來完成旋轉的常式,待會兒大家可以比較一下.
⑧ 我想要能製作像模擬城市一樣的游戲,求方法和製作器
你這么問就知道很難做出來了,還是玩玩游戲算了吧。
你的問題里,
1 所謂「方法」,游戲製作用的是編程製作,編寫代碼,和美工圖片與音樂動畫等組合在一起,整個是一個大工程,沒有照xx步驟就能做出來這樣的「方法」。
2 同樣這類模擬經營游戲是用編程語言寫出來的,沒有按幾個按鈕就能做出來的「製作器」。你現在連自己該求什麼學什麼都不清楚,怎麼能做得出呢
⑨ 如何自己開發游戲
•第一步:對flash界面了解,對軟體了解。同時思考為什麼選擇用FLASH來製作游戲而不選擇JAVA語言或其他。你需要熟練操作flash軟體並能進行動畫製作。•第二步:目前flash游戲開發需要用到Actionscript3.0語言,如果你已經有其他程序設計經驗最好,如果沒有,請先嘗試學習面向對象的概念,多看看編程的書。然後學...•第三步:當你能用as3.0進行動畫控制時,去網上一些資源站點下載flash源碼分析源.