Git Product home page Git Product logo

beastbreeder's Introduction

BeastBreeder

BeastBreeder is a monster breeding game centered around breeding insectoids. It is hosted on IPFS, and gives users one free basic monster to start with as well as 1000 coins that can be used to buy other monsters and items to aid in training them etc. To login, users sign in using their Polygon wallet. This can also be used to buy coins and monster NFTs which have unique traits and advantages. The game features the following functionality:

  • Breeding system for creating new monsters with unique traits
  • Basic battling system for engaging in battles with other monsters
  • Advanced Breeding Mechanics
  • Skill Trees and Monster Specializations
  • Store UI and logic for buying items and monsters
  • Inventory screen for managing collected items
  • Procedural generation for generating quests
  • Saving and loading game data

File Structure

  • index.html: Main app page

  • style.css: Stylesheet for app

  • app.js: Main JS logic

  • assets/: Folder for images, audio etc

    • sprites/
    • backgrounds/
    • sfx/
  • components/: Reusable JS components

    • monster.js: Monster data and methods
    • skill_trees.js: Skill Trees and Monster Specializations
    • quest.js: Quest data structure
    • inventory.js: Inventory data structure
    • store.js: Store UI and logic
  • screens/: JS for each screen

    • home.js: Home page and monster list
    • breeding.js: Breeding system
    • battling.js: Basic battling system
  • breeding.js: Advanced Breeding Mechanics

  • utils/: Helper classes and functions

    • procedural.js: For procedural generation
    • wallet.js: Blockchain utils
    • gamedata.js: Wrapper for saving/loading data

To-Do List

Project Roadmap

  • index.html: Base HTML page
  • style.css: Minimal styling
  • app.js: Instantiate core game objects, starting logic
  • components/monster.js: Monster data and methods
  • screens/home.js: Home page and monster list
  • components/inventory.js: Inventory data structure
  • components/quest.js: Quest data structure
  • screens/breeding.js: Breeding system
  • screens/battling.js: Basic battling system
  • components/store.js: Store UI and logic
  • utils/gamedata.js: Save/load game data
  • utils/procedural.js: Generate quests
  • index.html: Connect all screens
  • style.css: Remaining styling
  • app.js: Additional game logic

beastbreeder's People

Contributors

maxcurrent420 avatar sweep-ai[bot] avatar codeautopilot[bot] avatar

Watchers

 avatar  avatar

beastbreeder's Issues

Sweep: Create NPC.js

Details

  1. Create a new file in components folder, called NPC.js. Code some standard NPCs, such as a village elder, and others for the gamer to interact with. Their dialogue will come from the dialogue file.
  2. Create a dialogue file with some standard dialogues for them to engage in with the user, such as starting quests and buying items.
Checklist
  • Create components/NPC.js4da3464 Edit
  • Running GitHub Actions for components/NPC.jsEdit
  • Create utils/dialogues.js6bf6c8f Edit
  • Running GitHub Actions for utils/dialogues.jsEdit
  • Modify app.js7368a7d Edit
  • Running GitHub Actions for app.jsEdit

Sweep: Code inventory.js

Details

Code inventory.js and make sure it is correctly integrated with the rest of the codebase.

Checklist
  • Modify inventory.js ! No changes made Edit
  • Running GitHub Actions for inventory.jsEdit
  • Create components/store.jsc41413a Edit
  • Running GitHub Actions for components/store.jsEdit
  • Create screens/breeding.js684668a Edit
  • Running GitHub Actions for screens/breeding.jsEdit
  • Create screens/battling.js6b31882 Edit
  • Running GitHub Actions for screens/battling.jsEdit

Sweep: Scan code and modify Readme

Details

Scan the code to verify what features and functionality is in place, and what is still missing. Modify the todo list in the readme accordingly. Expand on the todo list in detail.

Checklist
  • Modify README.md6ddad82 Edit
  • Running GitHub Actions for README.mdEdit

Quest System: Review and modify quest.js and NPCS.js

Please review quest.js and NPCs.js and make sure the code fully implements at least one type of basic quest, and works properly with the rest of the game.

I want the game to conform to the goals in the Readme.md and Project Roadmap, allowing a monster breeding game with quests enabled. I want the quests to involve using the monsters that have been bred, such as having them search for something or vanquish baddies, when assigned by a village elder NPC for example.

@autopilot

Sweep: NPCs

Details

I need you to add NPCs to the NPCs file. Include a village elder, a seer, a blacksmith, and a shopkeeper, and a "bugfight club" bouncer.

Checklist
  • Modify utils/dialogues.js7a34295 Edit
  • Running GitHub Actions for utils/dialogues.jsEdit

Sweep: Create a Project roadmap

Details

I intend to have this game be hosted on IPFS, use MATIC to buy in game items, and eventually allow gamers to mint AI generated images of monsters as NFTs that are unique. Add a project roadmap that is ambitious and appealing to gamers.

Checklist
  • Create ROADMAP.mdce203e4 Edit
  • Running GitHub Actions for ROADMAP.mdEdit
  • Modify README.md3b731cb Edit
  • Running GitHub Actions for README.mdEdit

Sweep: Quest.js

Details

Please review quest.js and NPCs.js and make sure the code fully implements at least one type of basic quest, and works properly with the rest of the game.

I want the game to conform to the goals in the Readme.md and Project Roadmap, allowing a monster breeding game with quests enabled. I want the quests to involve using the monsters that have been bred, such as having the player search for something or vanquish baddies with their monsters, when assigned by a village elder NPC for example.
NPC dialogue starts quest to vanquish a bad guy -> player goes to find bad guy -> wins -> quest completed -> Player gets reward from NPC.

Checklist
  • Modify components/quest.jsab81b0c Edit
  • Running GitHub Actions for components/quest.jsEdit
  • Modify components/NPC.jsbc789ae Edit
  • Running GitHub Actions for components/NPC.jsEdit
  • Modify components/NPC.js9306c9c Edit
  • Running GitHub Actions for components/NPC.jsEdit

Sweep: Review Codebase

Details

Review the codebase. List any omissions, conflicts or other issues.

Checklist
  • Modify components/skillTree.js71e94bf Edit
  • Running GitHub Actions for components/skillTree.jsEdit
  • Modify components/quest.js7da47b4 Edit
  • Running GitHub Actions for components/quest.jsEdit

Sweep: Update todo list/roadmap

Details

Update the todo list and roadmap as follows:
To elevate BeastBreeder to an A+++ game and ensure its popularity, several aspects beyond the current to-do list should be considered:

  1. Gameplay Depth and Complexity
    Advanced Breeding Mechanics: Introduce more layers to the breeding system, such as dominant and recessive genes, to make breeding more strategic.
    Skill Trees and Monster Specializations: Allow monsters to develop unique abilities or specializations that can be leveled up.
  2. Engaging Battle System
    Turn-Based Strategy: Implement a more complex turn-based combat system with various moves, status effects, and tactical elements.
    PvP Battles: Enable player versus player battles to increase competitiveness and social interaction.
  3. Social Features
    Trading System: Allow players to trade monsters and items with each other.
    Clans or Guilds: Create social groups where players can collaborate, compete, and share resources.
  4. Content and Storytelling
    Narrative Elements: Develop a compelling storyline that players can follow, with quests and missions tied to the narrative.
    Dynamic Events: Introduce time-limited events that encourage players to log in regularly.
  5. Visual and Audio Polish
    High-Quality Artwork: Invest in high-quality sprites, animations, and backgrounds to make the game visually appealing.
    Immersive Soundtrack and Effects: Create or source a memorable soundtrack and satisfying sound effects for actions and environments.
  6. Monetization Strategy
    Fair Monetization: Implement monetization in a way that does not disrupt gameplay or give paying players an unfair advantage.
    Cosmetic Items: Offer cosmetic items for personalization that do not affect gameplay.
  7. User Experience (UX) and Accessibility
    Intuitive UI/UX: Ensure the game's interface is intuitive and easy to navigate for all players.
    Accessibility Options: Include features for players with disabilities, such as colorblind modes and scalable text.
  8. Technical Performance
    Cross-Platform Play: Make the game available on multiple platforms and allow for cross-platform play.
    Optimization: Ensure the game runs smoothly on a range of devices, with quick load times and no lag.
  9. Community and Support
    Active Community Management: Foster a strong community with active moderation, events, and engagement on social platforms.
    Customer Support: Provide responsive and helpful customer support to address issues and feedback.
  10. Marketing and Outreach
    Influencer Partnerships: Partner with influencers and content creators to reach a wider audience.
    Regular Updates: Keep the game fresh with regular updates, new content, and feature releases.
  11. Analytics and Feedback
    In-Game Analytics: Implement analytics to understand player behavior and preferences.
    Feedback Mechanisms: Provide in-game mechanisms for players to give feedback and report bugs.
  12. Legal and Ethical Considerations
    Data Privacy: Ensure compliance with data protection regulations.
    Ethical NFT Implementation: If NFTs are used, consider the environmental impact and the ethical implications.
Checklist
  • Modify ROADMAP.mdef0442c Edit
  • Running GitHub Actions for ROADMAP.mdEdit
  • Modify README.md863b03c Edit
  • Running GitHub Actions for README.mdEdit
  • Modify ProjectDetails_Filestructure_Goals.txt45ec195 Edit
  • Running GitHub Actions for ProjectDetails_Filestructure_Goals.txtEdit
  • Create components/skillTree.jsb333571 Edit
  • Running GitHub Actions for components/skillTree.jsEdit
  • Modify screens/breeding.jsb75bb93 Edit
  • Running GitHub Actions for screens/breeding.jsEdit

Sweep: Ensure app.js is fully coded

Details

Ensure app.js is fully coded and works correctly. Use the readme for reference. This is to be a monster breeding game with genetic controlled evolution style gameplay.

Checklist
  • Modify app.jsd0b99fe Edit
  • Running GitHub Actions for app.jsEdit

Sweep: Quest.js

Details

Open quest.js and add basic quests, with placeholder item variables like [rare item] to represent places and items that will be randomly in quests.

Checklist
  • Modify components/quest.js9267092 Edit
  • Running GitHub Actions for components/quest.jsEdit

Create Quest Instance

What - Create a Quest Instance: Instantiate a Quest object in the NPC class with appropriate details such as name, difficulty, description, rewards, and tasks.

Why - I want players to be able to go on quests in the game, as per the Project Roadmap.
@autopilot

Sweep: Quest.js

Details

Refer to the readme and app.js and make sure that quest.js has all necessary code to function and correctly work with the rest of the game. First, move quest.js into a new components folder.

Checklist
  • Create components/quest.js92786b5 Edit
  • Running GitHub Actions for components/quest.jsEdit
  • Modify app.js815caa4 Edit
  • Running GitHub Actions for app.jsEdit

Sweep: Code Review

Details

Sweep:
Ensure that the startQuest method in NPC.js does not contain duplicate logic for starting a quest. The current diff shows a possible duplication of the condition to check if the quest has started.
Verify that the setDescription method in Quest class is placed correctly within the class body and not within another method.
Confirm that the isStarted property is initialized correctly in the Quest class constructor.

Checklist

Create Quest Instance in NPCs.js

Details

What: - Create a Quest Instance: Instantiate a Quest object in the NPC class with appropriate details such as name, difficulty, description, rewards, and tasks.

Why: - I want players to be able to go on quests in the game, as per the Project Roadmap.

@autopilot

Sweep: Inventory.js

Details

Move Inventory.js to components folder. Modifiy inventory.js - Inventory should have a max of 500 items.

Checklist
  • Create components/inventory.js5f4f936 Edit
  • Running GitHub Actions for components/inventory.jsEdit
  • Modify components/inventory.jse7a4c45 Edit
  • Running GitHub Actions for components/inventory.jsEdit
  • Modify index.htmle35d12c Edit
  • Running GitHub Actions for index.htmlEdit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.