Difference between revisions of "IS480 Team wiki: 2012T1 6P Project Documentation Tools"
Cw.lim.2009 (talk | contribs) |
Cw.lim.2009 (talk | contribs) |
||
Line 35: | Line 35: | ||
| style="border-bottom:2px solid #585858; border-top:2px solid #585858; background:none;" width="2%" | | | style="border-bottom:2px solid #585858; border-top:2px solid #585858; background:none;" width="2%" | | ||
− | | style="padding:0.4em; font-size:70%; background-color:#ffffff; border-bottom:2px solid #585858; border-top:2px solid #585858; text-align:center; color:#585858" width="10%" | [[IS480_Team_wiki: | + | | style="padding:0.4em; font-size:70%; background-color:#ffffff; border-bottom:2px solid #585858; border-top:2px solid #585858; text-align:center; color:#585858" width="10%" | [[IS480_Team_wiki:_2012T1_6P_Project_Documentation_Business_Efforts |<font color="#000000" size=2><b>Business Efforts</b></font>]] |
| style="border-bottom:2px solid #585858; border-top:2px solid #585858; background:none;" width="2%" | | | style="border-bottom:2px solid #585858; border-top:2px solid #585858; background:none;" width="2%" | | ||
− | | style="padding:0.4em; font-size:70%; background-color:#ffffff; border-bottom:2px solid #585858; border-top:2px solid #585858; text-align:center; color:#585858" width="10%" | [[IS480_Team_wiki: | + | | style="padding:0.4em; font-size:70%; background-color:#ffffff; border-bottom:2px solid #585858; border-top:2px solid #585858; text-align:center; color:#585858" width="10%" | [[IS480_Team_wiki:_2012T1_6P_Project_Documentation_Reflection |<font color="#000000" size=2><b>Team Reflections</b></font>]] |
|} | |} | ||
Revision as of 15:48, 27 November 2012
Home | Project Overview | Project Management | Project Documentation | Meeting Minutes | Game |
Downloads | Tools evaluation | Diagrams | Unity3D files hierarchy | Business Efforts | Team Reflections |
Contents
Tools and Technologies evaluation
Software Evaluation
We are a self-proposed FYP project team resulting not having a business sponsor or client to give us a list of software to be used. In the market, there are several companies offering similar products for a particular function. Thus, our team needs to evaluate the possible software to be used, which mostly we have not used before.
The approach that we took when evaluating a software is to first read online reviews on the software and shortlist a few names. From this shortlisted list, we will list down the functions they provide. From there on, we will categorized the functions and list our findings in our evaluation form. The table below represent the software our team had collaboratively evaluated.
Deployment
Software/Tool | Description | Advantages | Disadvantages | Conclusion | Status |
---|---|---|---|---|---|
Amazon EC2 | Cloud computing tool for web services without the need of physical IT infrastructure. |
|
|
The amazon cloud server is definitely going to be used within our project development as it provide the computational power to let us test our project without any initial setup cost at all and it provides the flexibility of development engine deployed. | Recommend |
SmartFoxServer 2X | Multiplayer community development tool that supports Android, iOS, Unity 3D |
|
*Once scaling up is required to support more concurrent users, license fee can be steep. | This is the likely that we would choose this to be our game server as it fulfills the requirements that our game project need and it scalable anytime when required. | Recommend |
Skiller Multiplayer SDK for game server | Free mobile social gaming platform for developer to develop and include social and multiplayer gaming feature in their games. |
|
|
Though it is free, it may not be the best SDK or game server for multiplayer support as it is still not as robust and widely adopted by developers. | Keep In View |
Google App Engine | A cloud service that provide computation power that scale according to your demand. It’s a cloud service provided by Google which charges on a pay-per-use basis. |
|
|
Google App Engine would be one of the option for our project development, however taking into consideration of using game server like SmartFoxServer 2x which is highly compatible and easily configurable on Amazon EC2. The latter option would most probably be the final choice for cloud service. | Keep In View |
Development
Software/Tool | Description | Advantages | Disadvantages | Conclusion | Status |
---|---|---|---|---|---|
Andengine | Free 2D OpenGL game engine for Android mobile game development. |
|
|
Though the limitation of this engine is high, it serves the needs of our current project, and it is open source. It is a likely candidate that our team would choose as the game engine for our project. | Recommend |
Unity3D | A game development tool that supports both 2D and 3D development. Supported platforms includes, PC, Macintosh, iOS and Android. |
|
|
Unity 3D would be recommended for its support from Unity’s large community and for its powerful game engine which ease the development work which shorten the development time needed in the long run. | Recommend |
Corona | A platform for mobile development, allow multiple publication across platforms and OS (iOS, Android, Kindle Fire, Nook) with one single code base. Automatic scaling of screen resolution of application depending of screen size of device. |
|
|
This is a very affordable mobile development platform, however for it is not the best candidate for our game project development. | Keep In View |
Gamesalad | 2D Game Engine |
|
|
Given the fact that the “challenge-a-friend” feature is one of the main selling point of our game, we have decided to drop game salad, even with it’s easy to use interface. | Reject |
MySQL | Open source relational database |
|
|
Given the fact that the “challenge-a-friend” feature is one of the main selling point of our game, we have decided to drop game salad, even with it’s easy to use interface. | Recommend |
Project Management
Software/Tool | Description | Advantages | Disadvantages | Conclusion | Status |
---|---|---|---|---|---|
Jira | A project management tool that helps users to track bugs and tasks, link issues to related source code, plan agile development, monitor activity, and report on project status. |
|
|
JIRA is good but the price for monthly subscription is too expensive. The bug tracking is good as links to the line of code. But an additional plugin cost an extra 10 dollars per month. And the features offered are not as useful and is unsuitable to be used in our project. Planning tasks is important to the PM. But JIRA does not offer an as good interface as the MS project for PM to plan the schedule. Hence we conclude that by coupling MS Project with SVN, it serve the necessary needs for our project. | Reject |
Joomla | It is project management system that is build on open source and can be extend with add on(subject to additional pricing). |
|
|
This web application is promising but it will not be suitable in our context because it lacks the version control. We need a version control for development iterations. The task tracking is good for PM, but it is not sufficient to attract us to use it. | Reject |
Others
Software/Tool | Description | Advantages | Disadvantages | Conclusion | Status |
---|---|---|---|---|---|
SVN | A source control management software that allows collaborative development and support versioning of shared files. |
|
No branching is allowed, users are not able to create an individual branch of the current codes to test things out. |
SVN is the right source control tool for our project. The team is familiar with the usage of the software and its ease of setup help the team to get started with source control in the shortest amount of time. | Recommend |
Github | An open source distributed version control system that is lightweight and fast. It provides additional branching and merging feature that other Source Control Management (SCM) software does not provide. |
|
|
It is really a great source control software with plenty of nice features that might help out the project development, but it come with a price of a higher usage complexity. | Reject |
Microsoft Expression Blend 4 | For prototyping purposes |
|
|
Our team has decided to use Microsoft Expression Blend 4 as our tool for hi-fi prototyping. | Recommend |
Diagrams
System Architecture
We have considered the following architecture set up initially to support multiplayer. However, this set up requires a lot of resources and we have decided to exclude multiplayer support for the scope of IS480. We will be looking into developing multiplayer feature in the near future.
Why have a Game Server and Database Server?
- Our game requires data storage for user's login, progress tracking, feedbacks and more. Additionally, it is projected that there would be multi-player mode support. Hence a game server is required for logic processing, request and response handling.
- With a game server that handles data transfer between game clients and database, we ensure the security of our database as no direct connection is allowed. All database connection would be initiated from our server, which is protected by an authentication system.
Why do we use SmartFoxServer 2X?
- SmartFoxServer 2X is a free server that provides out of the box functionalities for server development that handles concurrent interaction between multiple game clients and the game server.
- It is 100% free for 100 concurrent users for the community version, which is good enough for our initial launch for the moment.
- SmartFoxServer 2X support flexible deployment. It can be deployed locally on Windows/Linux/Mac/Cloud.
Why do we use MySQL as our database management software?
- It's free!
- Everyone in the team is experienced with the language and usage.
Why deployment on the cloud platform and why Amazon EC2 specifically?
- Cloud platform is highly scalable! It has the ability to pump in enough resources to support sudden spike in active users' rate and also automatic tuning down of resources when there is a drop.
- Zero start-up cost for developers like us, who wishes to test out our product without sacrificing performance and heavy investment on hardware assets.
- Amazon EC2 support seamless and quick deployment of SmartFoxServer 2X and it gives developers an option to enable server load balancing as an additional premium option when the server load increases in the future.
Why use Rightscale platform?
- Rightscale provide developers a free and quick configuration setup for SmartFoxServer 2X to be deployed onto Amazon EC2.
- It saves a lot of time and best practices are followed in this way.
Software Architecture
The main focus of the development work of our project is to manipulate with the components' behaviour with the use of C# scripts.
With the use of C# scripts, we are able to have precise control on every collision events and effects in the scenes.
Project Files Hierarchy
Business Efforts
Business Aspect
Game Requirement Analysis
With each round of user testing, an analysis was done based on the results finding as well as the information found on game stores. This serves to better align the team's game objective and to keep the project tasks focused and specific.
Game Scope
Prior to our game conceptualization, an analysis was done on the mobile game app industry to identify several key factors including:
1. Industry overview and potential
2. Mobile platform to target
3. Game model
4. Player type
5. Game category
The mobile game industry is prospective for aspiring game developers. Through detailed analysis and discussion, the team has decided to proceed with a game launch targeted at the Android market due to hardware limitations for development on iOS and the growing Android market. The game will follow a freemium model (no charge for the app) with a simple game concept to be listed under "action and arcade". This is targeted to several player types in order to establish a growing fan base before any intentions to monetize the game application. The team will not look into monetizing the game as it is not the focus of the project.
More details can be found here: Mobile Game Market Analysis
Game Analysis
Following the initial paper prototypes, there has been user feedback which had to be addressed concerning the game concept, in particular whether the game is scalable. To avoid a scenario where the team dives too deep into the game development and being stuck at a roadblock, it is necessary to look towards other successful games currently in the market which has similar game concept to Gralch. "Swing Shot" by com2UsHub has been identified. In the following document, we took a detailed analysis of the game and how we can further improve Gralch.
Game comparison analysis can be found here: Game Comparison
Potential Funding:
The team acknowledged the need for funding early on in the project. We have looked towards SMU IIE and MDA for funding but have been unsuccessful.
MDA Application: MDA Development Assistance Application
Moving ahead
Firstly, we will explore other funding alternatives. Secondly, we will look into expanding the game. Features such as multiplayer support, addition of new characters, addition of new world/themes and enhanced graphics effects will be implemented. Lastly, our game received a average rating of 4.6 out of 5 in Google Play Store, this reflects well on the popularity of our game. Thus, the team will also be looking into porting the game over to iOS and hope to attract more user to play our game.
Marketing aspect
Our approach towards our game launch consists of two main phases; pre-launch and post-launch. Our efforts for pre-launch focus primarily on word of mouth through peers and people we approached for our user tests. In our post-launch, we tapped on social media platforms such as facebook, twitter and our team's website and blog to increase our marketing presence. Due to the constraint of a lack of budget from any sponsors or clients, we worked within our means to increase our team's presence. We came up with a marketing strategy that utilizes cost effective solution to increase 6P presence and organic searches in the web.
Choosing a name for our game
Web presence
As part of our marketing campaign, we have created our web page to increase our web presence. On our website, we have provided the link to download our app from Google Play, forms to contact us for support and general enquiry.
We have also listed our sites to Google and Bing/Yahoo search engine using the respective webmaster tools.
In addition, we have also set up blog where we will post the latest development updates and talk about recent events. By doing so, it will helps to add in new contents to our site, thus increasing the change of being crawled by search engines bots. The blog is updated on a weekly basis, with more entries made during the launch of our game application.
Social media pages
We have set up Twitter account, Facebook and Google+ pages. Social media is a good platform for us to share the news of release update to our friends and spread via word of mouth. We will post status updates to all our social media accounts frequently and will help create awareness within our social circles. Leveraging on such platforms in addition to forums allows us to reach out internationally. This has helped with increasing international downloads.
SEO: Selection of keywords
As our game story is primarily based on a monster following a trail of cherries to find his friends, we have decided to focus on our keywords on "monster". To make it more specific, we have include "games" this keyword and thus, "monster games" shall be the main keyword we are focusing on for our SEO efforts.
A quick check on "monster games" using the Google Keyword tool, it revealed that there are a total of 1.5 million searches performed on variants of "monster games" globally in every month. This shows that games with story focusing on monsters concept is abundant and it is a competitive market.
And currently, our game is free and another keyword to focus on instinctively will be "Android free games". Likewise, after doing a check using Google Keyword tool, it revealed that there is a global search performed on variants of this keyword every month. This is another keyword that we can use in our SEO.
All in all, we have been using variants of "monster games" and "android free games" in all our site contents, social media posts and app description in Google Play Store. However, SEO takes time to refine and perfect and it will not be able to drive downloads from Google Play Store nor increase our website traffic overnight. Nevertheless, we will be monitoring the web traffic frequently using Google analytics tool and will refine our selection of keywords, thus increasing organic searches from search engine.