HeaderSIS.jpg

IS480 Team wiki: 2010T2 Q.U.E.S.T

From IS480
Jump to navigation Jump to search

Final Wiki

Click <font="12" color="red">here to view the final Wiki for Q.U.E.S.T.

Q.U.E.S.T

About Q.U.E.S.T

250px150px



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

350px250px 350px250px

Member Roles Responsibilities
Bau Hon Tzern Project Manager & Liaison officer
  • Venting through project schedule and documentations
  • Take charge of handling risk and carry out mitigation plans
  • Ensure the work quality and performance (e.g. punctuality) of members
  • In charge of contacting client
  • Choi Wing Yan Christina Game Manager & Lead Tester
  • Take charge of communication for visual designing
  • Maintaining game quality
  • Take charge of alpha and beta game testing
  • Dai Wenjing Lead Designer & Admin
  • In charge of designing levels and challenges of the game
  • Responsible for the game interface
  • In charge of organising meeting minutes and administrative related matters
  • Take charge of alpha and beta game testing
  • Desmond Ho Song Sheng Lead developer & Architecture Analyst
  • Take charge of research, installation of softwares and systems
  • In charge of deducing the architectures and frameworks for the project
  • Ensures that the codes follow the best practices
  • Take charge of game deployment


  • Supervisor

    Assistant Professor of Information Systems: Jason Woodard

    Client and Sponsor

    KT LOGO.gif


    Client & Sponsor: Kampung Temasek
    Point of Contact: Soh Ju Hu (Kampung Manager)








    My Kampung

    About My Kampung

    250px200px


    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.




    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
  • More information can be found in <font="12" color="red">Q.U.E.S.T Final Wiki

    Technologies used

    250px150px

    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

    750px550px
    750px550px

    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
    • Contains bugs, will solve it
    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
    • Entering of data in the database is working, but not read, update and delete.
    • This function is pushed back to be completed in Iteration 4 as our group has too many functions to complete in time
    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:

    • To improve better work allocation and scheduling

    Question of interest:

    • How many challenges encountered every week?
    • What’s the impact of these challenges in terms of project schedule and work allocation?

    Data categories according to academic weeks:

    • Challenge description
    • Possible reason caused
    • Name of encounter
    • Impact = Impact Level * Duration
    • Duration by days
    • Status


    Impact Level Impact Type Influence to encounter or other members
    0.2 individual impact small slow down your progress but still can continue
    0.4 individual impact medium stop you from continuing your part or slowdown 2 members’ progress
    0.6 individual impact big stop your work and another team member's work
    0.8 group impact small affect more than 2 members
    1 group impact big affect everyone, project stuck
    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
    Media:Quest_Use_Case_VMPortal.jpg

    Use Case Scenario Media:Quest_Use_case_scenario_V0.1.doc
    Game Storyboard (video link will be uploaded soon)

    Meeting Minutes

    Link
    Media:QUEST_Meeting_Minutes_20100823_v0.91.docx
    Media:QUEST_Meeting_Minutes_20100825_v0.9.docx
    Media:QUEST_Meeting_Minutes_20100830_v0.01.docx
    Media:QUEST_Meeting_Minutes_20100904_v0.01.docx
    Media:QUEST_Meeting_Minutes_20101210_v0.01.docx
    Media:QUEST_Meeting_Minutes_20101213_v0.01.docx
    Media:QUEST_Meeting_Minutes_20110103_v0.01.docx
    Media:QUEST_Meeting_Minutes_20110117_v0.01.docx
    Media:QUEST_Meeting_Minutes_20110228_v0.01.docx
    Media:QUEST_Meeting_Minutes_20110220_v0.01.docx

    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...
    • Week 7
      • Midterm was a valuable feedback session. We realise many mistakes but luckily there's still time for remedies. Discussion with client went well and his understand is much appreciated. Re-scoping of project is needed but the main focus of creating a playable game is still our main goal.
    • Week 8
      • Reorganisation of codes is a tedious but compulsory process in order for all members in our team to understand each other's code as well as get rid of repetative and redundant codes. This also helps if we were to pass down the project to the next FYP team if this project were to continue to the next semester. :)

    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.