Trade/RPG/Battle Demo
I started this project when Pokemon Go had just come out, and was interested in returning to the older style Pokemon games, but backporting the new geolocation ideas and easy mobile internet connectivity for trades and battles.
Controls:
- WASD keys to move
- Shift to run
- Space to interact, accept
- Enter to open the menu
- Esc to cancel, go back
In this demo, I’ve reused assets and mimicked the Pokemon Red UI (perhaps too faithfully), with some differences. Talk to the NPCs in the building, then head out to battle the trainers right outside. You can even try catching a wild monster with a “Roc Gem” from your bag, jump ledges, use healing items, and cross into other parts of the stitched overworld. Enjoy! 😃
The most challenging part of this project was developing a scalable scripting and
events system for entities like NPCs, doors/portals, and battles. I decided not to
implement a second layer programming language – like some do with Lua/Ruby in a C++
engine – since C# isn’t as verbose and unsafe as C++ to begin with. Instead, I had
Objects in my Tiled maps specify custom properties like "class": "Rocket1"
and
analogous C# classes which subclass and compose more base classes like NPCTrainer
and Portal
.