1.4b Computational Methods
Thinking Abstractly and Visualisation
Abstraction is the process of removing irrelevant details from a problem to put more focus on the issues at hand by simplifying it to its main core components. This is very important in development since more time can be spent tackling the main issues instead of the extraneous parts.
I will use abstraction in my project to:
Design simple graphics and art since I believe that more effort should be put into the gameplay and experience rather than making the graphics look realistic. Due to this lack of high resolution this would also make the game easier to develop and run by lowering the machine requirements.
Design a clear and sensible GUI menus that allow for easy navigation. The interfaces only need to be functional and easy to understand since this is not a key focus of the project and only distracts from the main content.
Thinking Ahead
Thinking ahead is the process of planning out the steps you will take and how to get there to achieve your end goal. This is essential to programming since it allows you to envision your process and where you next need to go. For this project I will create a detailed plan of future features to be implemented and the process of how this will be. This allows me to follow a clear laid out structure allowing me to keep on track throughout the project. An example of this is that with my game I have already planned ahead and chosen the library of PhaserJS which runs in the browser which gives me a clear first direction to head in to set up the project.
Thinking Procedurally and Decomposition
Decomposition allows someone to think in a procedural manner by breaking the problem into smaller sections or subroutines which can then be organised and executed in an efficient way. This leads into thinking procedurally which involves thinking about how you will write the code in an efficient manner that can be refactored later on and in a way that is easier to debug.
Thinking Logically
Thinking logically is an essential skill especially in development when discussing how your actions will affect the outcome. Making sure the game follows logical patterns is important to making an enjoyable game since the player wants to be presented with the most likely and logical outcome when coming across problems throughout the game such as enemies and puzzles. Some examples of thinking logically in my project can be:
The character will move on the designated keyboard input based on a decision whether this is possible
The game needs to save progress to make for an experience that has enjoyment as well as longevity.
Enemies need to have regular attack and movement patterns for players to get the grasp of.
Thinking Concurrently
Thinking concurrently is about determining what things that are "behind the scenes" that can be run simultaneously. The illusion of game concurrency can be done with many libraries or game engines through things such as update functions. This concept will be achieved in my project through:
Sound effects playing simultaneously with the corresponding animation on screen
Position of enemies and the player need to be displayed on each frame
Last updated