All Projects → Kermalis → PokemonBattleEngine

Kermalis / PokemonBattleEngine

Licence: MIT License
A C# library that can emulate Pokémon battles.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to PokemonBattleEngine

pokengine
An online Pokémon battle system for the web
Stars: ✭ 45 (-51.09%)
Mutual labels:  pokemon, simulator, engine, battle
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (+128.26%)
Mutual labels:  games, discord, dotnet-core
mamesaver
Mamesaver is a mame emulated screensaver - get all the good ol' games playing their demo modes while you procrastinate and enjoy!
Stars: ✭ 26 (-71.74%)
Mutual labels:  emulator, games
MOLE
(On hiatus untill untill further notice) RetroMole Core
Stars: ✭ 20 (-78.26%)
Mutual labels:  romhacking, rom-hacking
first nes
Create your own games for the Nintendo Entertainment System! This "starter" game is easily extensible for your own projects. Includes references.
Stars: ✭ 94 (+2.17%)
Mutual labels:  emulator, romhacking
showdown-battle-bot
Socket Battle Bot for Pokemon Showdown (http://pokemonshowdown.com/)
Stars: ✭ 19 (-79.35%)
Mutual labels:  pokemon, simulator
EtherEngine
简明易用的 Lua 跨平台游戏接口
Stars: ✭ 132 (+43.48%)
Mutual labels:  games, engine
FEMU
FEMU: Accurate, Scalable and Extensible NVMe SSD Emulator (FAST'18)
Stars: ✭ 213 (+131.52%)
Mutual labels:  emulator, simulator
facebook-send-api-emulator
Facebook Messenger Emulator & Facebook Send API Emulator functionality allowing you to test web hooks on developer's machine.
Stars: ✭ 24 (-73.91%)
Mutual labels:  emulator, simulator
exhal
Compression and decompression tools for NES, SNES, and Game Boy games by HAL Laboratory
Stars: ✭ 54 (-41.3%)
Mutual labels:  romhacking, rom-hacking
klo-gba.js
🧢 Reverse engineering tool for the Klonoa's GBA game
Stars: ✭ 124 (+34.78%)
Mutual labels:  romhacking, rom-hacking
ravel
A RISC-V simulator
Stars: ✭ 24 (-73.91%)
Mutual labels:  emulator, simulator
N-Gage stuff
Some N-Gage stuff for translation and modding
Stars: ✭ 21 (-77.17%)
Mutual labels:  games, romhacking
sar2
Search and Rescue II. Helicopter flight simulator for Linux and OSX.
Stars: ✭ 20 (-78.26%)
Mutual labels:  games, simulator
Quake2
Quake 2 modification with new renderer and many other unique features.
Stars: ✭ 31 (-66.3%)
Mutual labels:  games, engine
Yarhl
Yet Another ROM Hacking Library
Stars: ✭ 48 (-47.83%)
Mutual labels:  romhacking, rom-hacking
kale
Kirby's Adventure Level Editor (C++ / Qt)
Stars: ✭ 31 (-66.3%)
Mutual labels:  romhacking, rom-hacking
pyEnigma
Python Enigma cypher machine simulator.
Stars: ✭ 44 (-52.17%)
Mutual labels:  simulator, engine
Fractal Engine
WIP 3D game engine with editor and other stuff
Stars: ✭ 152 (+65.22%)
Mutual labels:  games, engine
ts-c99-compiler
ANSI C 16bit Compiler + NASM Assembler + Intel 8086 / 80186 + X87 emulator written entirely in TypeScript
Stars: ✭ 78 (-15.22%)
Mutual labels:  emulator, simulator

PokemonBattleEngine

Join on Discord

Pokémon Battle Engine is a C# library that can emulate Pokémon battles. This repository includes the engine library, a Windows/Linux/MacOS/Android/iOS client, a server, a Discord bot, and some extra code to rip data from the official games. The engine only emulates Pokémon B2W2 versions, so nothing introduced after generation 5 is included and neither are generation 1/2 exclusive items, event Pokémon, and move compatibility.

ClientPreview

The engine does not send information a player should not know; information only gets sent to each player/spectator when it is revealed. For example, a client has no way of knowing if the opponent has sent out a Pokémon with Illusion, the opponent's nature, stats, Hidden Power damage/type, unused item/moves, etc. Therefore, a custom/modified client cannot do anything more than an ordinary player unless it is hosting the battle. A lot of work has been done to prevent any cheating.

Join our Discord server to talk or try out the battle bot!

DiscordPreview

Important Note for Discord:

If you are going to self-host the bot after downloading the code, you will need to have your bot join these two servers for the emotes:

Other Features:

  • There are settings that you can change, such as having more moves, a higher maximum level, or weaker poison.
  • There are helper classes to build legal Pokémon, as well as require legality for a battle.
  • Alternatively, you can represent the Pokémon in any way you wish, as long as you have the basic info to start the battle. This works well with custom games like PokemonGameEngine.
  • You can save battle replays to watch them back in the client or to train a neural network.
  • There is a work-in-progress random team generator inspired by Pokémon Showdown's which aims to work well with custom settings and moves.
  • The library has classes which automatically use the correct language from the games, meaning you can see the Pokémon's names, items, etc in your language, as long as your language was one supported by Pokémon B2W2.
  • Multi-Battles exist, and they can be customized to work in 2v1, 2v2, 3v1, or 3v3 battles.
  • Wild-Battles exist, and a wild Pokémon can appear disguised from the start, and have statuses etc.
  • EXP & Level up work, but not currently with remote battles. It can be added though.

To Do:

  • Triple-battle shifting, Rotation-battles
  • Add the remaining vanilla abilities, items, and moves
  • Finish adding all event Pokémon
  • Add previews of the Android/iOS apps

PokemonBattleEngine Is Used By:


PokemonBattleEngine Uses:

PokemonBattleEngineClient Uses:

PokemonBattleEngineDiscord Uses:

PokemonBattleEngineExtras Uses:

PokemonBattleEngineTests Uses:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].