IS480 Team wiki: 2010T2 Q.U.E.S.T
Contents
Q.U.E.S.T
Final Wiki
Click <font="12" color="red">here to view the final Wiki for Q.U.E.S.T.
About Q.U.E.S.T
Q uality
U nique
E xcellence
S tandards
T eamwork
Mission & Vision
• Quality products for our client that meets their business needs (Quality entails both timely product release and functional requirements are made)
• Working Hand in hand to delivery together
• Strongly motivated , delivery excellence
• Aligning technology and business needs
• make use of technology to solve business issues/problems
• to enhance our "learning to learn" capability throughout our FYP period, and flexible to the fast and ever changing need of the client's needs
Team Members and Roles
Member | Roles | Responsibilities |
---|---|---|
Bau Hon Tzern | Project Manager & Liaison officer |
|
Choi Wing Yan Christina | Game Manager & Lead Tester |
|
Dai Wenjing | Lead Designer & Admin |
|
Desmond Ho Song Sheng | Lead developer & Architecture Analyst |
|
Supervisor
Assistant Professor of Information Systems: Jason Woodard
Client and Sponsor
- Client & Sponsor: Kampung Temasek
- Point of Contact: Soh Ju Hu (Kampung Manager)
My Kampung
About My Kampung
My Kampung is a village-building Facebook game that allows players to design and build their own Kampung. The purpose of My Kampung is to create awareness, to attract, and to sustain volunteers for our client Kampung Temasek. Through the game, players will be able to know more about Kampung Temasek as well as to sign up different voluntary projects.
This game is mainly targeted at Facebook users whose aged between 12 to 30, so as to promote Kampung lifestyle and acts as an avenue to create awareness for Kampung Temasek. This innovative approach for voluntary project will bring more virtual citizens to contribute in reality.
Storyline
It’s the year 2011. You are a hunter hunting in a forest. You spotted a weirdly shaped creature and starting following it. While following, you fell into a deep dark hole and fainted. When you woke up, you realize you got warpped into a kampong styled empty piece of land. For survival, your task is to start working on this piece of land and live the best out of it.
Core Functions & Features
For player:
- My Kampung Facebook Game: A Village Building Game with Social Dynamics
- Rescource planning, collection and trading
- Build huts
- Kampung decoration
- Invite friends to Kampung
- Sign up for Kampung Temasek's voluntary projects
For administrator
- A Volunteer Management Web Portal to:
- Search existing voluntary projects
- Upload and update Voluntary project details
- Update volunteers' records based on projects
Technologies used
Development Technologies
1. MySQL
2. Adobe Flash (AS3, AS2)
3. cPanel (server)
4. Adobe Photoshop
Programming Languages
1. Flash ActionScript 3.0
2. Facebook Markup Language (FBML)
3. Javascript
4. PHP 5
Collaboration
1. Tortoise Subversion
2. Dropbox
3. cPanel
Project Progress Summary (Project Start till Midterm)
Week 1 (Iteration 2)
-Dummy graphic sourcing
-Grid research and coding
-Database research and coding
-Navigation function (push to week 2)
Week 2 (Iteration 2)
-Grid display
-Navigation function (from week 1)
-Database
Week 3 (Iteration 3)
-Grid (prolong)
-Navigation
-Database (bottleneck, pushed to week 5)
-Contact 99 Design
Week 4 (Iteration 3)
-Building function
-Timer function
-Integration
-Graphic proposal for 99 design
Week 5 (Iteration 4)
-Resource Collection function
-Resource Deduction function
-Database
-Integration
Week 6 (Iteration 4)
-Integration
-UAT
Schedule & Milestones
Project Highlight:
Overestimated ourselves
- We realized that the amount of time allocated for each functions isn’t enough because there are many expect that we didn’t take into consideration for game development.
E.g. when we allocated time for the “Building Function”, we didn’t take into consideration the Navigation function that is part of the “Building Function” to be complicated.
- We have to remove an iteration due to the lack of time.
Database Issue
- Our team didn’t expected that the database connection with flash would be a bottleneck during integration 2. We found many database tutorials, but unknowingly, it is mostly in Action Script 2. Our team had difficulty finding database tutorial in Action Script 3.
Graphic Design
- Didn’t get the graphic design we wanted from 99 design even after we paid 300 dollars.
- Surprisingly, Ju Hu , our client is good at graphic design. So, he could actually be our back up designer.
Project Management
Project Status
Task/Function/Feature | Status | Confident Level (0-1)* | Comment |
---|---|---|---|
Grid | 90% | 0.5 | Christina
|
Navigation Bar | Fully deployed and tested 100% | 0.7 | Bau, Wenjing |
Building of hut | Fully deployed and tested 100% | 0.7 | Christina |
Building Timer | Fully deployed and tested 100% | 0.9 | Wenjing |
Graphic Proposal to upload on 99Design | Submitted. Contests ends 14/2 | 0.9 | Christina,Desmond |
Collection & deduction of raw materials | Fully deployed and tested 100% | 0.9 | Bau,Wenjing |
Database | 60% | 0.5 | Desmond is working on it
|
Page to KT center | Completed; Only one bug caused by building function | 0.9 | Bau |
Integration of parts finished by mid-term | still have some small bugs: building item location; cancel building; | 0.7 | Wenjing |
- Confident Level:
Range | Remarks |
---|---|
0.3 | timespan given to complete is short and high unfamiliarity. Highly unable to complete |
0.5 | reasonable unfamiliarity, may need more time to complete |
0.7 | confident to complete on time but there may be small chances of delay |
0.9 | very confident to be able to complete on time |
Project Schedule (Plan Vs Actual)
This section contains detailed breakdown of our project schedule. Click <font="12" color="red">here to view the details.
Project Metrics
Metrics Name | Description | Download | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Challenge Metrics |
Goal:
Question of interest:
Data categories according to academic weeks:
|
Media:Challenge_Problem_Metrics.xlsx |
Project Risks
This section contains information of the risks our team will face in the project as well as mitigation steps taken. Click <font="12" color="red">here to view the details.
Technical Complexity (Highest to Lowest)
This section contains information of the technical complexities our team will face in the project. Click <font="12" color="red">here to view the details.
Project Documentation
Document | Details/Link |
---|---|
Use Case Diagram |
Media:Quest_Use_Case_MyKampung.jpg |
Use Case Scenario | Media:Quest_Use_case_scenario_V0.1.doc |
Game Storyboard | (video link will be uploaded soon) |
Meeting Minutes
Quality of product
Deployment
Version 1.0 has been released for UAT testing. Click this link to access UAT instructions and guide which will assist you in testing the game.
Testing
In additional to test various functions after each integration among the team, we planned to run three UAT test throughout the project. Due to the delay caused by technical difficulties and unfimiliarity, we have been behind our schedule. Therefore, the objective of mid-term UAT (first UAT) is to gather feedback on:
1. Visual design of the game
2. Clarity of the game
3. Fun factor of the game
The second UAT will be carried out after the completion of my Kampung site functions. This time, the objective is to gather feedback on:
1. Functions of the game
2. User Friendliness of the game
The last UAT will be launched in the final stage. Details to be announced.
First UAT
Test Channel: Survey Monkey, user plays the game from facebook and provide survey feedback through online forms.
Version Tested: Integrated v1.0
Status: We have gathered various feedbacks and analyze result data.
Links:
Click <font="12" color="red">here to view the results.
Second UAT
Test Channel:
Version Tested:
Status: Not started.
Links:
Third UAT
Test Channel:
Version Tested:
Status: Not started.
Links:
Reflection
Team Reflection
Bau's Reflection
- Week 2
- After going through the ActionScript 3 book again, was quite confidence that I am able to develop the Navigation Bar with ease. However after starting coding, realized that dealing with Flash Masking and Event Handlers isn't as easy as I read in the book. One thing I've learned is that is not easy to integrate multiple small component together to form a bigger function. In my case, it's the Navigation Bar.
- Week 3
- Found source code that provide a dynamic Navigation Bar that allow users to scroll through multiple items by just hovering your mouse over the scroll bar. Looks really nice and I was determine to use this for our FYP. I tried editing the source code so that it would display the image that I want. It didn't work and spended hours after hours trying to get it right. Finally Manage to get it to display multiple items that I want. I realize at this point I begining to code much faster and begining to understand AS3 better.
- Week 4
- the navigation Bar I created has a problem. It can display multiple items, however it doesn't allow users to click on the item. I know the problem lies with the movie clip that plays the role as a holder. Christina showed a great progress in her building function and Wenjing completed her timer function. I am determind to get my Navigation Bar right. However, I realize that we are behind schedule. As the project manager, I felt responsible for this. I decided to work together with Wenjing to work out the Navigation Bar since she has completed her part. One thing I've learned from this is that sometimes when you stuck too long on a function, when a fresh mind comes in and help, he or she might solve it for you easily.
- Week 5
- This week started badly as I realized we are really behind schedule. I am going to discussed with my team mate about dropping a function that is not a compulsary function for the game to work smoothly. I decided to let Wenjing continue working on the Navigation Bar since it is completed, just left some graphic adjustment. I went to help Desmond with his database issue. The database issue has been the bottleneck since week 3. Amazingly, after working with Desmond, we manage to make a progress and the database is half working. It is able to receive data. However, integration between the different interation is truely a big challenge. One amazing learning point this week was we should never ever integrate last minute. I am glad our team integrated the moment we finished any small function.
- Week 6
- Midterm next week, so much work to do all the sudden deadline. It is really hard allocate time for FYP. However, as the project Manager, i begining to see our team started to understand each other working style really well and we are able to do things on our own even if we are very busy.
- Week 7
- Midterm presentation didn't go as well as expected. However, we learned a lot from the prof's feedback. After the midterm, our client approached us and we replan our project scope. I am glad that we have an understanding client and he suggested that we should just set our project scope as getting the game up. One of the biggest lesson learned this week is to learn how to set the scope right according to the amount of time we have. I've missjudge that myself.
- Week 8
- Our team focus on reorganizing all our codes and trying to debug all our minor bug, which may cause a lot problems in the future. This week was productive as all of us completed our part. Getting the hang of the project management side more and more.
Christina's Reflection
- Week 2
- Outsourcing the design is not such an easy thing after all. Many details need to be settled... especially when you are launching a "competition"...
- Week 3
- Encountered a lot of difficulties climbing up the steep learning curve. The basics learnt before acceptance is insufficient for us to build such a high level game!
- Week 4
- Slowly getting use to climbing up the learning curve... It is tough but had really learnt a lot about Flash AS3!!!
- Week 5
- Great... HUGE sense of satisfaction when functions are starting to work well, although there's still some small bugs to solve... Really getting use to understand the language of flash as3.
- Week 6
- MIDTERM is coming!!! damn pack =.= but we can do it!!! Debugging in progress and UAT soon...
Desmond's Reflection
- Week 2
- Establishing connection between flash actionscript 3 and mysql database is not as easy as it seems. There is no syntax in actionscript 3 which allows direct connection like how java can communicate directly with mysql
- Did lots of research, few solutions such as AMFPHP, which allows direct connection from mysql to actionscript3. However, security may be compromised
- Had to install certain packages and configure some environment settings at my terminal to try it out. Failed. Worse of all, it screwed up my laptop!!! Must find another way to do it which requires least configuration as possible since it will be deployed to the remote server in the end.
- Week 3
- Finally found a solution - using PHP as a medium to facilitate transfer of data in between actionscript and mysql. However, there is no tutorial to demostrate AS3 and mysql, only as2 and mysql tutorial was found.
- Week 4
- It is taking longer than expected to complete. Tried AS2 and mysql to understand how connection is established first before migrating the AS2 codes to AS3.
- Also having lots of rehearsals to get ready for school's dance performance. Short of time to complete
- Week 5
- continue to research how the codes could be migrated.
- Week 6
- didn't really work on the project as was busy with rehearsals - production is this week. Back to full steam after production next week.
Wenjing's Reflection
- Week 2
- Set up the developing environment, finalized game design statistics and start to get familiar with flash. There is no specific task assigned to me. Should have started early in week 2 and get some tasks to do.
- Week 3
- Started to do the timer of game game. Due to the newness to flash, I did a research only on action script and ended up coding with action script 2, which is not supported by actionscript 3. That means I need to do a research again and the previous one wasted a lot of time. The little details that I overlooked may cause the delay of tasks or waste of effort. I will take note of that. Before start to do one thing, I will make sure I know as many details as I can.
- Week 4
- I finished my timer function. So I started to help Bau for the navigation bar. Since he combined all the pictures into one to enable the scroll function, so it's probably very hard to enable the function on each button. I changed it into a slightly different way of scolling and put the item separately. For problem solving, I guess it's very important to find the root of causes and proceed to find solutions upon the causes.
- Week 5
- I did debugging for navigation items created and try to improve the items displayed.
- Week 6
- I spend most of the time to do integration and debugging.For the testing graphics, it's very time consuming as well due to the lack of designing experience and lack of photoshop skills. Time spent on learning photoshop for certain image effect and hunting for pictures was not expected. For better time management and project scheduling, we can take all these factors into considerations.
For the mid-term, I learnt a lot of things and found some improvements we can do in the coming iterations, such as following the schedule tightly, someone keep track of the task status,and always seek up from members if you stuck at one problem for a few days. I believe improvements of better scheduling and higher quality of application.