Appendix 1.1A- Instructions
The instructions can also be found in-game, however to fully understand the additional features in the dissertation it is important to outline the rules of the game.
Main game
The main game is played by selecting a bet amount and using the spin button to start the reels spinning. The aim of the game is to match 3 symbols the same, or to reach a high enough trail that starts the feature board. The trail is added from the numbers which appear on the fruit symbols. The trail ranges from 1 to 8, which is extended to 9(Start feature), 10(super feature) and 11(Frenzy feature). The trail also has a bonus round available if the user manages to get a trail of 4. The bonus round involves selecting a bonus from a range of nudges, holds, add again and start feature by using the spin button.
If you achieve nudges, they can be used to move a selected reel of your choice by one place, helping you to match three symbols. Holds can be used to stop selected reels spinning on the following round. Add again will add the trail total again, ending in a total trail of 8. Finally, starting the feature can be achieved using the number 4 bonus, or through achieving a trail higher than 8. The higher the trail number, the better starting position when entering the feature board.
Feature Board
The aim of the feature board is to collect the highest amount of coins, or the highest feature.
In order to do this, you must spin the number reel to move around the board. Each square has an action which is written on the square, for example +1 coins, +1 features, or perhaps an extra life. Some squares however, marked with “lose”, end the feature board. This means each time you spin, you’re gambling to try to gain extra features or more coins, but hoping not to land on the lose squares. If you came to the feature board by getting a total trail of 9 or even 10, you will find that some lights are already lit when you enter the board.
If you manage to light up all of the minigame lights by landing on the minigame squares, the minigame will be started. Similarly, if you light up all of the arrow feature lights the middle feature will be started! The middle feature gives you access to move around the middle area
of the board, which has no losing squares, however there are squares which will result in leaving the super feature. Any square which is landed on can be repeated by gambling higher or lower on the last number spun. The numbers range from 1-12, however if you guess wrong then you will be returned to the main game with nothing. At any point you may collect the coins or feature, or continue moving around the board in the hope to achieve a higher payout.
Mini Game
The minigame which can be started from the feature board by lighting all the minigame lights asks you to pick cards from a set of face down cards. These cards add to the features or coins, until the “lose” card is turned. The cards are all face down so you are unaware which card has what effect until turned. When the lose card is turned over, the additional coins and features they earned are shown when returning to the feature board. You may then continue to gamble by moving around the feature board, or collect the prize.
Achievements
Your progress through the achievements can be seen on the achievements page, along with the details on how to obtain each achievement. The achievement will automatically be triggered when the conditions are met. At this point, you will have the option to share the achievement on your Facebook wall with a message to tell your friends!
leaderboard.
You can submit your score at any time by going to the leaderboard screen from the menu.
The leaderboard will show you a list of the top players from across the world for you to compete with. Just select the “Submit Score” button to register or log in, and submit your score.
Appendix 1.5A- Survey questions and reasons
Question Reason
Do you own an Android Device? Check if user meets criteria
If yes, which device? Find which devices are best to support / target for builds
Do you use your android device for entertainment?
Check if user meets criteria
Have you downloaded an Android application from the market?
Check if user meets criteria
Have you ever purchased (Paid for) and Android application from the market?
Find out the percentage of people that may be willing to pay for an application.
Approximately how much would you be willing to pay for an advert-free android game application?
This is going to be used in the marketing review to decide on the best marketing strategy.
Are you familiar with slot machines? How in depth do any instructions need to be?
Do you regularly play slot machines? Find if those who don’t regularly play, would be interested in playing for free.
Would you play a slot machine for entertainment if it did not include any transfer of money?
As above.
Appendix: 2.2A- Top 10 selling applications
Appendix: 2.2C – Sales figures and social media use Android
Name Sales Price Facebook Twitter Google+ Free version available?
Appendix: 2.2C – Top 5 slot machine applications
Appendix: 3.3.2 A- Examples of JSON service JSON leaderboard Example 1
Request: for 5 results, using amount = 5 as parameter.
Call: http://www.spindroid.co.uk/services/leaderBoardJson.php?amount=5 Result: [{"Username":"Bikesprocket
","Score":"1056104"},{"Username":"shell240","Score":"301231"},{"Username":"TestUsern ame","Score":"15000"},{"Username":"BMan","Score":"10421"},{"Username":"Gouldson90
","Score":"9932"}]
JSON leaderboard Example 2
Request: for 10 results, using amount = 10 as parameter.
Call: http://www.spindroid.co.uk/services/leaderBoardJson.php?amount=10 Result: [{"Username":"Bikesprocket
","Score":"1056104"},{"Username":"shell240","Score":"301231"},{"Username":"TestUsern ame","Score":"15000"},{"Username":"BMan","Score":"10421"},{"Username":"Gouldson90
","Score":"9932"},{"Username":"MMouse","Score":"4405"},{"Username":"Freddy","Score"
:"2300"},{"Username":"Matthew","Score":"1010"},{"Username":"Evans","Score":"1000"},{
"Username":"NutterzUK","Score":"999"}]
Appendix: 3.2.4A- The eclipse debuggins tools.
Appendix 3.2.5A- Spindroid application secret and keystore hash key
Appendix: 3.2.5B – Shared message shown on facebook
Appendix: 3.2.7 A- Initial Gantt Chart
Appendix: 3.2.8 A
Appendix: 5.1 A- Meta tags used on the website
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
This tag defines the content type, telling browsers that the content is html using charset utf-8
<meta property="og:image" content="http://spindroid.co.uk/test/images/fb_logo.png"/>
This tag tells social media networks such as Facebook to use the image fb_logo if the page is shared.
<meta property="og:title" content="Spindroid - The Android Fruit Machine"/>
This tag creates the title for the page if shared on social media.
<meta name="description" content="The official homepage to the Spindroid Android Application! The fruit machine for Android. Download the application from the android market or visit the leaderboards to check your progress!">
This tag is the description which will show on search results for google, below the title of the page.
As per searchenginewatch.com (2012), the keywords tag which was once used for catching keywords typed into search engines is now rarely used as it was often misused to create spam or malicious websites. “The only search engine that looks at the keywords anymore is
Microsoft's Bing – and they use it to help detect spam. To avoid hurting your site, your best option is to never add this tag.” (searchenginewatch.com)
Appendix: 5.1B- PHP code used to create the leaderboard page.
<?php
// set up the database variables.
$user_name = "dbo393663543";
//select a database, returns TRUE if found.
$db_found = mysql_select_db($database, $db_handle);
// set number of items to show. Will show less if less results exist
$amount = 100;
//If the database is found, run the query.
if ($db_found) { // query to run
$result = mysql_query("SELECT Username,Score FROM `Accounts`
WHERE 1 ORDER BY Score DESC limit 0,".$amount);
// Start counter at 1, as top score is 1st, not 0.
$counter = 1;
// start adding html to the page to create table.
echo "<table border=\"1\" align=\"center\" class=\"leaderboard\">";
// add headings to the table
echo "<tr><th>Position</th><th>Score</th><th>Username</th></tr>";
// create a row variable as an array, to store each row of results./
$row = array();
// this loops through all results from the DB while($row = mysql_fetch_array($result){
// create a new row, of class leaderboard echo "<tr><td class=\"leaderboard\">";
Appendix: 5.2 – Final Screenshots Menu activity
Slot machine activity
Feature board activity
Minigame activity
Leaderboard activity
Settings activity
Achievements activity
Achievement unlock example
Achievement activity showing 15k achievement.
Instructions example
Appendix: 6.1A – Emulator Configurations
These android emulators have been selected to fill in the gaps which have not been testable using the real devices available during testing. The Desire Z has a keyboard to test, using Android 2.3. The HTC One X tests Android 4.0 and higher screen densities. The below devices are to test a range of screen sizes, android versions, and densities
Emulated Device Android Screen Keyboard
HTC Evo 4G 2.2 800*480
Density: 217
No
Google Nexus One 2.2 800*480
Density: 252
No
HTC Flyer 3.2 600*1024
Density: 170
No
Desire HD 2.3 400*800
Density: 217
No
Appendix: 6.1B – Test Plan
This is the test plan carried out on the test devices and emulators. The beta test will work also for user acceptance which can be based on the feedback from the beta test. For all forms or options, erroneous data and edge cases should be tested. Throughout tests and for all
activities the visual appearance and the performance of the application should be monitored.
Results are noted in the test summary section of this dissertation.
Main menu
Test case summary Pre testing criteria Test Steps Expected Results
Play button starts main activity
User is at the main menu Press the play button.
Check correct activity
Achievements button User is at the main menu. Press the achievements button
Achievement activity starts
Settings button User is at the main menu Press the settings button Settings activity starts.
Sound (On) Sound is turned on in the
Main Game
Test case summary Pre testing criteria Test Steps Expected Results
Spin button User is on the main game Press the spin button. of the reels when they stop
Sound(off) User is on the main
Nudges User has nudges function
available
Holds User has holds function
available
Select to hold reel.
Repeat for all three reels
The held reel should not spin.
Hold all (extreme) User has holds function available
Select to hold all reels The reels should not spin, the trail should
Trail held User has trail held function available
Spin the reels When calculating the total trail, it should include the last trail total with the new numbers to get the new total trail.
Trail correctly counts User has span the main game wheel
Check that all the lights are fully functioning and that the trail total is correct
Trail lands above 8 User has achieve a trail
Test case summary Pre testing criteria Test Steps Expected Results
User can move around the board smoothly
User is on the feature board
Press the spin button. User should move the number of squares the
If the reel returns a higher number after spinning, the
If the reel returns a lower number after spinning, the should light up. If the last light of the super feature or minigame, it should start the appropriate feature.
Collect coins User is on featureboard with collectable coins
Collect features User is on featureboard Select collect. Press The correct feature should
with collectable feature “collect feature” in the
Test case summary Pre testing criteria Test Steps Expected Results
User can turn over cards,
The user is the minigame Select a card, check the number of coins or
Test case summary Pre testing criteria Test Steps Expected Results
Register User is on the
internet connection.
Test case summary Pre testing criteria Test Steps Expected Results
Share User has met the
Achievement lights User is on the
achievements activity
Settings
Test case summary Pre testing criteria Test Steps Expected Results
About User is on settings
page
Appendix: 6.2B – Real test devices.
Device Android
Version
Screen Size Resolution Processor Memory
HTC Hero 2.3 3.2 Inches 320*480 528 MHz
Single core
288MB
HTC Desire Z
2.3.3 3.7 Inches 480*800 800 MHz
Single core
512MB
HTC One X 4.0.3 4.7 Inches 720*1280 Quad-core
1.5 GHz
1GB
HTC
Sensation XE
2.3.3 4.3 Inches 540*960 Dual-core 1.5 GHz
768MB
Appendix: 6.4C – Download rate from android market.
Appendix: 6.4A- Browser Statistics by Month, provided by w3c.
Appendix: 6.5.1- Emulator test results
Problem found Environment Resolution
Slow performance Android 3.2.3, large screen size
Attempt to reproduce on real device. Could not reproduce, emulator slowness is a known Android problem.
Can get nudges, then hit the bonus and win holds, ambiguous buttons act for holds and nudges.
Not environment specific Make it so that it is not possible to get holds if the user has 1 or more nudges
Not environment specific The images have been entered into the array in the wrong order, fixed the
Not environment specific The spin button becomes enabled when the number of reels left spinning is equal to 0, rather than when the third wheel stop spinning. This was an issue caused by holds or nudges, if the third wheel was held. with a unique layout file for x-large screens. However the large range in size within this category means that the
developers guide, but further work into the appearance on the larger screens needs to be done. This is added to the further work section, and until fixed the tablet devices will not be supported.
Progress has been made on fixing this issue but due to the requirement for much larger images this screen size will require a redesign for optimal visual appearance.
Appendix 6.5.2 – Real device test results
Problem Found Environment Resolution
The hold buttons are too
HTC Desire Z Disable keyboard changes using the manifest file.
Everything seems too small HTC Hero No possible solution, correct sizes shown but the device screen is relatively small.
Resolution is to disable small screens for beta testing, support will need to be added after a
possible re-design.
Vibrate function does not work when win is triggered
HTC Sensation XE Add permission to vibrate to the manifest file. This was missed on emulator testing due to not having a vibrate function.
Appendix: 6.5.3 – Beta test results.
Problem found Environment (If known) Resolution When numbers make up a
System hangs mid spin Version number 9
Running CyanogenMod's whilst this is a big problem it is not happening for most
users. Further research and perhaps a rooted real device is needed to find the cause of this issue. This will be added to further work.
Crash on super feature, not sure of cause
Version 9 This was found to be an issue
which makes it possible to cause an out of bounds exception when searching for the super feature images after moving around the board fully once.
Appendix: 7 – Feedback from beta users.