• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Developing] PokéRPG - A Pokémon MMO built with LibGDX

15
Posts
2
Years
    • Seen Oct 18, 2023
    logo.pending

    PokéRPG - A Pokémon MMO built with LibGDX
    Join our Discord!

    Team
    • Alycia - Developer
    • Rebecca - Developer
    • Cpt. Lavender - Lead Designer


    Welcome to PokéRPG, a Pokémon MMORPG built entirely from scratch using LibGDX. Our mission is to recreate nostalgic regions such as Kanto, Johto and Hoenn while adding our own artistic flair in order to keep these regions fresh. While we aim to bring in fresh ideas and regions, we noted that creating an entirely new region would hinder progression at this present time. Yet we are not discouraged from adding entirely new regions as expansion packs, or as part of our monthly update program.


    PokéRPG - A Pokémon MMO built with LibGDX


    The core focus of PokéRPG will be creating a multiplayer experience, encouraging you to participate in the economy, play with and find new friends, and help shape the world. While most quests, story-lines, and experiences will be "single-player", we will have world events, triggers, and more that can be participated in with your friends or strangers. Progress through the game, earn experience and challenge other players to find yourself on the top of the Highscores!


    PokéRPG - A Pokémon MMO built with LibGDX


    PokéRPG is an exciting new entry into "fan-made" games, as we decided to go entirely from scratch using LibGDX. Whilst we are standing on the shoulders of giants (Pokemon Essentials), we didn't like how limited RPGMaker et al were in terms of building our own content, and having full control over the source code. This means that we'll be able to develop our own systems, particle effects, animations, data, etc without relying on outdated technology. Ensuring that we get the core components down properly in our game engine of choice will allow easier development of future content, and more options in terms of bringing in potential new developers. Those proficient with Java, Kotlin or Rust will be able to take advantage of our core and write engaging content that will benefit the community for years to come. With the advent of LibGDX, we are also not limiting ourselves in terms of color pallette, sprite sizes, or even custom neat features such as all new dialogue systems etc.


    PokéRPG - A Pokémon MMO built with LibGDX


    A few interesting ideas that we've built into our roadmap for PokéRPG include a class system, skill system, and more! Let's go into detail below:



    Class System

    An interesting concept that we are deciding to implement is a class system, which will give your character unique boosts and quests while enjoying your time on PokéRPG. The following classes and their attributes are concept at this time, but are the general rough idea on how they will play out.

    Spoiler:

    Skill System

    Another addition to PokéRPG will be our skill system, allowing players to level up these skills by performing certain actions related to that skill in order to unlock new content, items, or lore. Check out the spoiler below for more information!

    Spoiler:




    While we have many new exciting developments to share with you in the future, we figured it was time to share our little game and invite people to join the community while we prepare to ramp up development. Feel free to join our Discord and join the discussion on PokéRPG! As always, keep an eye on this thread for development updates and discussion.

    Credits for tile graphics, or other artwork that is in use by PokeRPG
    Spoiler:
     
    Last edited:
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Reserved post for future updates/media
     
    Last edited:

    Cpt.Lavendar

    Aliases: Cap, Lav, Bleeps
    3
    Posts
    2
    Years
    • Seen Nov 13, 2023
    The Ruins of Alph. 4 Separated dungeons, all with varying difficulty. Once the player has unlocked and completed all 4, the main one will become accessible.
    PokéRPG - A Pokémon MMO built with LibGDX
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023



    • Fixed an issue with movement exact positioning
    • Fixed an issue with player entity sprite offsets
    • Implemented collision using our Tiled tile flag system
    • Added support for Pokemon overworld entities
    • Added support for steam, and smoke animations

    We've also been working on improving our Discord server for any new comers! Our development roadmap over the next week or so will be ensuring our movement and entity cores are future proofed, and work as intended. There will also be a future post in the next day or so detailing our gameplay plan!
     
    Last edited:
    48
    Posts
    5
    Years
  • I'm a big fan of games with the Gen 3 art-style, and I'm fascinated by the concept of Pokémon MMOs, there aren't many projects that apply to both of those and this looks absolutely gorgeous! I can't wait to play it, it looks so fun!
     

    Cpt.Lavendar

    Aliases: Cap, Lav, Bleeps
    3
    Posts
    2
    Years
    • Seen Nov 13, 2023
    Here's a sneak peak at some of our plans for the gameplay. None of this is final and is subject to change.


    =Trainer Rank=

    All players begin at Rank 0. The rank determines their obedience level, what items are available to buy and what quests are available.

    -Ranks:

    0: Level Cap 5
    1: Level Cap 20
    2: Level Cap 35
    3: Level Cap 50
    4: Level Cap 75
    5: Level Cap 100

    -Rank 0 is basically the tutorial stage. Players will reach Rank 1 after they learn about the new mechanics, obtain their starter and have their first battle.

    -Rank 1 will feature basic quests like Collect berries for X, catch this pokemon for X, Find lost item for X etc. For Adventure Classes an introductory story quest will be available. For Economy Classes they will get an introductory quest setting up their main quest in participating in relevant contests.

    -Rank 2 will unlock more complex side quests like Explore Dungeons, Defeat Enraged Pokemon. The main quest will also become available. (Adventure Classes will unlock the main story quest when they finish their Class story quest ties into it)

    -Rank 3 will require 4 Gym badges and unlock harder dungeons, Fly and Swim course.

    -Rank 4 will require 8 Gym Badges. Most quests, items and Dungeons will be unlocked

    -Rank 5 will require the Championship title. Unlocks Gym Occupation Challenge, End Game Dungeons, All items and quests, option to buy private island.


    =Overworld Battle Visuals=

    Visual representation of player battles and wild encounters. Overworld pokemon will accurately display between the player and their opponent. Emote bubbles will give insights as to what the pokemon are doing.

    Players may also walk up to an in progress battle and watch the live gameplay as it unfolds.


    =Camping=

    Once the player obtains Camping Gear from their first quest they will be able to set up campsites in various locations.

    While the player is camping they will have access to their cooking and crafting kits

    Their pokemon will recover ½ Exhaustion. If the player sets their radio to the Pokemon Lullaby frequency they will recover ⅓. This cannot be stacked.


    The player will also be able to interact with their Pokemon as if they were all followers.

    The following is a list of areas players can and cannot camp.

    Able:

    -Routes
    -Dungeons
    -Caves
    -Forests


    Unable:

    -Cities and Towns
    -Tall Grass
    -Long Grass
    -Paths
    -Stairs
    -While on water
    -Interior Buildings
    -Puzzle Rooms
    -Boss Rooms
    -Various quest related areas


    =Team Set-Up=

    Each player will be allowed to either join or form a Team. 6 Players in total, this feature is for Dungeon Running, Gym Occupation and Team Tournaments. When Team members PVP each other they do not lose or gain any money.


    =Party Value System=

    A system that monitors the levels of the Pokemon you have with you, as well as your Trainer Rank that gives you a hidden value that determines NPC trainer, Wild Pokemon and Gym Battle scaling.


    =Gym Challenges=

    -Badge Challenge: Players compete against the Gym leader to obtain their badge. The Gym leaders' pokemon will scale to the players. Gym leaders Pokemon should always be at least 3-5 levels higher than the players.


    -Occupation Challenge: The Occupation Challenge is a Champion Trainers opportunity to take control of a Gym. The player will be forced to form a party based around the gyms typing.

    -Occupation Details: When a player occupies a Gym, they and their team will take over as the Leader and tertiary trainers. The order in which the Team is set up determines who takes over which NPC slot in the Gym. The one who Occupied the Gym however is the only one who can be the Leader.

    =Contests=

    Multiple contests will be available for players to participate in.

    -Bug Catching Contest
    -Cooking Contest
    -Fishing Derby
    -Harvest Contest
    -Breeding Contest
    -Beauty Contest


    =Caves, Forests & Dungeons=

    Spread across both Kanto and Johto, Caves, Forests and Dungeons will offer a challenging experience that features many different interesting side quests and rewards. These will be a player's main way in collecting valuable resources.

    -Caves: Lower in level, featuring basic maze setups, trainers, minor puzzles, resource nodes and a Mini-boss.

    -Forests: Lower in level, featuring maze like paths, trainers, foraging nodes and an optional Mini-Boss

    -Dungeons: Higher in level, featuring maze setups, puzzles, resource nodes, treasure rooms, Alpha Pokemon Mini-Boss and either a Legendary Pokemon Boss or a Challenge Boss.

    -Mini-Bosses: Mini-Bosses are similar to Rage Encounters, however these Pokemon are even more dangerous.

    -Main Bosses: Main Bosses are a new ball game for the player. They will not simply be able to just engage in battle with them. They will have a variety of different hurdles to pass. Such as dodging attacks, solving a minor puzzle, breaking down the Bosses shield etc.

    Once this initial phase is complete the Player and their team will be thrust into battle.


    =Buildings and Services=


    -PokeCenters: Located across both regions these centers will of course heal pokemon but will also feature a side room called the Trainer Lounge.

    The following is a list of things players can do while inside the lounge.


    -Trading Pokemon
    -Resting
    -Crafting
    -Cooking


    -Rest Stops: Located around both regions these buildings will function similarly to PokeCenters. They will feature a Trainer's Lounge and either an outdoor or indoor hot spring.

    -Hot Springs will have a $10 entry and will fully recover a Pokemon's exhaustion and PP but will not recover HP. However they will be given the Relaxed buff which will slow exhaustion gain for a period of time.

    If a player blacks out and is returned to a rest stop they will not have to pay any money.


    -PokeMart: Located around the regions these buildings will have a basic variety of Pokemon related items in stock. The available items will be based on the player's Trainer Rank

    -Bank: The bank will allow players to store money away for safekeeping, lest they black out and lose a portion of their hard earned cash. Could add more bank-like features depending on how you guys feel. Like interest rates, bank fees, stocks etc

    -Local Market: Located around the regions these buildings will have a basic variety of farming and cooking related items in stock. The available items will be based on the player's Trainer Rank.

    These locations will also buy produce and byproducts.

    -Local Shop: Located around the regions these buildings will have a basic variety of equipment, Hold Items and crafting ingredients for sale. The available items will be based on the player's Trainer Rank.

    These locations will also buy treasures, hold items and some crafted items.

    -Café: Located around the regions these buildings will have a basic variety of consumable food and beverage items for sale. The available items will be based on the player's Trainer Rank.

    -Boutiques: The two boutiques located in Goldenrod and Celadon City will have a variety of basic clothing items for sale.

    -Contest Centers: The two contest centers located in Goldenrod and Celadon City will hold the Cooking, Farming, Breeding and Beauty Contests.

    -Goldenrod & Celadon Bazaar: Located in their respective Undergrounds, these two areas are for players to open up their own stalls to sell goods to other players.


    -Vending Machines: Located in most cities and in various rest stops these machines will have a basic variety of low-tier food and beverage items in stock.

    -Benches: Located in various locations, if a player rests on a bench their Pokemon will recover ¼ Exhaustion. This will not stack and is meant to be an option to briefly extend their time out in the field.



    =Property=

    The player will have access to a few different forms of living spaces. Players may own only one property, if they wish to switch they will have to sell the one they already own. In-debt Farmers and Breeders will not be allowed to sell their property until they finish paying it off.


    -Hidden Base: Located in both regions these secret locations will be found in all sorts of nooks and crannies for players to discover. The player will be able to create small temporary living conditions for themselves to rest, craft, cook and decorate.

    All players may occupy 1 Hidden Base at a time. This does not bar them from owning purchasable properties.

    -Apartment: A relatively cheap living option for players. They will feature a kitchen, crafting station and bed for utility purposes. As well as a small living area they may decorate.

    -Dorm Room: Only available to Novice Trainers this small living space will feature a bed and a decoratable area. The lobby of the Dormitory will act as a Trainer's Lounge.

    -Farm: Unlike the one available to the Farmer Class the purchasable farm will be in much better condition. However the player will still need to upgrade and expand their farm manually.

    Opens up the ability to farm and harvest produce and byproducts.

    -Ranch: Unlike the one available to the Breeder Class, the purchasable Ranch will be in much better condition. However the player will still need to upgrade and expand their farm manually.

    Opens up the ability to breed pokemon for superior stats.

    Private Island: The most expensive living option available only to Champion Trainers. This small island will be mostly for player decoration and clout.


    =Decorations=

    As the player progresses through the regions they will come across different decorations for their living spaces. Some will be exclusive as crafting recipes other will be exclusive to buying.


    =Skill Equipment =

    -Apricorn Box: Holds Apricorns

    -Breeder's Tools: Allows the player to check IVs and EVs

    -Cooking Kit: Allows the player to create food items

    -Crafting Kit: Allows player to craft items

    -Digger's Kit: Allows players to dig for treasure

    -Farmer's Tools: Allows player to harvest Produce and Byproduct.

    -Fishing Rods: A variety of craftable fishing rods of separate tiers.

    -Tackle Box: Holds bait and lures.

    -Foraging Clippers: Increases quantity of foraged item drops.

    =Ability Items=

    Non tradable Player equipment that will unlock different abilities to aid them in their journey.

    -Camping Gear: Allows the player to setup camp

    -Climbing Harness: Ability to climb

    -Hatchet: Ability to gather wood and cut bushes

    -Lantern: Ability to illuminate dark areas.

    -Hammer: Ability to smash cracked rocks

    -Exo-Gauntlets: Ability to push boulders

    -Compact TV: Ability to tune in to the many channels that will be available, on the go.

    =Vehicles=

    Players can carry 2 Vehicles at one time, which will make learning Swim a bigger deal because it will free up a slot.

    -Raft: Ability to cross fresh water (Slower than a Pokemon)

    -Boat: Ability to cross ocean water

    -Dirt Bike: Ability to travel up dirt ramps

    -Motorcycle: Ability to travel at high speeds

    =Vehicle Upgrades=

    -Accro Frame: Allows Dirt Bike to cross pipes and hop.

    -Booster Engine: Allows Boat to cross Whirlpools

    -Trawling Winch: Allows Boat to fish


    =Conclusion=

    As you can see, this game will be much more challenging than your average vanilla pokemon game.

    There will be a large focus on the player's interactions with the world around them. Players will not simply just be a trainer relying on pokemon, but an active member of society.

    Pokemon will be dangerous and wild, they are not simply tamed once caught, players must manage their hunger and stamina levels in order to build a proper relationship with them.

    Though players may tackle this game alone, teaming up with others of separate classes will allow you to thrive.
     
    Last edited:

    Gray-_-Hatred

    Choose how you live
    374
    Posts
    9
    Years
  • Interesting. Looks like a pretty Ambitious project! I like how it looks, I love the class and skill system features. Looks awesome. I see some features on building and such. Looks wonderful, I hope the development of this project continues!
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Hello everyone! Just a friendly update that we've been continuing work on PokeRPG, we've just been busy with seasonal changes at our jobs, and life.

    I've been spending time working on finishing up movement and rendering so that it's a strong foundation for niche things such as stairways, ledges, swimming etc. I'm finally happy with how it's turned out, and can now start working on things such as parsing our maps so that we can do neat things like door, grass etc animations as well as tile manipulation for things such as our farming skill!

    As always, please feel free to join our Discord to get the latest up to date news and to join the discussion! https://discord.gg/PokeRPG
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Development Blog 1 - Movement, Entity Component System

    Welcome to PokeRPG's first development blog, a deep dive into our movement and entity component systems! This blog will be a bit technical as I try to explain how we wrote these core systems, and what it'll mean for future development of PokeRPG. So grab your popcorn, and let's dive in!

    Ashley Entity Component System & Movement

    Source: Ashley

    Our first core system that we utilized is Ashley, an entity component system that allows us to add, remove, or manipulate entities within an "Engine". Simply put, an entity is simply an indexed number in the game engine, and can be assigned "components" such as appearance, movement, or positions as a few examples. These components can then utilized within the game engines ticks, using code called "systems".

    So let's break all that down!

    PokéRPG - A Pokémon MMO built with LibGDX

    In the above screenshot, you can see that we create the "player" entity, and assign it a position component, and set the worldX and worldY positions to a specific location on our map. Following setting our players position, we then give it an appearance and in this case we assign the player with the "Blue" character sprite. Finally, we assign the player a movement component. This gives the player entity our basic components, and makes it a fully playable or interactable entity in our game world!

    Hello! I am a player!
    PokéRPG - A Pokémon MMO built with LibGDX


    A basic component class or file, just contains data typically. In the following picture, you'll see basic data such as pixel coordinates, and world coordinates. These are assigned to an entity that is hooked into the Position component, and can be manipulated and stored.

    PokéRPG - A Pokémon MMO built with LibGDX

    Finally, now that we have an entity, and it has a Position component, we can now utilize the Movement process to change these values! In the following screenshot, you'll notice that we first process the entity and check whether or not it has a movement flag triggered. If so, move the entity accordingly! Finally, after the pixel movement has completed, we make sure our world coordinates/position matches our pixel coordinates. In most 2D games, a pixel coordinate is where specifically your sprite, or object is in pixels. We like to make that easier and have the world coordinates a division of the pixel coordinate. So if our tile size 32 pixels by 32 pixels, a world coordinate would be pixel / 32!

    PokéRPG - A Pokémon MMO built with LibGDX




    ---​


    Now that we've got our core entity and movement systems finished, we can now tackle niche movements such as stairway camera panning, ledges, and swimming. Our next development blog will dive into animating tiles, players, and other various objects such as doors or our farming plants! It was really important for us to ensure that our core was written properly so that we didn't build content on top of code that would need to be re-vamped in the future. Thank you for reading our blog, and keep an eye out for our next 2 development blogs, pertaining to animating and map/sprite design!

    PokeRPG Development Team
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Just a small bump to let everyone know that after a short break, we're back to working on the project! I'm happy to announce that we've hired another developer, and she has been hard at work with the team to ensure that we bring the highest standards possible.

    Stay tuned to this thread and our Discord for more updates! :)
     
    79
    Posts
    8
    Years
    • Seen yesterday
    thank god, at least your doing Johto as well, only other one I know that did that was pokeone
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Development Blog 2 - Multiplayer & The Development of our Server


    Welcome to PokéRPGs second development blog! Today we're going to talk about our progress on multiplayer, and what that means for the development of PokéRPG moving forward!

    Multiplayer at its core sounds like an easy endeavor, right? How hard can it be to just make two, or more players and have them all co-exist on your map? Simple! Well... not so much, as we're learning. Alas, we finally figured it out and I'm happy to announce that PokéRPG now supports multiplayer using a library called Netty!


    So we have multiplayer, what happens now?

    Now that we've got multiplayer essentially "finished", we can now work on server code such as spawning ground items, chat, trading, and more. What really brings the juice is that we now have a server that we can begin writing content in, which opens up the landscape to start building core features. Over the course of the next few weeks, we'll aim to build content such as a login system, shop system, inventory and a party system. We're particularly excited to continue building on our LibGDX foundation and start showing off its real potential versus using a program such as RPG Maker XP.

    Why did it take a server to start working on content?

    Essentially the server will hold the "meat" of our content. The game client purely acts as a graphical interface that you can interact with, while the server provides all of the information. So for example, when you walk on the client, it'll need to update to all the other players on the game. The client will send an update packet to the server, and the server will go "okay, you moved over by one tile, now lets tell all the connected clients that you moved" and once it sends that data, everyone who is connected will be updated that you moved!

    Getting more into the server and client connection, it's particularly important for the server to hold information and update it to the client. Let's take a shop for example, on the client you'd enter a PokéMart and talk to the shop keeper. This would tell the server that you're opening a shop and the server would send back that the shop contains a certain list of items (potions, pokéballs, etc.)

    In a single-player Pokémon experience, you could just write all of that into the client, but because we're an online game, we have to take into account that people would be able to modify the client and change the shop to purchase any item they wanted! (free masterballs anyone?). A server helps verify that the client is playing by the rules, and keeps the game fair for everyone.

    PokéRPG - A Pokémon MMO built with LibGDX


    Verifying movement ensures that the player is exactly where they need to be, and also shows all the other players that you've moved!

    What's on the horizon now?

    Now that we've got our core server started, it's now time to start tightening up the systems that we wrote, and then begin working on some appealing new developments that we can share. Ideally we'd like to begin working on a proper login system, and then polish off movement & player updating. We've got some work done on customizing your player, and we feel that will be suitable for our next development blog, so stay tuned!

    ---​

    Thank you for reading our blog on multiplayer and server development, and as always, make sure to join our Discord to stay up to date on the latest news, sneak-peeks and have your say in the development of PokéRPG!

    PokéRPG Development Team,
    Alycia, Cpt. Lavender, Rebecca

    Join our Discord!
     
    15
    Posts
    2
    Years
    • Seen Oct 18, 2023
    Friendly bump for PokeRPG

    Here's a little taste of what we're showing off in our Discord!



    PokéRPG - A Pokémon MMO built with LibGDX
     
    Back
    Top