Spatial Partition-ing

Recently, I was given the framework for a unity project that creates a white circle on a black background. It ran and printed out how long it took to print out a set amount of said circles. The goal was to use some form of spatial partitioning to improved the efficiency of the program.

 

Ultimately I decided to use the grid method, as it was a fairly simple problem and I didn’t want to over complicate the problem and use a quad-tree, although I am well aware that it would have made the program even more efficient than my end result.

 

I started by creating the grid itself, iterating over the grid to give the cells correct width and height and than adding each circle to its own spot within the grid. After doing this I lowered the run time from 10.4 to 6.0, so its not far from being 50% more efficient. As mention above, I am sure that if I used a quad tree it would have been even faster but since the goal was to reduce run-time and not to make run-time as fast as possible and how the grid method is generally easier to implement than quad tree, I decided grid would suit this particular task.

Advertisements

“Where the Heart is” Post Mortem

“Where the Heart is” is the final project of this trimester. It was a team project that I worked on with another programmer and two game design students, as well as a number of animation and graphics design students. Ultimately the game went well and the whole team was prepared to showcase the game at a gallery a few weeks ago, where it was well received by those who came to play it.

 

Where the Heart is tries to capture the feeling of being at home, a feeling that myself and my fellow game dev students decided was felt the most when first moving into your place. To begin with, the player moves into their own bedroom as a ten year old and as they move through the game, they move to various houses that represent various stages in a persons life, for example, the uni share house and the retirement home.

 

What went right

I can’t write a blog about this game without mentioning how amazing our collaborators performed. I would like to say that this is because of how early we established contact and sorted out exactly what they need from us as developers and they figured out exactly what we need from them as animators/graphics designers, but I can’t/wont take credit for the collaborates very solid work ethic, so I’ll say that the communication definitely helped, but ultimately we hit the jack pot when it came to having the right people.

 

To imitate this in the future, I will make sure to ask around as soon as possible for collaborators because the ones with the best work ethic are likely to try to start working on something as soon as they are asked, so I’ll try to get to them with a solid idea before another team does. I will also try to maintain the same level of communication that I did in this project. Slack definitely helped with that because no matter when someone had a question, they could post it to the slack where I would see it within a day and confirm a response with the other game devs and give the collaborator a response.

 

Another thing that went right was the amount of work each team made did. At the end of the project we had all agreed that it was our best experience with group work we have ever had. I would this is largely because of both communication and how quickly we planned out the project using the Hack n Plan website.

 

In the future I will certainly make sure planning and documentation is done asap to make sure everybody knows what they have to do throughout the project as early into the project as possible and make sure people are made aware of the work they are expected to do.

 

I would also like thank my team for staying on task when I had to take time off due to the loss of someone close to me.

 

What went wrong

As mentioned above, I had to take time off due to a loss. It was just something I had to do do or else the few things I did to would have been terrible. Unfortunately, this resulted in a few of the things I was working on getting cut, which was reasonable as when I got back there just wasn’t enough time to complete them.

 

Death is unavoidable and unexpected, so it cant really be planned around. The best I can do is in future projects, aim to get my work done earlier than its suppose to be done, so that if life does get in the way, it wouldn’t do as much damage to the team.