Organisms would have the abilities to move, eat, hunt, and think. These functions would be optimized by genetic algorithms.
	To create this simulation, there were several steps. The first was to decide upon a programming language. The C++ programming language was chosen for its versatility and large pool of tutorial resources. The next step involved writing pseudo-code, or planning out the program itself. The actual program was broken into several functions. The first function, a global function that provided access to all other parts of the program, generated an arbitrary number of environments and filled them with a random number of food items that had a varying energy level based on the environment. The next step was to generate an arbitrary number of organisms and give them very basic programming for their four main functions: movement, hunting, eating, and intelligence. To optimize movement, hunting, and intelligence, a genetic algorithm was written. This general genetic algorithm followed the basic structure of binary coding, and it was modified for each function that it was required to optimize. These modifications included different representations of data and different fitness functions. Once the environment and organisms were created, the program would iterate through the sequence of each organism taking an action in the environment until the cycle ended. By utilizing the data that each organism collected during its run (general map of environment, efficiency of genetic algorithms, total energy gathered, and risk of death), the next generation would evolve with that data as a selection parameter. The program was given a graphical representation and a main menu to select various functions to run.
	Before any code was written, a program outline was developed. The outline, known as pseudo-code, combined English and programming terms into a hybrid document that could be accessed at any time as a reference to the build of the program. Also, a flowchart detailing constants, classes, and functions was created. A project was started in Bloodshed Dev-C++ 4.9.9.2 under the name “ANIM Project”. The project was labeled as a console application. After the project was set up, a brief skeleton of the code structure was written. The skeleton included use of the standard namespace, the inclusion of relevant C++ libraries, declaration of global variables, and function prototypes.
	The first function written was the “create_environment()” function, of type void. This function created an array of characters representing a 20 by 20 virtual environment. The array was then filled with food items based on a random percentage. A blank space was denoted by “-“, while a food item was denoted by “X”.
	The next two functions written were the “main_menu()” and “main()” functions, each of type void. Main_menu() displayed several options to the user; display the environment, display a list of the current anims and their statistics, display the process and results of the genetic algorithms, run the simulation, or exit. The main() function ran the main menu.
	The first class created was the Anim class. 