Giter VIP home page Giter VIP logo

rpg's Introduction

The Duck RPG

Explore a divided world and develop your hidden powers as you hunt for the ultimate reward in this beautiful RPG traumedy.

Play the Demo!

Click here to play the demo of The Duck RPG! Available to play on PC.

Watch the full playthrough on YouTube here: https://youtu.be/nX5GG3Qi7W0

How to Contribute

Setting up your development environment

To set up the required programs to contribute code to the game, follow these instructions:

  1. Install Unity Hub
  2. After installing Unity Hub, install Unity version 2020.2.1
  3. Sign into Unity Hub and go to Manage License, and follow the steps to activate either a free license or your student license if you have one
  4. Install GitHub Desktop
  5. Login to GitHub Desktop with your GitHub credentials
  6. In GitHub Desktop, go to File > Clone repository > URL and enter https://github.com/ubco-video-game-development-club/rpg
  7. Go back to Unity Hub, and under the Projects tab click "Add" and select your newly cloned project folder (the file location you chose in step 6)
  8. Click on the RPG project in your projects list to open it for the first time
  9. Install Visual Studio Code
  10. Follow the instructions to setup Visual Studio Code for Unity

Let us know on Discord if you have any difficulties with the setup!

Git Standards

Our team uses Feature Branches for our git flow. This means that each feature (typically described by a single Issue) should have its own branch that may be worked on by multiple collaborators. All features will be merged into the dev branch using Pull Requests, and each PR must be reviewed by at least 1 individual before it can be merged.

Naming conventions should follow Git standards: branches should be written in kebab-case and commit messages should be written in imperative form (i.e. "Update item assets" not "Updated item assets" or otherwise).

Our repository uses a master branch and a dev branch. The master branch should always contain stable code that represents a complete set of features. The dev branch contains stable code that may contain parts of in-progress features, and is used for testing different features together before they are merged to master.

Uploading your code changes to the project

If you are unfamiliar with Git use, you can go through a summary of it here or talk to one of the team leaders (preferably through Discord) to help you get started. This is a basic overview of the process of submitting your code changes:

  1. Ensure you are working on the branch pertaining to your current feature
  2. After each set of changes, commit those changes to the branch
  3. Once your feature is complete, create a new pull request for your feature and request a code review

FAQ (Updated Sept 10th 2021)

What is club-wide-rpg?
The RPG is a VGDC club project that is currently in early development. The premise is a duck-themed top-down roleplaying game which includes story-focused gameplay with a detailed character progression system. Check out the Wiki tab of the GitHub repository for more documentation, as well as the #rpg-faq channel in our Discord server.

Who runs this project?
This project is run by several of the club executives: Jaden Balogh, Adam Collins, Megan Nguyen, and Logan Parker. The repository, meetings, and tasks are all organized by this team. However, any club member is welcome to contribute (see below)!

How can I join the team?
The weekly RPG meeting details can be found in #event-info on Discord. All members are welcome to join, regardless of experience! Please message #rpg-discussion or Jaden Balogh about the roles you are interested in (see below).

What parts of the game are currently being worked on?
As we move into the 2021W session, we're excited to start focusing development on the game's content and storyline. This will require art, sounds, dialogue, level design, game scripting and more, so ANY club member is more than welcome to join the game's development regardless of previous experience level.

These are types of roles that you can expect to see for this project, however if you're at all interested in joining the team, let us know your interests and we'll find a position for you! You can work one or many of these areas:

  • Level Designer: Creating the layouts of landscapes and other in-game areas, as well as NPC and enemy placement, and working on quest design. No prior experience necessary.
  • Story Designer: This a heavily creative position which will involve creating storylines and world lore to fit within the context of the game world. You can work with or double as a quest/level designer to decide exactly where and how the player will interact with these stories. No prior experience needed.
  • Writer: This is a pure writing position focused on using our custom-made dialogue tools to bring the game's stories to life by writing NPC dialogue, voice lines and readable in-game text. Good eye for grammar+spelling highly encouraged.
  • Systems Designer: The RPG will need loads of items, classes, monsters, abilities and more. This position is for creating, balancing and implementing any such content for use in the game's quests and general gameplay. No experience needed.
  • Sound Designer: Recording and mastering sound effects for all parts of the game; ambience, combat, UI, etc. Some experience with sound design recommended but not required.
  • Composer: Creating music tracks to bring the game world to life from the main menu to combat tracks. Some experience with music composition highly recommended.
  • World Artist: This position involves creating 2D sprites and tiles to build terrain, buildings, foliage, and other objects that will make up the majority of the visible game world. Prior 2D art experience recommended.
  • Character Artist: This role involves 2D art and animation for the player, enemies, NPCs and other dynamic parts of the game world. Prior 2D animation experience recommended.
  • UI Artist: This role involves designing and creating 2D assets for use in the User Interface, such as healthbars or menu buttons, with a focus on optimizing the user experience. 2D art experience recommended, UI/UX design knowledge a plus.
  • UI Scripter: This is a programming role involved in developing menus and other UI functionality. Will double as or work with a UI artist to develop clear and usable User Interfaces in Unity. Some general programming experience required.
  • Gameplay Scripter: This is a more in-depth programming role which involves developing and improving in-game systems, and scripting specific elements such as special monster or ability logic. Some Unity coding experience required.

rpg's People

Contributors

acollins27 avatar jadenbalogh avatar lilmergo avatar loganparker avatar thearchitect4855 avatar theuqguy avatar ubcovgdc avatar wubbadukky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

aboutunitygame

rpg's Issues

Update interface for adding behaviour nodes

The current dynamic tooltip picker for adding new behaviour nodes is getting a bit unwieldy due to the rapidly increasing number of nodes. We should consider adding a sidebar instead, which should be scrollable, and ideally searchable and categorizable.

Simplify / clarify the dialogue tree text entry interface

The dialogue trees aren't super clear between which text area is meant for NPC text and which is meant for Player text. We should at the very least update those labels to indicate "NPC" and "Player" specifically, but it may be worth looking into other options to clarify this interface as well. NOTE: Ensure that existing data doesn't get wiped when this change is made!

Add ability to skip/auto-finish current NPC text

NPCs can take a while to say what they wanna say. Sometimes we just wanna skip all that action. Maybe have it so if you click or spacebar(?) during NPC dialogue, it auto-completes to the end of the current NPC response, directly to the response options.

Add unique entity identifier system

There should be a UniqueID component that can be added to any Entity, which enforces a unique identifier on that object which can be searched and referenced from anywhere in the game or its tools.

Conditional Dialogue Nodes

If we could have something reminiscent of an if statement for when dialogue nodes are called that would be super fresh.

Add object keyword system

It would be good to have a keyword system. Examples of where it could be used:

A zombie looks around for the closest LIVING object to move towards and munch
An AOE healing spell heals all FRIENDLY objects within 2 meters for 2 health
A smite ability deals double damage against UNDEAD objects

Add music player feature

There should be a central music system, which is controlled by either level-wide music tracks, or area-based music regions defined by a customizable polygon.

Weapon system

  • only primary weapon slot
  • swap weapon on pickup
  • pickup items when looting
  • UI for displaying current weapon

Behaviour node refactor

Our current behaviour tree nodes struggle to solve problems in a generic manner, forcing more custom nodes than desired. We should implement a new approach that takes advantage of our custom tagging systems to allow for a more user-customizable approach to behaviour tree development.

Add additional behaviour tree controls to move nodes around

There should options to move nodes up / down in the current level, or maybe the ability to drag nodes around (and their children would follow). Right now editing requires a lot of deleting and re-creating, which is fairly inefficient.

Implement various tag systems for use in game design

This should be split into 3 categories so far, each defined by an enum type:

  • Traits: these are used for setting specific creature genuses, for use in dialogue, combat abilities, immunities and other such things (ex. Human, Duck, Undead)
  • Statuses: these are temporary effects that apply some stats or simply flag when active (ex. Stunned, Blessed, Burning). Used for combat, dialogue, etc.
  • States: these are agent-specific tags used within behaviours or as general flag (ex. Idle, Patrolling, Attacking)

Add 2 class choices

  • includes 2 ability choices at level 5 each
  • should give some stuff from your class choice

Quest Start and Quest End functionality for dialogue nodes

As is, you are able to have dialogue link to new notes being written into the player handbook. If we were able to make it so dialogue could both trigger the beginning and end of quests (which would be highlighted in the notebook) that would be super fresh.

Implement a proper 2D animation system

Let's be real; Mecanim isn't cutting it. We should either implement our own animation handling system or find another animation asset to manage animations.

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.