羅玉棋
摘要:隨著社會經(jīng)濟的發(fā)展,游戲行業(yè)的競爭也越來越激烈,網(wǎng)絡(luò)游戲的競爭,離不開一款游戲運營平臺。而一套基于Java的游戲運營平臺就是一個很好的選擇,因為該平臺有良好的WEB界面,還具備很好的存儲和通信的功能。本課題以SSH作為框架,MySQL數(shù)據(jù)庫作為后臺管理,用JSP和JS以B/S模式,開發(fā)了一款符合游戲公司需求的大明王爺游戲運營平臺,并在論文中介紹了各個模塊的設(shè)計與實現(xiàn)。最后以實例的方式驗證了大明王爺游戲運營平臺簡單、安全、實用。
關(guān)鍵詞:游戲運營平臺;Java;JavaScript;SSH框架;MySQL
在信息時代,游戲行業(yè)高速發(fā)展,已成經(jīng)濟新亮點,尤其是中國,據(jù)估計,去年約有5.34億電子游戲玩家,也就是說,全球每14個人中便有一位中國玩家。在如次繁榮的游戲行業(yè),每出一款網(wǎng)絡(luò)游戲,就需要一款對應的運營平臺來維持它的運行。一款游戲發(fā)行成不成功與運營有很大的關(guān)系,運營平臺不僅要通過對數(shù)據(jù)庫的操作對游戲運營信息進行統(tǒng)計,還要對管理人員分配權(quán)限,從而統(tǒng)計整個游戲的運維數(shù)據(jù),同時對游戲進行一些必要的操作,最終達到對游戲的監(jiān)測,實現(xiàn)銷售、運營信息化。這種現(xiàn)狀就使得游戲公司沒開發(fā)一款網(wǎng)絡(luò)游戲就要開發(fā)對應游戲的運營平臺。在如今激烈的競爭市場,一些公司在游戲運營平臺有了獨特的設(shè)計體系,如通過記錄不同渠道導入的用戶,從而設(shè)計出最佳的買量方案。這是一個簡單的運營平臺信息處理,所以一款游戲有一款適合它的運營平臺在市場上才會有長遠前景。
一、游戲運營平臺開發(fā)主要內(nèi)容
根據(jù)企業(yè)對游戲提出的要求,以及當前技術(shù)分析,設(shè)計開發(fā)基于Java的游戲運營平臺,該平臺充分耦合游戲業(yè)務邏輯,管理人員通過Web頁面HTTP交互對游戲發(fā)送指令與對數(shù)據(jù)庫的操作,達到查詢數(shù)據(jù)與管理游戲的目的。
基于Java的游戲運營平臺主要包括以下功能:修改密碼、管理系統(tǒng)用戶、用戶補償、系統(tǒng)公告、管理游戲用戶、平臺數(shù)據(jù)統(tǒng)計、活動管理、跑馬燈、玩家操作查詢等功能。管理人員操作便捷,極大提高工作效率。
主要內(nèi)容:
①對游戲流程與需求進行分析,確定整體的邏輯框架。
②根據(jù)功能設(shè)計數(shù)據(jù)庫。
③用js嵌入jsp中實現(xiàn)動態(tài)界面渲染。
④利用Java實現(xiàn)tomcat服務器邏輯。
⑤測試,沒有bug后提交給運營。
⑥運營測試后根據(jù)運營要求進行優(yōu)化與修改。
二、開發(fā)環(huán)境及工具
(一)開發(fā)環(huán)境
① 操作系統(tǒng):windows 10
②開發(fā)工具:myeclipse 2014
③數(shù)據(jù)庫:mysql 5.6
④WEB服務器:tomcat7
(二)技術(shù)支持
①JDK(Java Development Kit):Java開發(fā)包或Java開發(fā)工具,是一個編寫Java的Applet小程序和應用程序的程序開發(fā)環(huán)境[1]。
②Java語言:一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征[2]。
③SSH框架:SSH是 struts+spring+hibernate的一個集成框架,是目前比較流行的一種Web應用程序開源框架[3]。
④MySQL數(shù)據(jù)庫:MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應用軟件[4]。
⑤JSP(java服務器頁面):是一個簡化的Servlet設(shè)計,是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來,具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點[5]。
⑥JavaScript:JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言[6]。
⑦Tomcat 服務器:一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。
三、框架設(shè)計與實現(xiàn)
(一)整體設(shè)計思路
首先功能模塊很多,要在一個首頁上盡可能能夠便捷操作,而且要達到其未來開發(fā)的可拓展性,就需要動態(tài)加載頁面,通過動態(tài)加載菜單欄而訪問各個功能,同時在這也可以進行權(quán)限控制,不同等級的用戶開放不同的權(quán)限。
設(shè)計思路:
首頁開始初始化→讀表獲取Jsp文件路徑→動態(tài)加載菜單欄
這樣在以后運營提出新的功能,開發(fā)者只需要配置表格把文件放上去就可以使用,從而達到其高耦合性,后續(xù)開發(fā)更為便捷。而各個功能模塊相對獨立,不相互影響,增加其穩(wěn)健性。在業(yè)務運行階段,出現(xiàn)問題也不影響全局,開發(fā)新的功能模塊不需要修改代碼,達到高效率與穩(wěn)定性。
(二)具體功能設(shè)計與實現(xiàn)
①設(shè)計思路:
服務端http請求使用標準Java接口(java.NET) HttpURLConnection,可以實現(xiàn)簡單的基于URL請求、響應功能;
而前端使用jQuery提供的ajax(),該方法是 jQuery 底層 AJAX 實現(xiàn)。簡單易用的高層實現(xiàn) $.get, $.post 等。$.ajax() 返回其創(chuàng)建的 XMLHttpRequest 對象。
數(shù)據(jù)庫采用mybatis進行管理,對數(shù)據(jù)進行存取,而邏輯層使用Java進行實現(xiàn)。
②實現(xiàn):
配置Struts,即項目的一些全局的屬性,用戶請求和響應Action之間的對應關(guān)系,以及配置Action中可能用到的參數(shù),以及處理結(jié)果的返回頁面。還包括各種攔截器的配置等。
配置Spring依賴注入(對實例進行統(tǒng)一管理)。
在web.xml 文件中注冊一個contextConfigLocation到具體的靜態(tài)實現(xiàn)類,定義一個靜態(tài)類,將數(shù)據(jù)加載到緩存。這是一個總初始化接口:初始化表格數(shù)據(jù),建立JDBC數(shù)據(jù)庫連接,啟動定時任務等。
設(shè)計jsp用戶交互頁面,調(diào)試使用。
四、測試
測試是很重要的一個環(huán)節(jié),開發(fā)者的任何產(chǎn)品在未經(jīng)測試的環(huán)境下,是不能提交給用戶上渠道的。在測試環(huán)境下以debug方式發(fā)布項目通過日志信息修改異常。同時追蹤每個功能操作的正常流程,以減少bug。從而為用戶提交品質(zhì)良好的產(chǎn)品。
一款開發(fā)產(chǎn)品是通過無數(shù)次這樣的測試而投入使用的,中間會測出來許多問題,通過各種修修補補,從而得到比較成熟的版本了,基本符合企業(yè)的要求后,投入運營使用。
五、總結(jié)
Web 應用現(xiàn)今使用最多的計算機應用,是當今計算機應用的主流。Java是現(xiàn)今世界最流行的編程語言,該游戲運營系統(tǒng)的選用目前最流行的 Web 程序設(shè)計語言Java 作為編程主語言。系統(tǒng)架構(gòu)采用了SSH整合mvc框架來實現(xiàn),采用 JSP 實現(xiàn)與用戶的交互。用性能強且價格便宜的mysql做數(shù)據(jù)庫,最終實現(xiàn)了基于大這款游戲的運營平臺。
參考文獻:
[1](Bruce Eckel)布魯斯. Thinking in Java[M]. Prentice Hall,2006.
[2]劉甲耀.Core Java/Java應用程序編程案例[M].武漢大學出版社,2010.
[3](BarrettDanielJ)巴雷特,(SilvermanRicbardE)西爾弗曼. SSH權(quán)威指南[D].中國電力出版社,2003.
[4]姜承堯. MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎[M].機械工業(yè)出版社,2011.
[5]NicholasS. Williams. Professional Java for Web Applications[M].Wrox,2014.
[6]Douglas Crockford. JavaScript語言精粹[M].電子工業(yè)出版社,2009.