Corewar algorithm project for 42.
Collaboration member: isahodge aneeshnazar sjuery mlu
Corewar is a project where we have to design a assembler (to compile champions to fight in the game), the virtual machine (the arena memory space where champions fight), and a champion (because why not?) to battle it out in a virtual space of memory for all the cookies in the world.
The project is one of the capstone project for 42. Project design was as followed:
- Project was first divvied up, where aneeshnazar mlu worked on VM, and sjuery isahodge focused on the ASM
- Isahodge moved onto the VM later where sjuery finish ASM, mlu and aneeshnazar continued on VM
- Sjuery moved onto disassembler (converting the binary back into assembly code), while rest of the team finalized VM
- Two champions were written, Lydeka by mlu, and defeatzork (one of the test champions we needed to beat) by aneeshnazar
- Multiple refactoring of the project was done in order to optimize and improve the VM
To execute first run makefile within src/vm to compile the Corewar engine. Afterwards you'll need some champions. You can use the assembler on the champion to compile their pseudo instructions into code that the VM can run. Run the corewar binary to see instructions on how to execute with up to four champions.
isahodge https://github.com/isahodge
aneeshnazar https://github.com/aneeshnazar
sjuery https://github.com/sjuery