開發小游戲
『壹』 小游戲開發
小游戲開發分為兩種:微信H5游戲和微信小程序游戲
小程序是一種應用,運行的環境是在微信上;H5是一種技術,依附的外殼是瀏覽器。
H5的運行環境是瀏覽器,包括webview,而微信小程序的運行環境並非完整的瀏覽器,因為小程序的開發過程中只用到一部分H5技術。
H5開發要比小程序開發簡單得多,開發時間也快得多,而且小程序的成本要比H5貴很多
以上就是小游戲開發的兩種簡單說明,希望對你有一定的幫助
『貳』 如何快速開發小游戲
這個分類有點大了,頁游還是手游還是PC游戲?
用什麼語言開發?VC還是java還是C#。
如果你有程序基礎,可以用開源的游戲開發引擎做游戲,比如著名的Unity引擎,獨立游戲很多都是這個引擎做的,比如國產ARPG良心作:血雨前傳 蜃樓
如果沒有程序基礎但是想開發個小游戲自己過把癮的話,有個小軟體推薦給你:rpg maker。
可以製作簡單的游戲。不要求你有任何的程序基礎,基本就是自己寫個劇本,然後按照劇本使用這個軟體把游戲做出來就行了。游戲是2d的,都是些貼圖,所以不存在什麼建模問題。開發速度會很快,但是做出來的基本就是FC的畫質稍好一點,完全跟不上時代。
另外一個選擇,你可以研究下地圖編輯器,你可以想想大名鼎鼎的dota是怎麼做出來的。魔獸爭霸3的WorldEditor確實很強力,玩這個需要你有一定的程序基礎,因為想要效率高,還是要寫代碼出來的,WE有內置的腳本語言。當然war3有點老了,你可以折騰暴雪的新作,星際爭霸2,聽說那個的地圖編輯器的功能更強。
游戲開發對於個人來說工作量太大了,沒有一個開發團隊是很困難的,這個有程序基礎的人都會很清楚,這根本就不是一個人能玩轉的。
『叄』 如何開發一個簡單的html5小游戲
創建畫布
// Create the canvas
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = 512;
canvas.height = 480;
document.body.appendChild(canvas);
首先我們需要創建一張畫布作為游戲的舞台。這里通過JS代碼而不是直接在HTML里寫一個<canvas>元素目的是要說明代碼創建也是很方便的。有了畫布後就可以獲得它的上下文來進行繪圖了。然後我們還設置了畫布大小,最後將其添加到頁面上。
准備圖片
// 背景圖片
var bgReady = false;
var bgImage = new Image();
bgImage.onload = function () {
bgReady = true;
};
bgImage.src = "images/background.png";
游戲嘛少不了圖片的,所以我們先載入一些圖片先。簡便起見,這里僅創建簡單的圖片對象,而不是專門寫一個類或者Helper來做圖片載入。bgReady這個變數用來標識圖片是否已經載入完成從而可以放心地使用了,因為如果在圖片載入未完成情況下進行繪制是會報錯的。
整個游戲中需要用到的三張圖片:背景,英雄及怪物我們都用上面的方法來處理。
游戲對象
// 游戲對象
var hero = {
speed: 256, // 每秒移動的像素
x: 0,
y: 0
};
var monster = {
x: 0,
y: 0
};
var monstersCaught = 0;
現在定義一些對象將在後面用到。我們的英雄有一個speed屬性用來控制他每秒移動多少像素。怪物游戲過程中不會移動,所以只有坐標屬性就夠了。monstersCaught則用來存儲怪物被捉住的次數。
處理用戶的輸入
// 處理按鍵
var keysDown = {};
addEventListener("keydown", function (e) {
keysDown[e.keyCode] = true;
}, false);
addEventListener("keyup", function (e) {
delete keysDown[e.keyCode];
}, false);
現在開始處理用戶的輸入(對初次接觸游戲開發的前端同學來說,這部分開始可能就需要一些腦力了)。在前端開發中,一般是用戶觸發了點擊事件然後才去執行動畫或發起非同步請求之類的,但這里我們希望游戲的邏輯能夠更加緊湊同時又要及時響應輸入。所以我們就把用戶的輸入先保存下來而不是立即響應。
為此,我們用keysDown這個對象來保存用戶按下的鍵值(keyCode),如果按下的鍵值在這個對象里,那麼我們就做相應處理。
開始一輪游戲
// 當用戶抓住一隻怪物後開始新一輪游戲
var reset = function () {
hero.x = canvas.width / 2;
hero.y = canvas.height / 2;
// 將新的怪物隨機放置到界面上
monster.x = 32 + (Math.random() * (canvas.width - 64));
monster.y = 32 + (Math.random() * (canvas.height - 64));
};
reset方法用於開始新一輪和游戲,在這個方法里我們將英雄放回畫布中心同時將怪物放到一個隨機的地方。
更新對象
// 更新游戲對象的屬性
var update = function (modifier) {
if (38 in keysDown) { // 用戶按的是↑
hero.y -= hero.speed * modifier;
}
if (40 in keysDown) { // 用戶按的是↓
hero.y += hero.speed * modifier;
}
if (37 in keysDown) { // 用戶按的是←
hero.x -= hero.speed * modifier;
}
if (39 in keysDown) { // 用戶按的是→
hero.x += hero.speed * modifier;
}
// 英雄與怪物碰到了么?
if (
hero.x <= (monster.x + 32)
&& monster.x <= (hero.x + 32)
&& hero.y <= (monster.y + 32)
&& monster.y <= (hero.y + 32)
) {
++monstersCaught;
reset();
}
};
這就是游戲中用於更新畫面的update函數,會被規律地重復調用。首先它負責檢查用戶當前按住的是中方向鍵,然後將英雄往相應方向移動。
有點費腦力的或許是這個傳入的modifier 變數。你可以在main 方法里看到它的來源,但這里還是有必要詳細解釋一下。它是基於1開始且隨時間變化的一個因子。例如1秒過去了,它的值就是1,英雄的速度將會乘以1,也就是每秒移動256像素;如果半秒鍾則它的值為0.5,英雄的速度就乘以0.5也就是說這半秒內英雄以正常速度一半的速度移動。理論上說因為這個update 方法被調用的非常快且頻繁,所以modifier的值會很小,但有了這一因子後,不管我們的代碼跑得快慢,都能夠保證英雄的移動速度是恆定的。
現在英雄的移動已經是基於用戶的輸入了,接下來該檢查移動過程中所觸發的事件了,也就是英雄與怪物相遇。這就是本游戲的勝利點,monstersCaught +1然後重新開始新一輪。
渲染物體
// 畫出所有物體
var render = function () {
if (bgReady) {
ctx.drawImage(bgImage, 0, 0);
}
if (heroReady) {
ctx.drawImage(heroImage, hero.x, hero.y);
}
if (monsterReady) {
ctx.drawImage(monsterImage, monster.x, monster.y);
}
// 計分
ctx.fillStyle = "rgb(250, 250, 250)";
ctx.font = "24px Helvetica";
ctx.textAlign = "left";
ctx.textBaseline = "top";
ctx.fillText("Monsterrs caught: " + monstersCaught, 32, 32);
};
之前的工作都是枯燥的,直到你把所有東西畫出來之後。首先當然是把背景圖畫出來。然後如法炮製將英雄和怪物也畫出來。這個過程中的順序是有講究的,因為後畫的物體會覆蓋之前的物體。
這之後我們改變了一下Canvas的繪圖上下文的樣式並調用fillText來繪制文字,也就是記分板那一部分。本游戲沒有其他復雜的動畫效果和打鬥場面,繪制部分大功告成!
主循環函數
// 游戲主函數
var main = function () {
var now = Date.now();
var delta = now - then;
update(delta / 1000);
render();
then = now;
// 立即調用主函數
requestAnimationFrame(main);
};
上面的主函數控制了整個游戲的流程。先是拿到當前的時間用來計算時間差(距離上次主函數被調用時過了多少毫秒)。得到modifier後除以1000(也就是1秒中的毫秒數)再傳入update函數。最後調用render 函數並且將本次的時間保存下來。
關於游戲中循環更新畫面的討論可參見「Onslaught! Arena Case Study」。
關於循環的進一步解釋
// requestAnimationFrame 的瀏覽器兼容性處理
var w = window;
requestAnimationFrame = w.requestAnimationFrame || w.webkitRequestAnimationFrame || w.msRequestAnimationFrame || w.mozRequestAnimationFrame;
如果你不是完全理解上面的代碼也沒關系,我只是覺得拿出來解釋一下總是極好的
為了循環地調用main函數,本游戲之前用的是setInterval。但現今已經有了更好的方法那就是requestAnimationFrame。使用新方法就不得不考慮瀏覽器兼容性。上面的墊片就是出於這樣的考慮,它是Paul Irish 博客原版的一個簡化版本。
啟動游戲!
// 少年,開始游戲吧!
var then = Date.now();
reset();
main();
總算完成了,這是本游戲最後一段代碼了。先是設置一個初始的時間變數then用於首先運行main函數使用。然後調用 reset 函數來開始新一輪游戲(如果你還記得的話,這個函數的作用是將英雄放到畫面中間同時將怪物放到隨機的地方以方便英雄去捉它)。
到此,相信你已經掌握了開發一個簡單H5小游戲需要的基本功了。玩玩這個游戲或者下載代碼自己研究研究吧 :)
Feel free to repost but keep the link to this page please!
『肆』 怎樣開發製作一款游戲
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-497042301975376052
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-497042301975376052
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
『伍』 h5小游戲開發是怎麼做的簡單嗎
這個問題還真不好回答,
H5小游戲,其實就是 html5 + css3 + javascript 等原生技術開發的小游戲。至於簡不簡單,那得看你的學習能力和理解能力了。html5+css3+javascript 是前端開發的基礎技術,但是也是最重要的技術。入門比較容易,但是要精通還真的不簡單。
小游戲主要就是結合html5,使用canvas 和 css3的各種屬性,然後結合 js來進行操作。學好這些技術,開發一個簡單的小游戲並不難。
『陸』 專業小游戲開發平台有哪些
據我所知,目前行業里比較專業的,規模比較大的是TOM游戲開發平台,我好幾個做推廣的朋友都在用他們的游戲
『柒』 如何開發網頁小游戲
游戲開發,首先得理解游戲的運行原理,網頁游戲的話,看你的需求是什麼,單機小游戲還是網路游戲,二者的開發復雜程度完全不一樣。一般來說,如果只是單機小游戲,利用一些腳本語言來實現頁面動畫就可以做出來了,比如JS。或者用flash也可以實現。原理簡單易學。
如果是網路游戲,那麼在學習交互動畫的基礎上,還要去學會游戲的策劃,以及資料庫的架構,了解基本通信原理,伺服器機制等等。。。有心學習的話,最好找一些demo和教程開始,先理解原理,再學技術。從安全形度來看,國內主流的web游戲開發首選flash,具體的 可以去 天地會論壇 看看,那裡有不少的東西,稍微了解一點 確定你是否真的要朝著這方面發展,然後最好,去找個培訓班,有老師帶,效果完全不一樣的。
以上回答你滿意么?
『捌』 開發小游戲掙錢嗎
開發小游戲掙錢,原因如下:
1、行業進入門檻提升。微信生態越來越健全,各項規范不斷落實,裂變分享、紅包機制、盒子等玩法受到各種限制。流量紅利期的快速過渡讓很多團隊不適應,相比來看,只能說去年太好做了。今年無論是用戶對產品,還是買量對數據的要求越來越苛刻。
2、整個流量市場大盤下跌,幅度不小。研發發行感知的會比較明顯,具體數據不方便在文章中展示。不過我們更應該討論的是「流量都去哪兒了」,其實關於這個問題早在2015、2016年手遊行業的渠道們就曾討論過,最後總結為:用戶就在哪,有好產品就能激活。
換個角度看,國內的互聯網紅利期已經結束,戰略爭奪已經從用戶數量向著用戶時間轉移,隨著娛樂產品的豐富,用戶可選擇的時間消費品越來越多,游戲只是其中一個方面。此外微信小游戲激活了用戶更碎片化的時間以及觸達了更深層的用戶。
『玖』 開發一個游戲小程序要多少錢
游戲微信小程序開發一種是模板開發,另外一種是定製開發,這兩種開發方式和開發費用都不一樣:1、模板開發
小程序模板開發價格就相對較低,一般幾千到一萬左右。優點是價格便宜,操作簡單,能快速上線。
2、定製開發
定製開發的小程序可以根據客戶的實際所需功能量身定造,該類型開發,因為排版,功能需求,UI頁面設計的復雜性,一般研發費用都在1萬以上,當然,目前小程序的開發成本是與功能、頁面的多少成正比關系的,如果需要開發的小程序功能並不多,那麼開發成本自然就低,反之亦然。
在開發周期上,小程序的開發周期平均為4個星期,而一款iOS/Android雙平台APP通常需要3個月的時間;在手機適配方面,小程序是一次開發,多種終端適配,APP則需要逐一調試;作為商家最為關心的開發費用,通常也不會超過5萬元,而一款優秀APP的成本至少會超過十萬元。
玩轉h5營銷活動,助力銷售轉化提升!點擊這里獲取實用的h5游戲製作工具:凡科互動