Porting a indie game
Working at Abstraction I had seen my share of indie games, some very creative some not so much PixelPiracy was one of those titles that was build on a fun idea but lacked the proper implementations to make it really shine. Once starting on the project it became apparent that the code written for this game was all but clean and showed a lack of understanding basic programming, it was a struggle to keep a golden rule intact "try to leave as much of the original game intact" as often things would simple not work or have issues already that had to be fixed.
If-else and state
One thing that I will always remember from this game was the lack of any kind of logical storing of effects of in-game items. everything was done with semi-global variables and long lists of if statements that did string-compares. The sad thing was that the programmers that wrote this code were not fully aware of the else part of a if else statement. an example of this would be a if check that did a string compare to see of the item name was equal to "banana" for example, already a bit wasteful however because there was no use of else in the case that it was a banana it would still check the next line to see if the "banana" object was maybe equal to "coconut". looking back at this project I think we should have rebuild it fully from the ground up.
Porting this game to the PS4 and Xbox meant not just making sure it worked it also had to work with a controller, the original game was very much designed for keyboard+ mouse interaction so all the menus in game were completely redone by me and another co worker. this was a lot of work since often we found ourselves struggling with the broken code underneath as yet another thing was not functioning as it should.
Another part of the game that was redone was the map screen, the base game sort of had this in however it was very unclear that there were states of traveling, being boarded or arriving at the destination as intended, the new map screen fixed all this.