- Lars and I have now added a reset to the game. The game automatically resets itself once all of the herbs are dead. As a team we figured this was the most logical as once the herbs have died there’s no longer anything you’re able to interact with. We have tried to make this transition as seamless as possible which I think we have done a good job with. It also has provided the perfect place to include our credits, so double win.
- Figured out thanks to the help of Ben Jack why the music was so temperamental and never seemed to play on the macs and only on mine and Lars’ laptops.
- Fixed some buggy movement of the predators bounce against the edge instead of smoothly being directed away.
- Adjusted a whole bunch of numbers relating to lifespan, breeding rates, movement speeds etc to balance the game to allow the ecosystem to be able to continue fine on its own.
- Also got it finally working on iPad!!!!!! Although the frame rate is less than perfect, we decided to give it a final try now with the fluid simulator out of the picture and therefore a whole lot of calculations no longer there it runs much faster than our earlier attempts. The interaction is much nicer than with a mouse too, which is thanks to Lars’ keeping the iPad interaction in the back of his head while developing the main interaction.
This hectic week I managed to complete:
- Fixed an issue where the spritesheet was changing when the boids ate food.
- Stopped plants from being able to spawn on top of each other.
- Balanced and altered the breeding rate so that it doesn’t take too long to grow a large population of herbivores but also stop them from breeding like bunnies.
- The plants now breed/reproduce.
- The predators now breed/reproduce.
- We have a new mouse image which now rotates slowly when the mouse is idle and speeds up it’s rotation when clicked with the intention of giving even more visual feedback on the user interaction. Even though it’s not the most noticeable of features it works well, especially the way that Frances designed the mouse pointer image.
- The predators now have a small attractor to help encourage them to breed and so now it’s not purely based on random chance that they cross paths.
- Changed the way the edgeBounce method was calcuating if the Ai was close to the edge. Before it had been using the top left corner of the sprite now I have found an awesome method in FLxSprite previously unknown called getMidPoint which self explanatory returns the centre of the sprite and now it’s much more even the distance they are turned away from the screen edges.
- Predators can now starve.
- Reduced the emphasise on the wander behaviour on the predators when they’re hungry.
- Solved and implemented a design issue of how we were going to show/tell/imply the hunger levels of each of the AI, simply by altering the opacity of their sprite. This solves the issue of what happens when they starve to death, they simply fade into nothingness and allows us to keep everything simple and as intuitive as possible.
- The predators also now have a hunger level and can die from starvation.
- I have created a particle effect for both when a herb is eaten by a predator and when a herb eats a plant now some triangles are emitted. This gives quite nice visual feedback on events happening within the ecosytsem and if I do say so myself it makes feeding the herbs to the predators quite satasfying seeing a whole bunch of triangles/what remains of the boids floating away.
- I stopped the plants from spawning outside of the herbs area they can access. We had been having an issue that when a plant spawned too close to the edge of the screen they would keep on trying to get it to only to be pushed away from the edge because of my edgeBounce method designed to keep them in screen.
- I also changed the way that the collision detection between the herbs and the predators were being calculated so now it’s much more accurate and faster and thus works and looks much nicer.
- I added the movement for the predator/carnivore.
- Added boundries/and edge reflect method to the boids and carnivore, rather than them looping around the edge of the screen.
- I optimised the flocking rules into a single cohesive method so instead of looping through the boid group once per each of the three rules it now only loops through once and calculates everything that’s needed for the rules during the single loop. This obviously reduced the number of comparisons and has also meant that I have been able to reduce the number of new initialised variables, which I have read can slow flash down if you have too many unnecessary initialisations.
- The boids also now have an attractor method, which currently works on the mouse but plan to use it to get the boids to move towards food/plants once they are implemented.
- Another optimisation of the flocking method was to reduce the number of new flxPoints (basically flixels version of vectors) as again I have read that it’s very slow to create new ones.
- The predators now eat the boids when each of their respective sprites overlap.
- A second update of the edgeBounce method as it had been causing the AI to stick to the edges so cleared that little unintended glitch up.
- Also implemented our bloodFrenzy method, the method which causes the predators to charge/pounce at boids when they are in range.
Big week with more than 24 hours spent coding this week on the game.
I have implemented the rudimentary predator wander behaviour, so he pathfinds his way around. The boids run away and stop flocking if the predator is in range. This ended up being quite a bit more complicated than I have initially envisioned and thus also took a lot longer. However the effect is quite cool when he runs through a large flocking group of the boids and they all scatter.
I feel like the boids are flocking and grouping better now, however further problems have inevitably arrived: http://youtu.be/hyvJY59O7z8
Feels like going around a round about, a full day spent on flocking, multiple versions and I still haven’t figured out the cause: http://youtu.be/n-AFcDXsK7o
Note: Either youtube has changed their embed code or wordpress has changed what you’re allowed to embed into their html because it’s no longer letting me embed my videos, so you’re going to have to follow the link sorry.
Managed to solve the top corner attraction, however that of course creates more problems as visible in the video: http://youtu.be/UAuBFMy65iA
A quick video showing some of the problems I was having with the flocking and the bods getting attracted to the top corner for some currently unknown reason.
Completing a word find – Comfort.
The concept of comfort is one that addresses the emotions and the senses simultaneously. Comfort possesses the double meaning of physical relief and consolation, thus tying in the senses with emotions. Comfort is best stimulated through the non-visual senses. During distress, melancholy and other emotional states where alienation is least desires, it is sound, smell, taste and especially touch that best comfort an individual. (Te)
The dictionary (Deverson) defines being comfortable on an emotional level as having an easy conscience, complacent and at ease. The other important factor in being comfortable is physical ease, defined as the ability of the cushioning structure to deflect at the surface and to conform to body shape, preventing a concentration of pressure on the body (Unknown), basically ergonomics are important so that there are no points of strain or stress on the body. My sensory and emotional experiment I attempted to emphasise the mood of comfort and being comfortable when completing a word find.
I implemented and tried to incorporate these points which make people comfortable into my comfort experiment by changing the context from my initial sensory ethnography. Where originally I had people complete a word find while sitting at a table or bench, now I had them lounging in a large armchair in a quiet so as not to be disturbed by any loud sounds, warm and sunny corner of the house. In the case of smell and taste I simply ensured that there was nothing unknown or surprising smelling or tasting in the environment.
To try and achieve a comfortable environment and state for an individual I investigated what makes people comfortable. A study into places of comfort within a university context (Myers) found that people who have resided in a city their entire life would be familiarized with it and find it more comfortable than any other environment. When put in the position to choose, these people would make a choice of anything with reminders of their home, the city. So when asked people described a comfortable environment as one that they tended to have an element of nostalgia to them. The sunny location was chosen particularly to try and evoke positive memories of sitting and lounging in the sun, feeling its warmth. Sitting in the sun was quite a common shared memory in our culture I found after peoples feedback and was associated with a relaxed comfortable mood.
A study which identified factors of comfort and discomfort in sitting found that comfort is associated with biomechanical factors that produce feelings of pain, soreness (Zhang). The large arm chair was chosen especially as it’s ergonomic and the fabric is sensorial comfortable to touch, defined as “the elicitation of various neural sensations when a textile comes into contact with the skin” (Ding).
Shove found that many people in Britain spend their days in an environment that wavers little around 22 degrees and that stays the same all year round, whatever the weather outside. I was careful when choosing my location that the temperature was a reasonably constant indoor temperature of 22 degrees, which; this is to make sure they didn’t get distracted by becoming either too hot or cold.
The combination and careful planning of these details resulted in the participants’ feedback about the experience being a pleasant, calm and relaxing experience basically all synonyms for comfort. I feel like this experiment successfully embodied comfort through all of the senses.
Te, H. (2009). Place of Comfort: The textile tectonic expressions of living and dying (M.Arch.) Retrieved from http://search.proquest.com.helicon.vuw.ac.nz/docview/756253781/abstract?accountid=14782
Ding, D. (2010). Characterizing the Performance of a Single-layer Fabric System through a Heat and Mass Transfer Model. (M.Sci.)
Deverson, E (1997). The New Zealand Pocket Dictionary (2nd ed.). Auckland: Oxford University Press
Unknown. (2012). Glossary of Terms. Retrieved from http://www.afpf.com/glossary.html
Myers, C. (2004). Places of Comfort. Retrieved from http://jrscience.wcp.muohio.edu/nsfall04/FinalArticles/PlacesofComfort.html
Shove, E. (2004). Comfort, Cleanliness and Convenience: The Social Organisation of Normality. London: Berg
Zhang, L. (1996). Identifying factors of comfort and discomfort in sitting. Human Factors, 38.3. Retrieved from http://go.galegroup.com.helicon.vuw.ac.nz/ps/retrieve.do?sgHitCountType=None&sort=DA-SORT&inPS=true&prodId=AONE&userGroupName=vuw&tabID=T002&searchId=R1&resultListType=RESULT_LIST&contentSegment=&searchType=AdvancedSearchForm¤tPosition=1&contentSet=GALE|A19027788&&docId=GALE|A19027788&docType=GALE&role