Martyn Patrick / Portfolio
Programming & Individual Feature





You can see the github repository: Here
Obivously a large part of project was programming the program.
We were using python as a programming language and we used several external libaries such as:
-
pygame lets you make 2d games in python
-
pytmx lets you load a tmx map in python
-
numpy scientific math calculation
The rest are python standard libary libaries:
-
heapq
-
collections
-
os
-
time
-
random
-
sys
We planned to spend 6 weeks coding before the end of the project. I was the project manager however I still coded and I spent most of my time on the inventory system. Which is a system we had a lot of issues with due to how pygame displays objects on the screen.
We were also expected to produce an individual feature as 25% of our mark. I chose to do the insertion sort algrothrim. So that user's could choose a sorting algrothrim that they prefer. A choice between quicksort and insertion sort.
You can see screenshots of my commits both to github and to facebook: Here
I Left github submissions last minute because I wanted to make sure my additions would work before I commited them to the main. Because of this sometimes the non broken aspects of my code were commited as part of Bogdans code that he had fixed or changed in some way.
The Inventory issue:
One of the main programing issues that we faced was the inventory. It took us 2 weeks ontop of the intial week it took me to make something I throught would work. I say throught because I had a lot of intial issues getting pygame to work on home computer. Which is why I had to rely on bogdan to compile and test it relibaly. The main issue with the inventory system is that inorder to display an object you have to give that object a surface. Then you "blit" that surface onto another surface and then blit that surface to the screen. This took us a little while to solve. Not only that but we wanted the inventory to update so we had to clear all objects to do with the inventory that we displayed on the screen. And then give them all surfaces again. As you can imagine this took a little while to get working correctly.