Giter Club home page Giter Club logo

digital-descent's Introduction

console.log("Hei!", "Hello!", "Xin chào!") 👋

Welcome to my GitHub profile!

I am Jonny - a consultant at Omegapoint Norge and an ex-Informatics student at NTNU. Currently pentesting and developing web- and mobile applications. ✨.

Aside from development, I am also part of a few norwegian CTF teams such as Iku-toppene, bootplug and Corax. Playing CTFs and solving challenges while learning new things in the field of cybersecurity is something I also enjoy.

  • 🔭 I’m currently working on Game development, Tauri applications and PWAs!
  • 🌱 I’m currently learning ASP.NET, C# and Next.js.
  • 👯 I’m looking to collaborate on application ideas and game development!
  • 📫 You can reach me at Email, Twitter, and LinkedIn
  • 🧾 Resume: https://jonny.js.org/resume.pdf

⚡ Github Stats

Shirajuki's github stats
Shirajuki's github streak
Shirajuki's github top languages

digital-descent's People

Contributors

shirajuki avatar williamhle avatar

Stargazers

 avatar

Watchers

 avatar  avatar

digital-descent's Issues

RPG system

Since the game genre is a turn-based RPG, there may be some common game mechanics and systems that we would want to consider including in our game:

  • #17 - Players can collect and manage items such as weapons, armor, potions, and other useful items. (low priority)
  • #18 - A system that provides players with specific goals or objectives to complete in order to advance the story or gain rewards. (high priority)
  • #20 - Players can interact with NPCs (non-playable characters) and make choices that can affect the outcome of the game's story. (medium priority)
  • #7 - Players can explore the game world, discover new areas, and find hidden treasures. (high priority)
  • #10 - A turn-based or real-time combat system where players can engage in battles with enemies. (high priority)
    • #15 (Skill System) - Players should have different abilities and spells to use in battle, they can also potentially learn new as they progress through the game. (high priority)
    • #15 (Class System) - Players should have different class and roles so that there is a collaboration aspect in the game (high priority)
    • #19 - As players defeat enemies and complete quests, they gain experience points that allow them to level up and increase their stats. (high priority)

Exploration system

A core mechanic of the RPG game is that the players can explore, adventure and do quests together to gain rewards such as experience points.
The exploration system should consist of:

  • Pseudo-random level and map generation system
  • Mario like movement system on the map?
    • edit: maybe use the among us - like movement system and opt for rogue like exploration instead

Puzzles!

  • Tower of trials
    • Pressure plate
  • Subquests
    • Quiz

Polish battle system

Since the battle functionality plays a big role in the game loop, it is of a high priority we need to work on. The different functionalities that is missing and need to be implemented are:

  • Polished normal attack
    • Should scale with element type
  • Charge attack
    • Costs some
    • Should either deal consentrated damage or AOE damage as well as 1 buff/debuff
  • Special attack
    • Either costs all charges to use or through another charge indicator
    • Should deal AOE damage as well as 1 buff/debuff
    • The buff/debuff should be significant as it should change the battle flow. ie. stunning or giving bad debuffs to multiple enemies, or buffing the whole party.
  • Damage text popup like in the pokemon games
    • We want to meme this a bit 😏

To do this effectively, we need to implement:

  • Class system
    • We want to follow the holy trinity class system to give players each their own role and responsibilities in the battle. This means the following three different categorization of classes:
      • Damage dealer
      • Tanker
      • Support
      • Note: While it's good to have three different roles, we need to make sure to balance the gameplay in such a way that one can solo the game with any of the classes. All have to be able to deal enough damage.
  • Skill system
    • Each and every skill should be different depending on the class
  • Action queue system
    • Each action should be loaded into a queue and ran one after another. For this, an action queue is needed.

Feedback system

Player's should from time randomly get feedback on their progression, as it motivates the players as well as give them a clear picture on how they are doing according to the game standards. This issue is closely related to Dialogue system (#20)

Dialogue system

We want some storytelling to our game, fighting monsters are cool. But there should be a reason on why we're doing it in the first place!

  • A simple text block where the texts are added little by little is good
  • Add in a portrait / name will make it better

Battle system

Implement a simple turn-based combat system

  • Load in players in a combat view
  • Display:
    • HP & MP
    • Levels
    • Skills

Map system

A map system where different maps could be loaded and initialized is needed as there will be different scenes players are introduced to.
As for the prototype phase, at least two maps are preferred to be made:

  • Exploration map
  • Digital world map
  • Office map

Text chatting system

A system, component and controller for handling the textual inputs and outputs is needed as a possible type of communication.
This can be implemented through either WebRTC or WebSockets.

Quest system

A task/quest system is necessary to promote that we work on tasks when working with agile. The quests can be simple and something like:

  • Kill X of type monster
  • Retrieve X of Y item
  • Do X amount of puzzles

There should be different rewards given depending on the difficulty of the quest/task. The rewards could be:

  • EXP
  • Equipments
  • Gold

For more planning, make energy system for choosing tasks. Meaning that we can only pick some tasks (about 3).
Unfinished tasks are put in the backlog, the rewards are halved

Inventory and shop system

An inventory system is needed for some decision making aspect of the game. The following are the functionalities of the inventory:

  • Every player get 2 item slots for potions
  • Every player get some equipment slot (2-3) for weapons, headgears and armors.
  • Otherwise, every player share a big inventory where item drops, equipments, and other items is stored at.
    • The inventory should be in an old diablo like style, where the items takes up X-amount of spaces depending on it's type and size
    • This means that the players have to collaboratively organize the inventory in such a way that it can store more items
    • Doing so therefore requires the players to all click and move the same item that is wanted to be organized

We plan to make shops that is found at the digital world scene as well as some cheap traveling merchant selling goods at the exploration scene that is randomly generated in. Here players can do the following things:

  • Sell dropped and unused items
  • Buy potions
  • Buy equipments

Lobby system

A lobby system before starting the game, a place where players can wait for other players to join and communicate through both chat and real-time communication. This should also be a place where the players can customize their avatars.

Other subissues closely related to this issue are:

  • #3
  • #4
  • #1
  • Player customization / avatar system

Experience and Leveling System

When battling aside from item drops, experience should be given to the players as well. When receiving enough amount, the player should level up, receiving a choice of advancing a stat between HP, ATK, DEF and SPEED. Figure out a formula for calculating the experiences needed for the level stages.

Movement system

Players should be able to traverse the game world by moving the character/avatar using the WASD and arrow keyboard inputs. In this way the players should be able to interact and meet other players.

  • Implement either through UDP with WebRTC or TCP WebSockets

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.