Friday, January 31, 2014

Second Food Blog - My First Poutine

After coding until our brains were dribbling out of our mouths, Joylee and I decided to grab something to eat before another programming class. We walked down to Frite Alors! I decided to try out a pulled pork poutine, and did not regret it.

The pulled pork meshed very well with the cheese curds and fries. The textures, which are often a sticking point for me when I try new foods, blended together with a focus on the pulled pork. The taste however was almost too spicy for me, the combination of the BBQ sauce on the pulled pork and the spices in the gravy was exacerbated by the fries and almost was too much.  However, I loved the taste, I have found that if a food rides the line of being almost too spicy for me I highly enjoy that food.

I will probably go to Frite Alors! again in the future, no matter how bad for me poutine is I find it a highly enjoyable food.

Thursday, January 30, 2014

First Food Blog - Adventures in Tim Hortons

I am going to start putting up Food Blogs about the food I find and eat in Montreal for my Food Writing Class.

When I first entered a Tim Hortons I had just had an exhaustive instruction in the details of the Du Parc Bus route. I was tired and ready to head back to the dorm, but I decided to try out the Tim Hortons that I saw down the road. Inside there were fewer pastries than I had hoped but more than I had feared there might be, I ordered two cheese croissants and one hot french vanilla and sat down for a breather.  That brief breather caused a revaluation of the value of food in Montreal, before hand I had been not sure if I was happy with the prices of food up here but afterwards, I decided that at the very least Tim Hortons was worth the cost.

The hot french vanilla is the primary attraction for me and though I cannot fully describe its taste from memory, it has a stronger bite to it than hot chocolate does.  If I find myself on a long walk I will often drop by a Tim Hortons to grab a hot french vanilla before I continue in order to warm myself on the walk (as well as having a tasty drink).

Wednesday, January 15, 2014

Thoughts on Montreal

I've been in Montreal, Canada for about a week now and it has been a lot of fun.  I am still waiting for the school work to start pouring in but I'm happy with how I'm spending what time I do have. The dorm is decent, a step up from Spinner Place in some ways and a step down in others. 

This is the first app I made for the Android, and it was/still is laced with bugs and issues, I am still developing the app though due to school work the progress is slow.
https://play.google.com/store/apps/details?id=com.halfbeard.androidbusfinder

The second app I made for Android and much more of a game. This is a simple time waster, you tap the smiley face and it bounces up and down. What makes it entertaining is that the smiley face hits the ceiling it speeds up.
https://play.google.com/store/apps/details?id=com.halfbeard.balljuggler

Monday, December 2, 2013

Exploring Collision Detection



The method that I explored beyond what I learned in AI for Games was broad base collision detection.  Broad base collision detection deals with the problem of scaling up basic collision detection while still using the CPU efficiently.  There are many different methods within the umbrella of broad base, the one that I focused on was Spatial subdivision.  Spatial subdivision determines which objects to check collisions on, by dividing the world into sections and only checking objects in the same sections.  Spatial subdivision is especially useful for games that have many objects split evenly across a world with finite borders.
When checking collisions between objects there are two levels, the narrow phase is checking each individual object, while the broad phase deals with selecting which objects to check.  The narrow phase handles each object that is selected against every other chosen object, without the broad phase the number of checks grows exponentially as the number of objects increases.  While not always necessary, the broad phase allows for more flexible collision detection since it allows objects to be aware of their surroundings.
Spatial subdivision divides the map of the game world into sections; each section keeps track of all objects inside it.  Each section must be larger than the maximum object size otherwise the objects will always exist in multiple sections.  Every update the section that each object is in gets calculated and then every section with more than one object in it checks for collisions.  If a section has one or fewer objects then the section does not check for collisions, similarly if the objects in a section have not moved since the last update it will not check again.  The main problem that must be dealt with in spatial subdivision is that objects will inevitably end up contained in two or more sections and checked in both, this can be dealt with by ignoring adjacent sections containing multiple parts of one object (Nguyen, Hubert).
Spatial subdivision is especially useful to bullet hell shooters with a fixed arena, since the likely number of bullets and actors is very high.  Falling sand simulators also find subdivision to be highly useful since if sections become completely full then they can be ignored for the purposes of collision checking.  The strength of spatial subdivision is that it cuts down on CPU usage but it does not increase memory usage very much, this means that it is suitable for most platforms. 
While researching spatial subdivision I found GPU Gems 3 to be very helpful in codifying the terms.  GPU Gems 3 also contained very helpful illustrations of spatial subdivision being used.  Collision Detection and Particle Interaction is a site that demonstrated spatial subdivision in a particularly compelling manner, the site does focus on a different manner of subdivision than I used but the concept broke my concept of collision detection out of its mold.  Spatial hashing implementation for fast 2D collisions provided several essential code examples as well as illustrating exactly how much easier on the CPU spatial subdivision is.

 Nguyen, Hubert. "32." GPU Gems 3. Upper Saddle River, NJ: Addison-Wesley, 2008. N. pag. Print.
Merlin3d. "Spatial Hashing Implementation for Fast 2D Collisions." The Mind of Conkerjo. N.p., 13 June 2009. Web. 02 Dec. 2013.

"Collision Detection and Particle Interaction." Collision Detection and Particle Interaction. N.p., n.d. Web. 02 Dec. 2013.

Thursday, October 3, 2013

A Description of the purpose of this blog

This blog is a venue for me to display the games and projects that I have worked on in my free time and as final projects in school.

I will also post up here whenever I find something interesting. Since I am in the city of montreal for the semester I will likely post about living here as well.