https://github.com/tayloryeow/Cod-e-mon
Pokemon clone written in C++
https://github.com/tayloryeow/Cod-e-mon
pokemon practice unit-testing
Last synced: 8 months ago
JSON representation
Pokemon clone written in C++
- Host: GitHub
- URL: https://github.com/tayloryeow/Cod-e-mon
- Owner: tayloryeow
- Created: 2022-11-09T02:47:50.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-02T14:48:41.000Z (over 2 years ago)
- Last Synced: 2024-10-24T02:30:28.552Z (12 months ago)
- Topics: pokemon, practice, unit-testing
- Language: C++
- Homepage:
- Size: 15.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cod-é-mon - Pokemon clone
#### Cliff's notes - Abstract :
Two Dimensional (2D) tile based game engine. Written, portably, in C++, _Cod-e-mon_ and the associated _Monsta_ game-engine can be cross-compiled, to unix based OS's (MacOs and Debian based Linux distros) and Windows 8+.
The Monsta Engine and which _Cod-e-mon_ game built on it, leverages CMake for its build system.
The SFML (Super Fast Multi-Media) is used as the graphical interface library.Note: Don't sue me nintendo buissness daddy.
## Backstory
#### This part is 95% ok to skip, its mostly my rambling and what I read to remember why I started this
In 2010 when I first began to learn to code in a systematic way, I had starry eyed dreams of becoming a video games programmer.
I think this is likely a natural pipeline into computer science for many. Game Dev seems like a lot of crunch for rarely enough pay to me now.
Any-hoozles.
As I had at that time already learned Basic, and was learning C in my highscool programming class I decided to try my hand at a pure C Pokemon clone. I submitted it as a summative project. It never ran to my satisfaction, and apparently it never ran at all on Mr. Krealman's PC. I got a good grade anyways somehow. (Thanks Mr.K)
It was a good piece of code for a highschooler, it had:
transitions, double buffering, a working (much to my astonishment) camera system, battles, et cetera.
My issues was that it was never portable or reliable. Simply put t'was buggy as-all-get-out and the ammount of *ahem* assistance I recieved on the project made me feel like it was never truly my work. (Thanks Geoffrey S.)
Now as I finally finish my formal education and have amassed a decade or so of practical experience, let try our hand at reimplementing this solution.#### TLDR: This is an exercise in catharsis aswell as a way for me to gauge my growth as a dev
## Exec. Summary:
### Attempt to reimplement pokemon in C++ as an exercise## Project Goals
#### In no particular order and subject to change at anytime as the mood strikes me> Multiple Maps
>
> > * Easy transitions between maps. Easy in this context means no noticable loading times.
> > * Transition animations, i.e. wipes, fades.
If you're thinking of early 2000s video editing software style transitions, you are in the right ball park.
>
> Wild Codemon areas
> > * A battle system
> > * RPG progression system inspried, but hopefully not hopelessly derivative, of Pokemon.
>
> A Map Editor would be nice
> > * Procedural map generator. Stoichastic - probably random noise based
>
> Music
>
> > * Jazz maybe?
>
> General Goals
> > * No algorithms with runtimes beyond n Log(n)
> > * Unit-testing harness suite
> > * Would be nice if the harness suite also timed each major alorigthm automagically.### To-do bucket:
- add collision
- add bounds checking
- add music
- Redo assest importation: Make it a little bit more flexible. Had to use some hardcoding that I am unsatisfied with. Should ideally use macros to leverage preprocessor. This would ideally allow us to navigate to the target assets at compile time.
- Add a testing suite for the low level data structures. I regret rolling my own but at this point adding the testing suite is the only way to nail everything down.