Tianhao Zhang ([email protected])
Kaifeng Hu ([email protected])
Dylan Leong ([email protected])
Rachell Lee ([email protected])
Tsung Yeh Hsieh ([email protected])
| Developer | Contribution |
|---|---|
| Tianhao Zhang | Software architect and project coordinator. Developed main.cpp script, game-loading & pre-battle animation, python-based image generation and some other utility functions/classes (utility.cpp). Coordinated Github collaboration & code review |
| Kaifeng Hu | Developed battling logic and animation in battling scene |
| Tsung Yeh Hsieh | Developed battling logic and animation in battling scene |
| Dylan Leong | Developed main scene (village) including trainer moving and conversation with doctor and computer trainer |
| Rachell Lee | Designed all roles, animals, medicine and background images. Developed scenes of animal & medicine bags |
As the group project required by CMU 24780 Engineering Computation, Codeemon is developed by five CMU graduate students. It is a 2D adventure inspired by classic Pokémon, offering a fresh twist with redesigned characters, unique animals, new adventure map and battle scenes. Built primarily using OpenGL/C++ with some Python integration, it blends creativity and technical expertise to provide an experience that is both nostalgic and refreshingly innovative.
pip install Pillow==9.4.0mkdir -p test.app/Contents/MacOS
clang -c fssimplewindowobjc.m
clang++ -w main.cpp fssimplewindowcpp.cpp fssimplewindowobjc.m ysglfontdata.c yssimplesound.cpp yssimplesound_macosx_objc.m yspng.cpp yspngenc.cpp BattleScene.cpp Medicine.cpp People.cpp Pokemon.cpp Trainer.cpp Utility.cpp -framework Cocoa -framework OpenGL -framework AVFoundation -o test.app/Contents/MacOS/exe
test.app/Contents/MacOS/execl /EHsc /Felauncher.exe main.cpp fssimplewindow.cpp yssimplesound_windows.cpp yspng.cpp yspngenc.cpp ysglfontdata.c BattleScene.cpp Medicine.cpp People.cpp Pokemon.cpp Trainer.cpp Utility.cpp /link opengl32.lib user32.lib gdi32.lib winmm.lib$gppath = "C:\msys64\ucrt64\bin\g++.exe"
$mainfile = "C:\PATH_OF_PROJECT\main.cpp"
$outputFile = "C:\PATH_OF_PROJECT\main.exe"
$libraries = "-L 'C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x86' -lOpenGL32 -lgdi32 -limm32 -lglu32 -ldsound -luuid -lole32"
# Run the compilation
$command = "& `$gppath -fdiagnostics-color=always -g $mainfile fssimplewindow.cpp yssimplesound_windows.cpp BattleScene.cpp Medicine.cpp Pokemon.cpp Trainer.cpp Utility.cpp ysglfontdata.c yspng.cpp yspngenc.cpp People.cpp $libraries -o $outputFile"
Invoke-Expression $command
# Check if the file exists and run it
if (Test-Path $outputFile) {
Write-Host "Running the program..."
& $outputFile
} else {
Write-Host "Compilation failed."
}
.\Script.ps1The game's first scene is where you can see the trainer, doctor, and the rival character(computer). To navigate the trainer, use <⌃>⌄. The trainer can initiate a talk with the doctor or the rival by pressing space key. You only need to press space key ONCE as the all messages continue to be sequentially displayed in the box
Once the battle starts, there are 3 options that the trainer can make, Fight, Bag, or Pokemon. To make a selection, click on the button using the mouse.
Fight button will attack the opponent using the pokemon's special skill. Bag button shows the list of medicines that the trainer can use to heal the Pokemon. Pokemon shows Pokemons that the trainer currently has.
This scene shows the Pokemon that the trainer has and the Pokemon's current HP and features. Either Pokemon can be selected by clicking on it and it will return to the battle scene.
This scene shows the medicine that the trainer can use to heal the Pokemon. Click on the potion for usage. It will heal the Pokemon by its recovery point.




