Shard

by Obvious9
Shard
Challenge over 1,000+ programmatically generated dungeons in this 2D online RPG, inspired by classic mythology & other franchises.
ID:2790830
 

A 2D online RPG inspired by classic mythology and other franchises.

Shard Player's Guide⠀⠀Shard Discord Server

Features:
⠀⠀- Start your adventure as one of four traditional RPG classes.
⠀⠀- Form a party of up to 3 players to challenge the dungeons.
⠀⠀- Every dungeon is programmatically-generated.
⠀⠀- Player-owned stalls gives players control & influence over a server's economy.
⠀⠀- Cute pixelated dogs.
⠀⠀- and many secrets to discover!



Controls:
⠀⠀ENTER Toggle Chat / Advance NPC Dialog (if talking to NPC)
⠀⠀SPACE Talk to NPC / Use Dungeon Portal
⠀⠀TAB Auto Target
⠀⠀WASD Move

⠀⠀I Toggle Inventory
⠀⠀O Toggle Hotbar
⠀⠀P Toggle System Menu

⠀⠀Numpad 1-9 Hotbar Skills



Chat Commands:
⠀⠀/save - Manually save your game.
⠀⠀/tell [player] [message] - Privately message another player.
⠀⠀/shout [message] - Send a message to everyone in the server.



Credits:
Code
⠀⠀Flick (F_Damage)
⠀⠀F0lak (Particles tutorials)
⠀⠀Forum_account (HudGroups, MapInstancing, Keyboard, Autojoining)
⠀⠀Kidpaddle45 (Mouse Wheel Zoom, Shadow Generator)
⠀⠀JP (jp_DungeonGenerator)
⠀⠀Shadowdarke (screen_transitions)
⠀⠀SuperAntx (SimpleMove)
⠀⠀Ter13 (Various tutorials & snippets)
⠀⠀Obvious9

Music / Sound FX
⠀⠀Tim Beek & The Royalty Free Music Pack

Art
⠀⠀Character Art: RPG Charas Project
⠀⠀Backgrounds & Landscape Art:
⠀⠀⠀⠀Itch.io, OpenGameArt.org, and CraftPix.net contributors: CodeManuPro, Camacebra,
⠀⠀⠀⠀Daniel Eddelland, DustyChest, Ppeldo, Pipoya, Pzuh, and others.
I've always been a big fan of the .hack franchise so it's neat to see that it was such a big influence on this project.

Having some performance issues though. I created a character and logged in, but it froze up a few seconds later and I had to force close it.
I tried to invite someone to my party named ******man but I was having some issues.
Thanks for bringing that to my attention. Sincerely. I've added a word filter that will prevent inappropriate names & messages from being sent.

@Ourico, I think you might've tried logging in when I shut the server down to do emergency work on the word filter. Sorry about that. Hopefully it won't need to happen again.
A new update is now available.

v0.3 Changelog

+ Added random dungeon encounter: Mystic Ponds.
⠀⠀> Any circle or square room has a 15% chance to spawn a pond instead of the normal Shard.
⠀⠀> With enough Shards, these ponds can give your weapon an elemental attribute. If this element matches your character's element, the stat boost is doubled.

+ Increased the amount of potions in the new character beta bonus.
⠀⠀> Starting off as a Mage is too slow and boring. You really need more potions to be able to keep up with your mana at level 1.
⠀⠀> Increased the amount given when you create a new character from 10 -> 30.

+ Tweaked the EXP formula to make later levels more challenging.
⠀⠀> EXP gained now depends on the party member that's gaining the EXP, instead of the killer. No more having the low level take the kill and earning a high amount of EXP.
⠀⠀> New formula: expGain = (MonsterLevel^2-PlayerLevel^2) + (((PlayerLevel * MonsterLevel) / PlayerLevel) + AreaDifficultyLevel)
⠀⠀if AreaDifficultyLevel == 1:
⠀⠀⠀⠀expGain += (MonsterLevel*2)
⠀⠀⠀⠀expGain *= 2.5
⠀⠀if AreaDifficultyLevel == 2:
⠀⠀⠀⠀expGain += (MonsterLevel*2)
⠀⠀⠀⠀expGain *= 1.5
⠀⠀if AreaDifficultyLevel >= 3:
⠀⠀⠀⠀no modified exp

+ Revamped Dol Donna Map (Level 20+)
⠀⠀> All area keywords in Dol Donna are now fixed, no more dungeons breaking. Hopefully.
⠀⠀> Added new shop: Hayden's Pub and NPCs. You can buy Health+ and Mana+ Potions here. These potions restore more points than the regular ones.
⠀⠀> Flora will give the player a free potion once every in-game day if you have gained enough reputation around Dol Donna.

+ Changed how savefiles were handled, watch out for data corruption!
⠀⠀> Don't laugh. I saved a player's base icon data prior to this update. This made any savefile approx. 1MB or more. Definitely not ideal. I've changed this to a string that is read during load.
⠀⠀> There is a failsafe active that lets you recustomize your character if corrupted data is found during load. A backup snapshot of your save is created whenever this happens.
⠀⠀> If the game manages to screw up your save data bad enough, please don't hesitate to let me know. I will be able to use the backup snapshot to manually restore anything that was lost.
In the tutorial i am stuck on the part where the npc wants me to assign a skill to a key, i dont know how to continue the turorial. i assigned the skill and used it but nothing
also how do you handle keyboard keys in the code? i am coding my own game and i wanna know
In response to GamerninjaSK
GamerninjaSK wrote:
In the tutorial i am stuck on the part where the npc wants me to assign a skill to a key, i dont know how to continue the turorial. i assigned the skill and used it but nothing

You can skip straight to the end of the tutorial if you begin talking to him with your hotbar & profile menu already open and the tutorial NPC already targeted.

Make sure you are doing / have done the following:
- Your profile menu is open (press P)
- Your hotbar is open (press O)
- Mercury is targeted (press TAB)

if all three of these are met, Mercury will then spawn a monster. Kill it to complete the tutorial.

also how do you handle keyboard keys in the code? i am coding my own game and i wanna know

I use Forum_account's Keyboard library, but the interface's built-in macros work just as well if not better.
i use that keyboard library too, but my problem is that it does not accept "a" even in the demos
In response to GamerninjaSK
GamerninjaSK wrote:
i use that keyboard library too, but my problem is that it does not accept "a" even in the demos

No clue tbh. I am using interface macros for WASD / movement keys specifically. I use the Keyboard lib for things like using the dungeon portal, talking to NPCs, etc. Entities that need to be found near the player before they can be triggered.

You might wanna try posting on the developer forums or in the discord with a snippet of your code? Someone should be able to help you out there.
v0.4.0 Changelog

+ Added plus monsters encounters.
⠀⠀> Any monster that spawns in the dungeons has a 0.75% chance to automatically upgrade into a Plus (+) Monster. They are slightly bigger in size. They also have tougher stats and will reward greater EXP.

+ Changed the default font displayed on maptext.
⠀⠀> The old font wasn't very legible. Hopefully the new one looks better.

+ Tweaked the EXP formula (again).
⠀⠀> At higher levels it was possible to receive a negative amount of experience. This has been fixed.

+ Archers damage has been fixed (again).
⠀⠀> With Archers being the newest class added to the game, there were bound to be a few bugs. It's almost embarrassing how many there actually are. I THINK I've gotten everything squared away now, all of their skills should deal appropriate damage.

+ More optimizations / savefile fixes.
⠀⠀> Most of the changes in this update were just optimizations. Fixing how savefiles were read, many tweaks to enemies and player dungeons to improve performance.
v0.5.0 Changelog

⠀⠀+ Added particles and filter effects to water & lava.

⠀⠀+ Shadows are now generated for mobs and overworld objects.

⠀⠀+ You can now zoom-in by scrolling the mouse wheel.

⠀⠀+ Added a selling items interface to NPC shopkeepers.

⠀⠀+ Added an animation to pick up drops.
⠀⠀⠀⠀> Special thanks to Ter13 and their BYOND23 GameJam entry.

⠀⠀+ Dungeons now have assigned elements.
⠀⠀⠀⠀> A-keywords already had a color_type setting to give certain maps more visual differences. This was reworked into assigned dungeon elements. This will affect the types of monsters you encounter, and give a higher chance of spawning that element's Shard as an item.

⠀⠀+ Added 12 keywords.
⠀⠀⠀⠀> 2 new A-keywords, 2 new B-keywords, and 2 new C-keywords each were added to both Mac Annand's and Dol Donna's Dungeon Portals.

⠀⠀+ After earning 30+ reputation in Mac Annand, you can learn how to Fish.
⠀⠀⠀⠀> This is an alternative way of earning GP. There are currently 3 fishing areas, 2 in Mac Annand and 1 in Dol Donna. Speak to "Deck Hand" after completing enough dungeons. Dungeon fishing coming soon™.

⠀⠀+ Upon obtaining 10 shards of your own element, you will learn the skill "Shard Shot."
⠀⠀⠀⠀> Costs 1 shard of your elemental attribute. All classes may learn this skill. Shoots a projectile that afflicts magical attack damage, and inflicts burn status to any enemy in the projectile's path.

⠀⠀+ Upon obtaining 30 shards of your own element, you will learn the skill "Shard Vortex."
⠀⠀⠀⠀> Costs 3 shards of your elemental attribute. All classes may learn this skill. Summon a whirlpool that afflicts magical attack damage in an AOE, and inflicts slow movement status.

⠀⠀+ Many optimizations to dungeon generation and the combat targeting system.

⠀⠀+ Fixed a weird regex bug.
⠀⠀⠀⠀> The profanity filter was causing errant characters to appear at the beginning of player names. After modifying the regex, it seems to be working OK again.

⠀⠀+ Tweaked the EXP formula to make leveling easier.