GPTRPG V.0.2: Biomes!
It's finally here! New version of my game. It took longer than expected, but I also managed to complete more than expected. Many of those changes are invincible, like code reordering, code cleanup or performance boost. All those changes and much more allowed verrsion 0.2 to be a satisfying and a stable experience. I hope you'll enjoy it!
GPTRPG V.0.2: Biomes!
Description
Introduction of Biomes: City, Forest and Plains. Unique NPC appearance. Many Enemy types, including bosses. Various items giving useful effects. Ability to shoot projectiles by Player and Enemies. Fully functioning save system! Overall, better playability and sustainability.
Basic RPG mechanics, prepared for more complex usage to come. Groundwork for the basic game functionalities.
Many features are still temporary and less sophisticated. They work only to showcase the concept.
No need for professional assets yet.
Features
- Ground:
- Biomes: Forest, Plains and City
- Ground Objects are dependent on biome
- Environment - Houses, Tower, Hills
- Decorations - Trees, boxes, bushes. Placed avoiding collision with Environment
- Floor - Cobbled in City, grass in other two.
- Barrier - unique for each biome
- Ground types:
- basic: mountains, forest
- mob: lair, village, house
- special: tower
- Mobs:
- Player:
- Actions: walk, jump, sprint, attack, block, dash
- Available first person camera. (hide player head, when camera is close)
- Interact button appearing near interactable objects (chest, npc, item, gate)
- Fall damage
- Mob types:
- Enemies: Skeletons, Witches, Scarecrows
- Npcs: Merchants, Nobles, Farmers, Guards
- Movement:
- Hunt target (enemies)
- Wander inside land borders
- Turn away from walls
- NPC interactions:
- Talk
- Shop
- Progress quest
- Logos for NPC quest givers and merchants
- Pathfinding
- Npcs and Enemies idle walk around their ground when not disturbed
- Enemies go toward player when they see them
- Mobs idle when no target is reachable
- Ground nav mesh is rebaked, when all mobs on it are idle
- Player:
- Gameplay mechanics:
- Optimization:
- Visible on screen enabler (stop processes, like animations)
- Limited render range (fov)
- Limited number of blocks spawned around player
- Manual disabling of objects' processes when they are too far from player
- Limited mesh visibility: items/bushes visible only up close, Mobs, boxes further, and the rest are always visible, also on minimap
- Combat
- Damage target when in range
- Enemies hunt player when in range
- Limited HP pool. Death when HP = 0
- Enemy stats from dictionary: XP, HP, dangerLv, etc
- If mob is ranger or player has effect Shoot, they can shoot projectiles at each other, dealing damage.
- Player can reflect projectiles by blocking them with his shield
- Quest:
- Types: bring random items, defeat random enemies
- Quest targets spawn only in a given type by a semi random number
- Spawning quest giver spawns quest land on closest undiscovered ground
- Activating quest activates quest target
- Reward is money and 2 other random items
- NPC dialog for start, reminder, complete, abandon
- Save system:
- Ability to save and load your progress in an outside file
- saved data includes: player data, settings data, quests, custom dialogues and current date
- Optimization:
- Items:
- 3D item model: appears as a reward on top of a tower available to be taken by player
- 2D icon: unique for every item. Viewable in a container UI. (f.e. Inventory)
- Types of Items: Potions, Valuables, Magical Items, Clutter
- UI elements:
- All UI elements are automatically scaled to screen size. Separate function for font sizes.
- Dialogue:
- Conversation with full template or shortened, just NPC responses filled with Player responses from template.
- Loaded from a ready dictionary
- Given by user. After enabling custom dialog in settings, when talking to NPC a window is shown giving a prompt with info about this NPC. Dialog could be given here written by user or ai, after being given the prompt.
- Dialog tags
- Relationship change, interaction cost
- Switch dialog mode, including loop
- Conversation with full template or shortened, just NPC responses filled with Player responses from template.
- Container
- Modes: chest, shop, inventory
- Appearance: Displays mob items in clickable buttons in grindcontainer in stacks of limited size. Selected item displayed prominently, enabling interactions on it
- Interact button functions: buy, take, use
- If item amount is above 3, slider appears asking how many items should be interacted with. (f.e. Take 5 potions from chest at once)
- Journal displaying active quests and allowing to choose active quest
- Start menu: start, credits, settings buttons
- Game over screen with option to go back to menu
- Settings:
- visual: fov, number of blocks ahead
- gameplay: load custom dialogs, keyboard free mode, debug mode
- sound volume
- max map size
- return to menu
- Top Hud:
- HP and money panel
- current quest objective description panel and compass pointing to it
- Minimap with real time view of the world from above
- Debug data: fps, current location info
- Debug Console: allows for various cheats in the game or reading current informations about generated objects
- Biome Map: shows discovered biomes in a grid
- Pause Menu: gives access to Settings, Journal, Inventory, Biome Map, Saves, Main Menu and Controls
- Keyboard free mode buttons: makes all key binded actions clickable by buttons
- Audio:
- Audio files (BGM, walk, attack, heal, player damage, enemy damage, quest complete, jump, collect)
- Separate audio players for UI, BGM and mobs with one, common slider in settings
Issues
Mobs:
- When application minimized on movement, player get stuck on movement until next app minimize
- Mobs can get stuck of take weird paths on auto walk, because of weird pathing
- False positive Biome Warnings about mobs falling off map
Ground:
- Trees can spawn inside each other
- Objects on mountains float a bit
Can't reproduce:
- Rigid bodies: Item and boxes can have strange physic behavior
- Sometimes, text scaling is wrong
- Blocking when walking doesnt always work
What's next?
I already have many plans for version 0.3. Along comes new, more realistic mob models, character creation screen, Quest system expansion, some major dialog change and much more! How much of my plans will be executed just as I image, it's impossible to say. But they are sure to be a great addition to the game.
What also has a pretty high priority is a name change for this game. Current name is too misleading, but is short and catchy. It needs to change, but right now, I don't have any good alternative ideas.
I have also planned features that are not certain to make it into the game in the next update, but are commonly asked for, like levelling system, dungeon and house interior biomes. Those features are gonna make it into the game eventually, but not necessarily in the near future.
At the moment, my focus is on new 3D mob models which are sure to bring their own issues. They give me also a good reason to consolidate all mob assets as much as possible.
I hope those plans got you excited for the future and that you'll enjoy version 0.2.
Get GPT RPG
GPT RPG
Procedurally generated RPG with ability to add own NPC dialog.
Status | In development |
Author | jaelojaelo |
Genre | Adventure |
More posts
- GPTRPG V.0.1: RPG PreparationsNov 04, 2023
- Proof of concept version of the game (v.0.0)Nov 04, 2023
Leave a comment
Log in with itch.io to leave a comment.