All the code in this is from a game I made in 2018-2019 for an intro to programming class. Currently I am drafting a plan on updating the game with the following things:
- Implementing design principles such as:
- Reducing duplication (DRY)
- Designing classes with completeness which can be extended to add functionality (OCP)
- Reworking and restructuring all functions, classes, and modules to implement SOC and SRP
- Create tests so that sections of the game can be tested and reused
- Have a focus on modularity so that other games can use features from this game
- Incorporate principles from Robert Martins Clean Code to make readable and easy to work in code
- Remake all the assets for the game to give it an updated look.
- Utilize more data structures and advanced algorithsm to improve space and time complexity and improve code density
- Determine if a design pattern can be used and if it will benefit the code
- Improve documentation
Side Notes:
- Consider switching to Java for development
- Try creating some functionality in C and link it to the python game to improve speed
- Learn about software development cycle and possible incorporate it more
- Design and develop a proper report and UML diagrams
- Determine if systems Programming theory can be applied (forking, sockets, pipes, etc.)