2016 S1 Hattie Ong

Page 1

GA M ESPACE S TUDIO interaction team producing prototype

A I R

2 0 1 6

S E M E S T E R

1

1


2


G AMESPACE S TU D I O

A I R

2 0 1 6

S E M E S T E R

1

group 4 - artefact jan julian

3


4


Power Up’s are only located at high value areas of the park

CONTENTS _Contents

0. Individual Reflections 1. Graphic Novel _Process of the game 2. Voxel Types _Voxels selection to the landscape 3. Producing them in datascape _Simple landscape If Statements _Multiple landscape If Statements _Deadzones 4. User Interaction _Sickness _Petrify _Characters Value maps _Power Ups 5. Building Prototype _Building it to the phone _Gps accuracy _Recommendation for the game 6. Reflection of the game PixelPark

4 11 19 25

42

55

64 5


Hattie’s Reflection B u i l d i n g P i x e l Pa r k i n d a t a s c a p e Studio Air has been interesting and fruitful for the whole semester. Stepping into the studio without prior knowledge of rhino and Unity, this studio has indeed taught me on how do those program works. There are times where I felt that it is really hard to learn the programs via just tutorials and had to spend hours in the tutorials just to understand it. However the sense of achievement was really great when I manage to get it right. In the studio PixelPark I was being assign to Group 2 Interaction, where our task was to produce the datascape from combination of works from group 1 and 3. I was in charge of analyzing the landscape and voxels information and be able to use them in the game. I was than in charge of exploration of scripting, working on simple statements before moving on to much more complicated ones.At the same time, playing with a degree of camera angles to make sure that it suits the layout that we have. In 6

my group, I was also in charge of assigning work to other group members on what they could do and what they needed to produced. Given the If statements that I have created, I would shared it with my team members and explore further with them. For the Mid-semester and Final-semester presentation, I was in charge of layout-ing the whole presentation boards. At the same time making sure that the work from other group members would flow all as one. I would look through at their work and give them comments on what they could do to improve it better. For the Part B and C submission I am also in charge of layout for all the works that should be placed. Overall throughout the whole semester, I have learnt on to be able to work in one group. Being able give instructions and comments for the work to flow as one. Leadership might have been something I have gain throughout this whole semester.


Billy’s Reflection B u i l d i n g P i x e l Pa r k i n d a t a s c a p e For this project, my focus area is on creating and testing the rules of how the voxels are spawned in the landscape, which includes exploring the ‘if statement’, a rule that determined the amount of voxels spawned in an area. As the project developed, we need to come up with more detailed statements allowing the voxels to spawn more specifically. For instance, we need to decide which elements of the landscape can cause the voxels to spawn, so that the location that the voxels are spawned is closed to the real landscape. The vegetation voxels for example, I need to decide which element can cause the voxels to spawn, then I need to test the range of the statement, to see at what value the amount of the voxels is the best at representing the site. Addition to that, I also tested the camera angles for each of the statement, in order to find the best

way of representing the landscape for my team. The task includes massive amount of screenshots as the camera angle is constantly changing. And as the if-statement contains a large number of testing, changing the camera angle can be time consuming. During this task I learned how to best represent the images and how to make the presentation looks consistence. I was also able to test the VR experience for the project by providing the Google Cardboard Headset. During this task I explore the LeanTween plugin for the Unity, which allowing the game object to move on its own. By exploring the VR allowing us to see the experience of walking through the site. Although I have encounter some problems during the exporting part, I managed to record the gameplay in a video to achieve a similar experience.

7


Alex’s Reflection B u i l d i n g P i x e l Pa r k a s P r o t o t y p e Generally speaking, the studio is pleasant and fun throughout the semester. We learnt Unity as a brand new software and we ended up having a certain extent of Unity coding and programming skills. In architectural terms, we understand more of the properties of site elements such as site users, vegetation, etc. The studio improves our systematic thinking. In earlier stage, I explored the system of the game and clearly understand the functionality of the game. I have done different explorations with my group on how the game system works and how if statements, camera angles and different other configurations would effect the presentation of the voxels. I was in charge of Later I was more focused on the prototyping of the game and testing the performance of the game. My expertise is testing

8

different configurations of the game either on computer and on the phone at actual site, in order to figure out the best configuration to make sure on phone the game works smoothly. I was also in charge of looking for participants of the game and running a testing section, and gathering feedback from them. As a group studio, I learnt how to cooperate with people as a participants who was assigned by leader, as well as how to be a leader to organize things. I think it is important to understand how to manage a pleasant relationship with group mates and classmates to ensure the productivity and efficiency of the group. In order to make sure our works from different groups fit with each other, we have been keeping in touch through email, facebook and in person throughout the semester.


9


10


Graphic Novel

11


Graphic novel

12


game manual Today, Quarries Park is peaceful as always. What is different is that there are QR codes scattered everywhere in the park: on the tree, on that rubbish bin, on the skatepark... What are they? Simply point your phone to them, and see what happens?

Pixel Park

Something started downloading... And yes, you have the game Pixel Park on your phone!

13


Starting the game, you can choose a character from the 5 characters. Different characters like different areas of the park. These areas are based on attributes of the park the character likes or dislikes. Keep that in mind if you want to get high score in the game!

I just wanna BUILD for MMMoney! More flat areas with great views would be perfect!

Wah! WoooWah! (I like bushy area where I might find some food!)

Known their preference? Now you are ready to bring the game to the site and play it!

14

I like quiet spaces with great views but I can’t climb steep hills!

I don’t want to be found by adults! Go to bushy areas where grown ups find it hard to through in but I don’t!

I like open and natural spaces! I also like the creek where I can see water and wild life!


Starting to play the game on site! Oh I get a runaway, quickly look to bushy area to get my score efficiently!

Pixel Park provides player a virual reality of the site. In game everything is presented in voxels. For example, people voxels will spawn on the path because people normally walk on path, and vegetation voxels spawn at where trees and grass is..

Simply walk on voxels to own them! The voxels on the area you walk through will be petrified and then owned by you when it turns black! This will add to your dollar value displayed in the screen!

15


Oh, I just see a power-up! The bigger black power-up voxels can temporarily increase the area of voxels of your infection, so as to boost up your score!

How do we win the game? -With the dollar value increases, the flood at the creek will also increases! When you earn enough dollar value to flood the whole map, you win the game! -Earn voxel value as much as possible before the game reaches its time limit. -Own all of the voxels of the game!

TIME UP!

16


Quickly think! Where a runaway wants to go?

Wow look at the hybrid landscape! The path on site is shown in the game at the right place!

Now, simply enjoy the game! Through your phone, you become your character and think as your character. You will discover interesting areas you wouldn’t go and have an unique experience!

The game will bring you to the world of voxels and give you an unique experience of exploration!

So what are you waiting for? Quickly join us in the game and explore a much more interesting Pixel Park! 17


18


Voxel types

The infection of vegetation voxels when the players starts moving over at the area. 19


Flood voxels

For this project we are using several types of voxels representing the different element of the site. each type of voxels have its unique patterns that we think can show the characteristics of each elements.

20


vegetation voxels

These groups of images shows a process of the voxels gradually developing. Such as the flood voxels is covering the landscape. And the vegetation voxels represents trees waving in the wind.

21


pollution voxels

Each type of voxels reflects a type of elements that we think are important to the landscape, like the pollution voxels would gradually spared across the park, giving the player a sense of environmental issue.

22


Sunlight voxels

We are also trying to visualize the element that player usually do not realize, like the sunlight voxels, flowing in the air.

23


site users voxels

Different type of voxels has its unique pattern of movement. Like this glider type of voxels, the pattern it has would make it moves along the landscape, which makes it a good representation of people walking along the path.

24


overall voxels

Here is what looks like when all the types of voxels are spawned in the park. The spawn location for each type of voxels is basically based on the real landscape of the park, for instance we have site user voxels moving along the path, and the vegetation voxels represents where the trees are.

25


26


Producing them in landscape

At the site, sunlight voxels being populated areas with pollution. However very soon, the sunlight will be taken over by pollution. 27


Scenario Design & Attributes decision

Voxel Transformation

Algorithmic analysis & CSV file generation

28


Match Up

If Statements (Framework for voxel seeding) //////TC00 visible tiles /// /// //accumColor = attributA if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 0) { accumColor = thisObject.GetComponent<xyzToI>().slaveAtt0; } {

else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 1)

accumColor = thisObject.GetComponent<xyzToI>().slaveAtt1;

} {

else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 2)

accumColor = thisObject.GetComponent<xyzToI>().slaveAtt2;

}

else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 3)

The actual game & Explorations and different configurations

29


//////TC00 visible tiles 0 /// 1 /// 2 //accumColor = attributA 3 if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 0) 4 { 5 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt0; 6 } 7 8 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 9 { 10 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt1; 11 } 12 13 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 14 { 15 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt2; 16 } 17 18 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 19 { 20 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt3; 21 } 22 23 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 24 { 25 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt4; 26 } 27 28 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 29 { 30 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt5; 31 } 32 33 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 34 { 35 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt6; 36 } 37 38 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 39 { 40 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt7; 41 } 42 43 else if (manager.GetComponent<landscapeManager>().attDisplayedOnTile == 44 { 45 accumColor = thisObject.GetComponent<xyzToI>().slaveAtt8; 46 } 47 48 //////////////////////////////////////////////////////////////////////// 49 ////////////////////// ATTRIBUTES REFTC01 ////////////////////////////// 50 51 //////////////////////////////////////////////////////////////////////// 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

30

}

sun = thisObject.GetComponent<xyzToI>().slaveAtt0; Noise = thisObject.GetComponent<xyzToI>().slaveAtt1; Interesting = thisObject.GetComponent<xyzToI>().slaveAtt2; elevation = thisObject.GetComponent<xyzToI>().slaveAtt3; permeability = thisObject.GetComponent<xyzToI>().slaveAtt4; vegetation = thisObject.GetComponent<xyzToI>().slaveAtt5; popularity = thisObject.GetComponent<xyzToI>().slaveAtt6; Gradient = thisObject.GetComponent<xyzToI>().slaveAtt7; Satellite = thisObject.GetComponent<xyzToI>().slaveAtt8;

1)

2)

3)

}

4)

5)

6)

7)

8)


If statements Landscape script

This code here is for locating the csv file for the landscape, allowing us to apply the file in unity. By changing the landscape allowing us to better locate where the voxels should be.

By listing the csv files in numbers, allowing us to change the landscape in unity just by selecting the number that the landscape is assigned to. Like the interface shown below.

31


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

32

/////////////////////////////////////////////////////////// /////////////////////////// REFTC02 /////////////////////////// /// ////////////////////////////////////////////////////// //Vegetation voxels Sparse if (vegetation > 0.1f && vegetation <= 0.5f && hasSpawned == false) { //WHAT COLOUR int patternType = 1;

int chance = Random.Range (0, 1);

}

if (chance == 0) { // spawn [order in shape list], deadzone, ignore, ignore)CaManager. shapes [1].patternAtLocation (4, gameObject. transform.position, patternType); } else { // spawn DEAD ZONE WITHOUT THE SHAPE [order in shape list], deadzone, ignore, ignore) CaManager.shapes [0].patternAtLocation (8, gameObject. transform.position, patternType); } hasSpawned = true;

} //Sunlight voxels if (sun > 0.9f && sun <= 1 && hasSpawned == false) { //WHAT COLOUR int patternType = 4;

int chance = Random.Range (0, 3);

if (chance == 0) {

}

// spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[5].patternAtLocation(5, gameObject.transform.position, patternType);

}

else

{ // spawn DEAD ZONE WITHOUT THE SHAPE [order in shape list], deadzone, ignore, ignore) CaManager.shapes [0].patternAtLocation (8, gameObject. transform.position, patternType); } hasSpawned = true; }


If statements Simple voxels script The code here is a simple version of the rules that we used to determine the spawn of the vegetation voxels at the beginning. This part of the code is called if statement, which is to determine the voxels spawn by changing the number. For this it means the vegetation voxels will spawn between the value of 0.1 to 0.5

As this is a very simple version of the statements, the spawn of the voxels is very regular and is hard to control the amount, as the area that they spawn are quiet similar.

33


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

34

//Vegetation voxels Sparse if (Vegetation > 0.1f && Vegetation <= 0.5f && Permeability > 0.5f Permeability <= 0.7f && hasSpawned == false) { //WHAT COLOUR int patternType = 1;

&&

int chance = Random.Range(0, 2);

if (chance == 0) { // spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[1].patternAtLocation(4, gameObject.transform.position, patternType); }

}

else { // spawn DEAD ZONE WITHOUT THE SHAPE [order in shape list], deadzone, ignore, ignore) CaManager.shapes[0].patternAtLocation(4, gameObject.transform.position, patternType); }

hasSpawned = true;

} //Vegetation voxels Dense if (Vegetation > 0.5f && Vegetation <= 1 && Permeability > 0 && Permeability <= 0.3f && hasSpawned == false) { //WHAT COLOUR int patternType = 1; // spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[2].patternAtLocation(4, gameObject.transform. position, patternType); hasSpawned = true; } //Pollution voxels if (popularity > 0.5f && popularity <= 1 && Vegetation > 0 && Vegetation <= 0.5f && hasSpawned == false) { //WHAT COLOUR int patternType = 2;

int chance = Random.Range(0, 4);

if (chance == 0) {

}

// spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[3].patternAtLocation(4, gameObject.transform.position, patternType); }

else { // spawn DEAD ZONE WITHOUT THE SHAPE [order in shape list], deadzone, ignore, ignore) CaManager.shapes[0].patternAtLocation(4, gameObject.transform.position, patternType); }


If statements Complicated voxels script As the previous if statement is hard to control, we developed a more complicated but detailed version of the statement. Here the spawn of the voxels is determined by multiple aspects, for instance the vegetation is determined by the vegetation and the permeability of the park, which means the harder the to access a place, the denser the vegetation is.

For the pollution, the spawn is determined by the popularity and the vegetation of an area, as if an area is more popular, more people will be there creating noise and waste, which means more pollution.

35


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

36

//Sunlight voxels if (sun > 0.5f && sun <= 1 && Vegetation > 0 && Vegetation <= 0.5f && Gradient > 0 && Gradient <= 0.5f && hasSpawned == false) { //WHAT COLOUR int patternType = 4;

int chance = Random.Range(0, 20);

if (chance == 0) { // spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[5].patternAtLocation(8, gameObject.transform.position, patternType); } else { // spawn DEAD ZONE WITHOUT THE SHAPE [order in shape list], deadzone, ignore, ignore) CaManager.shapes[0].patternAtLocation(4, gameObject.transform.position, patternType); }

hasSpawned = true;

} //SITE USERS if (Permeability > 0.89f && Permeability <= 0.9f || Interesting > 0.8f || popularity > 0.7f && hasSpawned == false) { //WHAT COLOUR int patternType = 3;

}

// spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes [4].patternAtLocation (7, gameObject.transform.position, patternType); hasSpawned = true; }

//Initial files if (permeability > 0.8f && vegetation <= 1 && hasSpawned == false) { //WHAT COLOUR int patternType = 1;

// spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[1].patternAtLocation (20, gameObject.transform.position, patternType); hasSpawned = true; } if (elevation > .5f && hasSpawned == false) { //WHAT COLOUR int patternType = 2; // spawn [order in shape list], deadzone, ignore, ignore) CaManager.shapes[1].patternAtLocation (20, gameObject.transform.position, patternType); hasSpawned = true; }

}


If statements Complicated voxels script

After detailing the if-statement, now the spawn of the voxels are much more related to the landscape.

Especially the vegetation and the site user, now that the site user voxels are spawning along the path as shown in this image.

37


If statements Complicated voxels script

Sunlight Voxels

Site User Voxels

Pollution Voxels

38


This is how all type of voxels showing together would look like. Which is much more accurate showing the real elements of the park.

Vegetation Voxels

39


If statements Deadzones

40


The Deadzone is a value that determine the distance between the voxels are spawned, if one type of voxels is spawned in an area, no other voxels will be spawned within that deadzone area. The larger the deadzone number is, the further away the voxels will spawn. The red area shown in the image below is how the deadzone would look like if it is visualized.

41


42


User Interaction

The process of vegetation being taken over by pollution 43


sickness Sickness Explanations

Sickness spread 1

What is happening here 44


Sickness spread 3

What is happening here

Sickness spread 5

What is happening here

Sickness spread 7

What is happening here

45


Petrify Stepping into the gamescape, once touched the vocels will be petrified. And in this case, the voxels will turn white-blue and into another shape. This shape will stay on the scene and become the players “money�.

Petrify Timelapse

46


power-ups

Collecting the powerups in the landsape is like an additional big help for the players. Once the Players get the powerups, within a timelimit frame, the spreading of the voxels will increase hugely. Voxels gets infected when we inteact with them. With the powerups the spread of infection when we touch one voxels will go from individually to a spread of 5 vocels at once.

47


characters Map

48


The different character has different value maps. Different areas in the landscape would effect the money growth. Following is the image of the different character value maps. Light areas are areas where characters love to go while darker areas are areas they do not prefer to go.

49


characters Old Lady

The old lady favours interesting places therefore powerups are near the playground

She also favours high elevated areas therefore powerups are located at the top of the hill

She hates area near the river as there are steep slopes therefore powerups wont appear here

low value 50

high value


She dislikes noise and prefers quiet spaces. She likes elevated areas with a good view but in her old age she has difficulty walking up steep areas, and needs to walk in low gradients. You can find her powerups at densley vegetated, enclosed spaces, and at places with nice views.

NOISE [-1] INTERESTING [+2] ELEVATION [+3] GRADIENT [-7]

51


characters Dog

The dog favours vegetated areas that is why the powerups will be located around dense vegetation

It favours area with high gradient, power ups will be located near the steep slope

low value 52

high value


The dog is wandering the site alone and just wants to find all stimulants in the site - all noises, smells and sights. The dog especially likes coming into contact with people, and being around vegetation. Find his powerups at highly populated spaces, like in the Playground.

INTERESTING [+2] PERMEABLE [-4] VEGETATION [+5] POPULARITY [-6] GRADIENT [+7]

53


characters Runaway child

The runaway child favours areas that are popular that is why powerups will be located around the playground

She also favours areas with are densely populated with vegetation. Areas around the hill

She hates area that can be easily access like the pathways therefore voxels wont spawn here

low value 54

high value


This little ran away from home so she’s looking to avoid being found by adults. She dislikes open, permeable spaces where she might come across other people. She also likes getting to places that are steep where she can enjoy climning. Try finding powerups at dense vegetative areas and quiet, hard to reach places.

SUN [0] NOISE [+1] PERMEABILITY [-4] VEGETATION [+5] POPULARITY [+6]

55


characters Developer

The developer loves areas that are popular and elevated that is why powerups are located near the playground

He hates area that are steep therefore powerups wont be located near the river

low value 56

high value


The developer is trying to buy all parts of the land that is suitable for development. Places with low gradients, but high elevations and a good amount of people frequenting. He prefers spaces that aren’t covered in vegetation. Try going into open and high areas in the North of the site to get his powerups.

SUN [0] INTERESTING [+2] ELEVATION [+3] VEGETATION [-5] POPULARITY [+6] GRADIENT [-7]

57


characters Enviromentalist

The enviromentalist hates areas like playground as he dislike large amount of people

The enviromentalist likes areas which are densely populated with vegetation which is near the river

low value 58

high value


The Environmentalist wants to buy all the parts of the site untarnished by suburbia. He dislikes open spaces and dislikes large amounts of people. He really likes vegetation, more so than the rest, and also likes to get closer to the creek at the lower elevations . His most valuable areas would in the dense green areas in the low parts of the creek.

PERMEABILTY [-4] VEGETATION [+5] POPULARITY [-6] INVERSE ELEVATION

59


60

Site users interaction with the vegetation at the site.


Building Prototype

61


Prototype Building to phone

First, we set up an Apple ID. Simply followed the instrcutions on Apple website.

Next, we set up an Apple Developer account using the Apple ID registered previously.

Then, we download the newest version of Xcode for building the game into Iphone.

IOS development identity to be created for game building

Add Apple ID here to create the profile 62

In Xcode-->preference, we created a profile using the Apple ID. Then double clicked the profile and created an IOS development profile.


With the game successfully designed, we are now ready to test out its performance on the phone. the place to change the game name Switch the platform to IOS here

Then we refered back to Unity to build the IOS version of the game.

Then we have the built pakage of the file.

Change “Generic IOS device� into the target phone and hit play to build Type in the registered Apple ID information here At last, use Xcode to open the game package, plug in Iphone and select it as the target device, and then build the game.

Generally speaking, the building process is not complicated and we solved most problems while getting familiar with Xcode. However, a major problem we did not solve is that while testing different configurations of the game, I cannot keep multiple copies of the game. When the new game is building into my phone, it automatically replace the previous version of the game regardless of the different name or version of the game. 63


gps rating in walking/running speed indoor street wooded land open space

Indoor GPS is not precise. The character keeps rotating and changing position. GPS in street works better with less rotation and position changing. Relatively precise. In wooded land GPS works slightly better than indoor, with less rotation but still changing position. In open spaces GPS works well, with only occasional rotation and changing position.

Generally there is a 3 seconds delay with the GPS tracking, which is acceptable in walking speed. However in the participants testing session, GPS tracking still does not response to participants’ movement well enough.

gps rating in cycling speed

street wooded land open space

GPS in street works fine in street. It roughly stick to the player’s path. In wooded land GPS is not precise. Cyclist has to stop occasionally to wait the phone to act. In open spaces GPS works generally fine, slightly changing position.

GPS works poorly in cycling speed. The speed is too fast for GPS to react. Participants also reflected that the phone is a distraction while cycling and can be potentially dangerous. So cycling is not recommended for the game.

64


Prototype Gps Accuracy

To test out GPS accuracy, I played the game in different kinds of places such as street, bushy areas and open spaces.

responsiveness of gps

ROTATION

POSITION

indoor

occasionally TWISTING

NOT PRECISE

STREET

GENERALLY PRECISE

GENERALLY PRECISE

WOODED LAND

OCCASHIONALLY TWISTING

NOT PRECISE

OPEN SPACE

PRECISE

PRECISE

Generally speaking, GPS tracking doe not precisely track the location of the player, and it normally has a 3 seconds delay. So the game is not suitable for cyclers to play. However, in game designs we can incease the field of view of the camera to present the game in a larger scale. So the tolerance of the GPS would increase and the game might be suitable for cycling.

65


Legend: blue line: 1s refresh rate Yellow line: 0.3 refresh rate Red line: 0 refresh rate

TR: 25x25 GS:100x100 RR: 0s

TR: 25x25 GS:100x100 RR: 0.3s

TR: 25x25 GS:100x100 RR: 1s

Ram TEST

This small Ram test diagram shows how FPS(frame per second) of the game changes over time. With the setting above game runs at a relatively high FPS of 40-60, which is very smooth. And three lines approximately cover the same area of the diagram, which suggests that changes in tile reader size and CA grid size does not effect FPS very much in this setting. With 100x100 CA grid the game functions smoothly. However, because the map size is too small, it does not show all kinds of the voxels. From the game scenes we can see that 100x100 grid might locates at a position where a single voxel is dominant. Also, The flood voxels which is supposed to be at the creek is not shown in the game.

TR: 25x25 GS:100x200 RR: 0s

TR: 25x25 GS:100x200 RR: 0.3s

TR: 25x25 GS:100x200 RR: 1s

Ram TEST

From this diagram we can see that three lines are disperse, which means the settings of tile reader and CA grid size effect FPS more obviously. In 100x200 setting the game works relatively smoothly with 0.3s and 1s refresh rate, but it is a bit laggy with 0s refresh rate. All configurations in 100x200 CA grid size is actually acceptable, with FPS changing from roughly 25 to 60. The completion of all kinds of voxels can be observed, including flood voxels.1s refresh rate works the most smoothly. However, 1s refresh rate is too long the voxels to move to catch up with the speed of GPS tracker, so 0.3 is a better option. 66


Prototype

Screen recommendation settings There are a few major settings that would effect the performance of the game: CA grid size, tile reader size and refresh rate. CA grid size controls the size of the overall map of the game, tile reader size controls the size of the area that reads voxels around the player, and refresh rate controls the interval between voxels make their moves.

TR: 20x20 GS:300x300 RR: 0s

TR: 25x25 GS:300x300 RR: 0.3s

TR: 30x30 GS:300x300 RR: 1s

Ram TEST

FPS of all 3 settings for 300x300 CA grid size is relatively low. However, after conducting performance of the GPS, I think 30 FPS is acceptable for our game since the delay of the GPS also influences the gaming performance.

With 300x300 CA grid size the game presents a lower FPS ranging from 20 to 35, which is a bit laggy. The game presents all kinds of voxels and the whole area of the landscape of the park. With older version than Iphone 6 the game is very laggy and not playable, but the game still works fine for Iphone 6S.

Recommended settings: -CA Refresh Rate: 1s for general users, 0.3s for better phones -Tile Reader: 25x25 for general users, 30x30 for better phones for a better visual presentation -CA Grid Size: 100x200 for general users, 300x300 for better phones for the completetion of view of different components -GPS: aviod indoor usage. Keep the speed in walking or running speed.

67


Further Explorations of Settings SICK RADIUS 5

SICK RADIUS 3

Because the GPS tracker is not very precise, sometimes it is hard for players to move to the place they want to. So we will need to introduce the conept of sick radius. Sick radius controls the range of the voxels that player can affect, repsented as a circle with the center of the player. The larger sick radius the more voxels around player that player can affect.

The defult sick radius of the game is 1, which is not very effective and players have to walk to the exact position to interact with the voxel. And sick radius of 5 is too effective that too many voxels will be effected. radius of 3 will be an optic configuration.

FLOOD LEVEL 0.1

FLOOD LEVEL 0.7

Flood level indicates the “elevation� of flood voxels. If the flood level is 0.1, all the voxels that spawns under 0.1 in csv files will become flood voxels. After I explored different configurations in flood level, I found out that the whole map will be flooded with a flood level higher than 0.7. And flood level of 0.1 best presents the actual terrain of the site, namely having voxels at the creek area.

Recommended settings: -Sick Radius: because GPS is not always accurate, a sick radius of 3 can let the player effectively influence the voxels and not make too many voxels dead. -Flood level:0.1 reflects most of the condition of the park in reality.

68


Survey of the game After the game is successfully built, we set up a session for four participants to test out the game. We went on site and tested the game by walking and cycling.

Expaining the overall goal of the game

Bicycle set up for the game

Testing the game at walking speed

Testing the game at cycling speed

GPS is not considered accurate enough by all participants.

This problem is not considered happen before the session. Due to this problem we would encourage playing this game by walking so you can hold the phone closer to see it clearly.

summarized comment sheet from participants

Might need to increase the time limit of the game because all participants did not archieve any goals. They can only compare their value.

69


70


Reflection of PixelPark Game

Smaog pollution taking over the whole landscape

71


Gameplay

What character did I get to play this time?

72


Why is my character spinning out of control?

Are you sure its spinning? Mine is working perfectly! Okayyyy. So where are we heading next?

73


OHH!!! It works! It works!

There is vegetation voxels growing around us!

74


Gameplay

Progress of the game

Walking in the site and looking on the phone, we will be able to see the voxels being populated in the screens. Walking in the vegetation, from the phone we can see vegetation voxels spreading around us as we walk. Similar to the actual site. These can be places were we normally avoid, as there isnt much proper pathways to be explored.

75


Reflections

Goals that we wanted to achieve Breaking people out of their normal routine at the park Often when people step in to the park. they would start a normal routine where they would head to the path ways to walk around the park. People with dogs would than walk to areas with flat grass surface to allow the dogs to run around. Childrens would than often just head to the play ground straight. What we hope to do is to allow players who play this game to not stick to the routine where people normally do. Heading to path ways, playground and flat surfaces of the grass. I did go to places that I wont ever go. Places like dense vegetation areas. It does feel weird walking into places that is out of the norm. People might just think that I might be a weirdo.

Normally when I am in the park, I would only walk on path ways that are clearly in the park. As usually I feel uncomfortable to walk out to explore different areas. No people would walk into weird places too.

Discovering new areas of the park One of the purpose of the game PixelPark was also to encourage poeple to go to areas of the park where they might have never known. These places might have fantastic view to the city or even the merri creek. Places near the merri creek also has less people exlploring the areas.Hoever there are really many interesting things that is happening in those area. The labyrinth for example is something that we would not notice from the park. We have to head down to merri creek river and walk along side it to find the place. This game PixelPark kind of brought me to areas where I have never known to be in the park. One ecample woud be the steep hill heading down to the merri creek. There is actuallly a bench there that people can sit and enjoy the breeze and scenery.

To my surprise when I played this game and it led me down to the merri creek river. Walking

upwards the merri creek river I realise there as a place that I have never notice. I think it was called the labrinyth where there is many different small rocks and specially placed in some diagram form. 76


Encouraging them to have a different way of interacting on the site What makes this game PixelPark different from all the other application in the game? This game only works when people moves around the park at the site. Instead of games that prevents people form moving and having to stand on the same spot to concentrate of the game, this games does the opposite. People will move around to explore the site manually rather than just moving their fingers on the screen. This allow interaction either between two people or even people and the park. Instead of just standing in one corner or looking for a place to sit them to play those normal

games. This games allows me to walk around the area. Also playng with a group of friend felt different too. Instead everyone just sanding there, we will move aorund the area and when we see someone near us, we would called out asking them of their score. It seems like an interesting way to interact with friends or maybe even strangers.

Its interesting to see that players who are playing the same game as me but in a different

chracters in the park. I realsie that the places we would go is entirely different because of the

different characteristics of the chracter that we have gotten. Half way on where I was walking, I

might see someone with different characters near me and always I would ask which characters have they gotten.

Putting themselves in the shoes of other people and experience what they felt There are many different kinds of people who goes to the park. So we decided to come out with a few of them to used the scenerios on them to explore the park. We come out with Old woman, Dog, Runaway child, developer and enviromentalist. These different chaaracters has very different preference in where do they like to head to. Using this this method, we allow one to stand in another perspective to view the park. So If I have chose the Old woman character, I would realise that Old lady likes to go to high places so that she will be able to look far out towards the city. But we will also realise even though she likes high places, she detest having slope as it’s hard for her to walk up. We would also realise they she do not like the sun and rather go to places with shade. I manage to get a Dog for my character and following his way I realise that he like slope areas which pheww its hard to travel to. and he also like vegetated areas probably to look for food.

I got a enviromentalist and oh boyyy. The areas that he head to are densely vegetated areas and always near the the merri creek river. It seems like he like the nature there more than

77


Gameplay Hey! There is something in front we should head there.

Oh I think I saw something populating there too.

Let me take a look what are those

Daddy what are those yellow stuff growing?

78


Are we on the right track?

It shoud be. I am getting voxels in phone

Will this make the voxels grow faster? Did my money increase?

79


Gameplay

Does this enable others to see the park differently?

The game that we are playing is allowing players who are at the park to understand the park differently. Through the game that they play, they might discover places they normally do not enter or explore. I start exploring places where I would never have gone before. Areas like steep slopes and highly

vegetated areas are places where people would avoid. However the game would bring us to areas like this and show us what is there.

Screenshots of Game Play

Here is what looks like when all the types of voxels are spawned in the park. The spawn location for e

80


Does this allows others to discover invisible links in the park The game allows players to rediscover what the park has for them and how they work together to form a park. Trying to make them link the different elements of the park together. How does the ecosystem in the park work as a whole in reality and the game I kind of felt the vegetation that is around me look similar like the one on my game, However what I

couldnt see in reality was that there is sunlight just right beside the mass of vegetation. This makes me think the fact that vegetation needs sunlight to grow and spread further.

I saw the pollution voxels just eats up everything in its way. It felt like something in reality where pollution

is considered negative and just pollutes everywhere. By a few minutes, I can see the pollution taking up the whole space, which in fact feels like something that is hppening in the world.

each type of voxels is basically based on the real landscape of the park.

81


Reflections D o y o u f e e l t h a t P i x e l Pa r k game was a success? Yes. Some of the main goal that was what we are suppose to achieve have been done. Allowing people to explore the site differently, Yes this has been successfull when we test played the game. Instead of sticking to normal paths and walkways, people start going to steep areas and densely populated areas. I saw the powerups in the densely vegetated areas and was

thinking if I should head in or I should just look for the next one. But because it was only a few steps to near to me, I decided to just head into the vegetated areas to get that powerup.

People started heading to places which are interesting to explore. And lookfor different ways and method to achieve the higher scores than the other friends. Instead of the normal game of just standing there. This game allows players to move around and physically find ideas on how to achieve their goals. Instead of standing and sitting there, I started walking, running

and even trying to climb up a steep hill. Instead of going one big

round using the path, I just took a shortcut and climb the sides of it. It was an interesting experince.

I would say this Pixel Park game was kind of a sucess as different goals where achieve. But given some more time, there might be areas where we are able to refine and modify to make the game play and work better.

82


83


GA M E SPACE S TUDIO A I R

84

2 0 1 6

S E M E S T E R

1


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.