/PokemonUnity

A LEGACY Unity project to help build Pokémon-esque RPG games.

Primary LanguageC#BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Pokémon Unity Logo

Pokémon Unity by IIcolour Spectrum

Created with Pokémon Framework

Based on Pokémon Essentials

License Discord Server Reddit GitBook

Pokémon Unity is a versatile game project, written in C# and built upon the Unity platform. Designed for passionate fans, this project aims to provide a platform for creating Pokémon-style games. Originating from the efforts of IIcolour Spectrum (Lucas), the project has transformed over the years, seeing leadership change hands to FlakFlayster in 2017 and currently managed by Gen, with continued contributions from FlakFlayster.

Overview

Pokémon Framework forms the backbone of this project. Crafted in C#, this robust framework provides a solid foundation for any Pokémon-style remake or emulator. Its abstract design, completely independent of any frontend component, offers versatility, allowing migration between any C# compatible engine or platform (e.g., Unity3D, ASP.NET Websites, or even a text-based Pokémon battle simulator in a command-line console).

This project also includes a C# adaptation of Pokémon Essentials, designed to function identically, with only minor variances. To ensure an expansive and updated database, we've substituted the data from Pokémon Essentials with Veekun's Database, which is designed for database queries and is kept up-to-date regularly.

Fundamentally, the project reengineers the Pokémon Essentials logic to implement Pokémon mechanics. It leverages Veekun's Pokédex data (extracted straight from Nintendo's Pokémon games) to enrich the Pokémon Framework. Crowd-sourced local translations have been set up on a private webserver, which can be downloaded and used as localized scripts. The final render and output are integrated with the GameFramework for Unity, overwriting its template data to operate like a Pokémon game.

If you're familiar with Pokémon Essentials, have a preference for Unity or C#, and are willing to put in the effort, this project is a perfect match for you. However, it's important to note that this is not a ready-made game. It's a FRAMEWORK, a basis for you to build your own unique game upon. Hence, you will find source codes and DLL files rather than a game executable.

Adapting Pokémon Essentials

The project's code is designed to mimic and emulate the Pokémon Essentials package for RPG Maker MV, originally written in Ruby. Given Ruby's similar object-oriented coding structures, the code can be easily adapted to function identically in our C# project.

Current Project Status

The project builds upon IIcolour Spectrum's original Pokémon Unity, combining it with Herbertmilhomme's framework. While the project is currently playable, it's in an evolutionary phase with some features temporarily disabled and minor issues present.

For now, we advise against using this project as a foundation for building a game. However, we're making strides towards future improvements and eliminating the need for wrapper functions.

Demo and Build Instructions

To open and play a demo in Unity:

  • Import the project's folder (/Pokemon Unity) using Unity Hub or Editor.
  • Navigate to and open sampleScene.unity, then play it.

To build and run the project on Windows:

  • You will need to move database to /Pokemon Unity/Assets/Data. (Found in ..\ ..\ ..\\veekun-pokedex.sqlite or the repository's root folder)
    • And uncomment line 58 from Assets/Scripts/Scene/GameEvents.cs
  • Build the project.
  • In the Build folder, copy SQLite.Interop.dll from YourAppName/YourAppName_Data/Plugins to YourAppName/YourAppName_Data/Managed.
  • Finally, run `YourAppName.exe

To download the project and play it without using unity

There are also demos for Windows, Linux, and Mac zipped in 2016 Release

Stay tuned for updates and exciting changes as we continue to develop the Pokémon Unity Project!

Credits

Links