Giter Club home page Giter Club logo

akintu's Introduction

Akintu

by Gelatinous Cube

Authors:

  • Colton Myers
  • Joshua Belcher
  • Devin Ekins
  • Kyle Rich

Windows Installation Instructions:

Download and install the following five packages:


After installing all the requisite packages, run Akintu with the following command (assumes python.exe is in your path):

python akintu.py

For more information:

Public Wiki: https://github.com/akintu/akintu/wiki Keybindings: https://github.com/akintu/akintu/wiki/Controls

akintu's People

Contributors

basepi avatar blackvegetable avatar jabelch avatar malikoth avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

basepi

akintu's Issues

Running from Battle

Should players be able to run from a battle they have already engaged in? I vote no. My reasons:

  • It would require implementing (and theorycrafting) a running away system.
  • It would lessen the penalty for trying to sneak past foes and steal treasure and getting caught if they could just run away every time.
  • It would probably be difficult to implement in a fun way.

Let me know if you disagree; this one is somewhat important.

@basepi, @jabelch, @Jzar

Set Items and uniques

Do we want some kind of system for items that are not autogenerated but rather are special and have been created by us? I am against this, but I thought it was worth asking. If we do it I would prefer it be a tier 3.5 feature.

@Jzar @basepi

Seed based world generation

Seed based customization:

Instead of having a single seed for the entire content generation, I envision more control. You might like the overall layout but want to have the items change. In reality, the map seed would be the mother seed with the others mostly dependent on it. You could keep the others the same, but on a new map it would change them enough that it would feel unique.

  1. Map seed: I see this as being the main look of the map. The overall layout of towns and dungeons is determined here. A separate attribute might be used for size.
  2. Monster seed: The position, type and difficulty of monsters is chosen here with a separate attribute for the number of monsters.
  3. Item seed: The position and types of items is chosen here with a separate attribute for the number of items.
  4. Shop seed
    ... and any others we might come up with. I created a wiki page with this same text, but would like some input.

@Jzar @BlackVegetable @basepi

Shields

Make them thar shields, Devin!

Monsters before their Sprites

Hey, this isn't urgent, but how will I design monsters before knowing what sprites we will have available? For instance, if I want to design a minotaur and I go and set him up, what if we never get a hold of a minotaur's sprite?

Any thoughts?

@basepi @jabelch @Jzar

Out of Combat Stealth

How should stealth out of combat be handled? Can rogues sneak by monsters, start combat in stealth, start combat adjacent to enemies?

Colton: If stealthed outside of combat, AI won't move towards the player unless they can detect them. Originally I was thinking that we force combat if you get adjacent to an enemy, so we can have choke points. But we can just generate locked doors with a key on the monster to force combat. If you get into combat while in stealth, you will be spawned randomly on the battlefield just like normal, except you'll be in stealth.

@jabelch

Entering Combat Together

@basepi , @Jzar

Apologies in advance for the Wall-O-Text.

We have a concerning issue with our combat system. If a player enters battle with a foe while one of his buddies is close enough to increase the difficulty of the battle, he will be facing a tough foe alone. Even if the allied player joins the battle during the second turn, that player is one turn behind in preparing buffs, performing ranged attacks, or moving into melee range. This also presents some logistical details that need to be worked out.

We could remedy this, partly, by forcing a player adjacent to a player that engages in combat with a monster to be sucked into the same combat. Using your NUMPAD as an example, the monster is on the 8 key. Player A engages the monster from the 5 key, while player B is standing on the 2 key. Player B is sucked into the battle and will start from roughly the same angle as player A.

This could apply only when battle commences, or anytime a player tries to shuffle by a battle (and gets too close.) We should consider the latter as we don't want one player to be able to sacrifice himself against a boss only to allow an allied player to ignore the battle and grab the treasure the boss was guarding (supposing the boss was in a narrow corridor?)

The logistics involved may require us to "pause" the battle briefly while an allied player zooms into battle partway through. We will want the player to be able to start combat at the start of the next player turn but if he is currently loading the combat, in some cases I think the combat will need to pause until that player is loaded and able to fight. Hopefully such delays, while common, will not take too long.

My main questions are: "How should we handle the issue of players desiring to start (the same) battle at once?" and "How should we handle the (possible) delay when a nearby player enters the combat?"

Overworld Obstacles overcome via spells or abilities

Hey, this isn't really my area, but I'd like to know what kind of obstacles (underground rivers etc.) we would like to have in the game that will require items, spells or even abilities to overcome. For example: there might be an underground lake blocking access to some treasure. If you have a wizard that knows an underwater breathing spell, he can cast it on your party and you can continue. Or perhaps there is something down a deep pit but you need rope to scale down there safely.

What kinds of ideas do you guys have or want regarding this? @basepi @Jzar @jabelch

Skills

Roughly Half of the Skills need to be completed (such that up to level 8 can be filled with abilities.)

Shields

Quick overview before I ask the question:

Options for player combat (melee):

Dual Wielding: +Damage for lower STR characters, +On hit effects
Two-Handers: +Damage for high STR characters
One-Hand/Shield: -Damage, +Defenses
One-Hand/Nothing: Rare, some classes gain bonuses

Now, regarding shields. I've liked the system where there are only two classes of shields: Standard and Heavy shields. Heavy shields will be considered heavy armor for determining any AP penalty. What of Standard shields? Medium, or Light armor? Or would you like to have Light Shields (bucklers?) as well?

@basepi @Jzar

Minutia -- How to break ties

For the moment, assume you have no issue with the way these mechanics are handled and just answer the specific question.

With several mechanics (magic resist vs. spellpower, accuracy vs. dodge, poison rating vs. poison, hidden rating vs. awareness, trap evade vs. trap rating) there is a roll performed by two competing stats. When one roll outperforms the other, a specific outcome either happens or doesn't as a result. However, the situation where the two stats tie has left me making mostly arbitrary decisions on a case by case basis. I think we will have fewer bugs if we settle on either always siding with the inaction or always siding with the action in every case of a tie.

For an example of what I am talking about, review the https://github.com/basepi/akintu/wiki/Awareness page. In this instance, action would be discovering the hidden object and inaction would be not discovering the hidden object.

What do you think? Which should it be? Even if you don't care, it may be important for you to know this convention when we get to programming these rules.

@basepi , @jabelch , @Jzar

Event Based performance issue?

For many passive abilities and some buffs, I feel that unless we take an event driven approach to many actions in the combat engine, the code will become unmanageable.

However, I worry about the performance hits of having many listeners and broadcasts going all the time. For example, some broadcasts I would need active off of the top of my head:

  • Spell cast
  • Counterattackable melee weapon attack performed
  • HP dropped below threshold
  • Healing performed

I suppose I can optimize which listeners are active at a given time based on which passives a character has and which classes they are etc. but I wonder if the general pattern is going to still slow down the game to an unplayable level.

Any thoughts?

Other methods of experience

Should we have activities such as picking locks, disarming traps, exploring etc. give experience as well as killing monsters? If so, should the benefit of a rogue disarming a trap grant the experience to the entire party? Should we have locks at all?

Colton: We will definitely have locks, I don't know about lock-picking, though. As far as experience goes, I think it would be cool to have experience completely shared among your party as long as you were within 2 (arbitrary) screens of each other. Monsters would be scaled up enough that hopefully they wouldn't be able to both be winning battles at the same time, they'd have to cooperate. But I always hated getting experience differences with your friends while playing co op.

@jabelch

Set up starting Character items

The Dragoon is currently done but still needs to have "Basic Hero's Gear" defined. We need a page on that... all of the others still need to be done.

Traps set by Hunters

I have a question on the Traps page, but I'll just post it here:

Devin: Should Hunter primary classes require components to set traps in battle? I vote yes. However, the Tactician can set magical traps, which should not require components. Thoughts?

@basepi @jabelch @Jzar

Beta Testing Hype

I've been thinking about what Josh suggested regarding making the wiki open to the public in order to increase the interest in our project.

I wonder if there is a way we could make a copy of the wiki, edit that wiki to remove some development only details, and make the wiki viewable by everyone but editable by only us. If we could do this, we could show it off to people in order to make them want to Beta test our game. I think we will want lots of beta testing as early as 7-8 weeks into next semester. Otherwise, there is no way I'll be able to fully balance the content enough to implement 20 levels. (I am taking one other class after all!)

Josh also suggested we make one of those square barcodes for phones to link to this wiki. (What are those called again?) We could have it link to that wiki and have it available on cards that we pass out during our next presentation.

Finally, I wonder if it would be a good idea to have a simple website set up to sign up for beta testing such that people enter in contact information for themselves, and what classes they are most likely to test. That way we can easily contact interested people as soon as we are ready AND we can know which classes we need to test more. Furthermore, by doing it this way, we could limit the maximum number of beta testers if we wanted to do that for some reason.

What do you guys think? Is this doable, and if so, is it desirable?

@jabelch @Jzar @basepi

Monsters!!

We need some monsters to start with. Start developing common monsters that we are likely to have sprites for first... Maybe come up with 20 monsters?

Review Soft Level Cap Rebuttal

Kyle convinced me that a soft cap may be totally unnecessary. Just include a difficult to reach hard cap. Perhaps we'll consider higher levels in the event that we have extra time and feel it is needed.

Agree?

@basepi , @jabelch

Poison Use -- Ability or pure item?

I've had second thoughts about my view on how poison should be handled. Originally I proposed Poison be restricted to Ranger or Thief classes (Ranger won) and have a level requirement to unlock the ability. It also consumed (and required) one item each time it was used, but lasted an entire battle.

However, I see that it would stand alone as the only ability to require an item. Furthermore, it doesn't fit with our previous decisions to allow any class to use any item, but some classes may use some items better than others.

Thus, I am thinking of making poison usable by all classes, but Rangers (and thieves?) will get a passive bonus to the damage it deals. Do you have any thoughts?

@basepi , @Jzar ?

Finish Tier 2 Spells

Tier 2 spells need to be collected and balanced. There should be exactly spell in that category.

Additionally, for this task, the other "Level X Spells" pages need to be retired.

Combo classes to level 6

All combination classes need to be theorycrafted up to level 6. Dragoon is the only one currently done.

Monster Groups/Numbers

This will probably require more than just a text discussion but we can at least put down some starting ideas here.

I have balanced several of the classes around there being more than one monster to encounter at a time some/much of the time. This especially becomes important as we have multiple players fighting as a team.

I have a baseline proposal for handling multiplayer balance vs. monsters. I'm not set on it, but it is something to start from:

  • Some monsters have a tendency to be in groups. If a player is alone in his region, he will only face a few of them at once (maybe just one.) If he has friends in the region, the number of monsters is increased, but HP remains constant. If players suddenly join the region from far away and then join the battle, either additional monsters can enter as well, or their HP can be multiplied.
  • Some monsters have a tendency to be alone. If a player is alone in his region, he will face them with default HP. If he has friends nearby, he will face it with HP proportional to the number of players. If players join from far away (or connect to the game right then and join the battle) the monster's HP is multiplied.
  • Other monsters fall somewhere in the middle.

Thus, a monster on the screen may indicate a group of monsters of that type (or of similar types including that type) or just one monster of that type if it is a loner kind of monster.

Ideas? @basepi @Jzar

Threat and AI

Hey, what are you guys thinking as far as the mechanics for determining which party member gets attacked? There are various strategies to implement this, none of which I support at the moment. I'd like to throw ideas out there and have you guys tell me what you think.

  • Totally random (whatever they can reach)
  • "Threat" built from damage/healing sources (a la Wow)
  • Heavily armored targets build more threat than lighter ones (a la Dragon Age)
  • Wherever damage can be maximized (a la Fire Emblem)
  • Hates certain classes more than others
  • Any suggestions?

@basepi @Jzar

Encode All Active Abilities

Get all the non-passive abilities and spells figured out and encoded. This will involve defining the rules for disarming traps and revisiting the Stealing abilities.

Respeccing

(Sorry guys, wall of text crits you for 9000...)

So, here's the issue: Devin hates D3's ability to change your abilities at any time with virtually no cost, and I have always hated how strict some RPGs are (D2) on character build, once you've made a decision.

After talking around it a little bit, we realized that this was the issue causing us to approach certain ideas and decisions so differently. Devin suggested simply making the ability to change your character choices an option. We decided that this is something that you should probably be able to select at character creation, right next to the option for hardcore mode. Even if a mutable character is playing on the same server with immutable friends, he'd still be able to change his choices.

We liked that this gives the choice of how hardcore the game is to the player himself. However, I've been thinking about how the game changes as you transition from single to multiplayer mode in Akintu.

So you've got your character, and you can play it in your own world on your own computer. If you want to play with a bud, you can invite him to your world, or he can invite you to his, but your character data still comes from your computer. (Correct me if this isn't how you envision multiplay working!) Since one player has no control over his friends class choices, we may end up with a ton of players choosing one primary class. And they may all be melee characters, which would probably make team play pretty boring, and hard to work your way in to weapon range without getting your skull cleaved by your berserker buddy's backhand.

Basically, I'm thinking that even with a variety of secondary classes, it will be good for multiplayer play if people can adjust their classes. Even the ones that want to play the strictest version of the game.

So one possible solution would be to have dual-spec like in WoW. You can hit the toggle button, and go from fighter / thief to fighter / ranger, and back again. Your choices made in each spec are remembered anytime you are in that spec. It still requires you to plan your build ahead of time, but gives you a little bit of flexibility at least. Mutable characters however, would be able to switch between any of their 3 (or 4) secondary classes) any time out of combat (or maybe just any time in town) and be able to adjust previous character choices too.

Or we could not limit the number of specializations. Have one for each secondary class. Let any player switch their secondary class sometimes (out of combat, or else in town). Have the difference between mutable and immutable characters simply be that immutable ones cannot change previous choices made in each secondary class spec.

Sorry, this is far more rambling than I wanted it to be. Hope some of it makes sense. Let me know how you guys feel. Like one of my ideas? Have alternatives? Think it's a non-issue and we should stick with one spec?

Summons

What do you think about the complexity of adding summonable allies (via magic) that last a few turns? They could be either player controlled or AI controlled. It is a feasibility issue that I wonder about.

@basepi @Jzar

Brewing Potions & Balancing Sorcery

I have written up an example of how Brewing Potions could work on the brew potions page:

https://github.com/basepi/akintu/wiki/Brew-potions

I have a discussion section listed there, but let's just handle this one in the issue tracker. Here are arguments for allowing this limited crafting system:

  • It balances Sorcery and makes wizard-type classes more valuable.
  • It adds depth to the gameplay
  • It gives us a larger variety of loot to give to players (reagents are needed for potions.)
  • It gives an additional use for gold (some potions convert raw gold coins as reagents for potions.)
  • It keeps players from having to trek back to town as often.

Here is an alternative to this system: Sorcery improves the amount that characters are affected by healing and mana potions. It also slightly increases the duration of buffing potions.

  • This also balances Sorcery.
  • It makes moderate (and attainable) levels of Sorcery seem valuable to non Wizards.
  • It saves us from the complexity of a crafting system.
  • It seems more in line with our position of avoiding MMO-style crafting systems.

I am leaning toward the second choice, even though I originally proposed the first. Ideas/Suggestions?

@basepi @jabelch @Jzar

Avatars

@Jzar and @BlackVegetable, could you please set avatars on your Github profiles? Makes it super easy to see at a glance who's saying what.

Thanks!

Should Double-Classes be allowed?

Josh and Colton approved of our (mostly your) great idea for a class system, Kyle. They were in favor of something that I am neutral regarding:

We should have doubled up classes allowed. That is, Fighter/Fighter = Barbarian or Thief/Thief = Pickpocket or Ranger/Ranger = Sniper or Wizard/Wizard = Sorceror .

They would have a large penalty for not having any secondary skills to choose from their second class but would still have unique abilities via combination abilities. I proposed that on character selection, these classes be discouraged via a warning screen or message indicating they are not recommended combinations and are only for players looking for a challenge.

What are your thoughts @Jzar? Also, did I express your thoughts accurately @basepi and @jabelch ?

Traits

The Trait system needs to be completed for all four base classes. That means 9 * 4 = 36 passive abilities that are selectable that need to be created with four ranks each.

Out of combat buffs

How should buffing spells out of combat be handled? Can wizards enter combat with all of their most powerful buffs already in place? Is there an out of combat real time limit for each buff? Is there a hard cap on how many buffs a player may enter combat with?

Colton: For simplicity and balance, I think there should be no out-of-combat buffs. Perhaps we make the buffs a little stronger since they have to use action points to cast them at the beginning of battle?

@jabelch

Game Difficulty Customization

We have multiple mentions of Ironman mode and other difficulties through different topics. I think it's important enough to have it's own space.

Some thoughts for discussion on menus and game customization:

  1. Defaults that most people will enjoy playing out of the box. This doesn't mean perfect gameplay for everyone, nor does it mean we just enable easy mode (though it might end up being like that).
  2. Simple difficulty selection - with complex customization. I envision a menu that could have a selector of "Easy" through "Ironman", but it doesn't end there. Those who want to customize individual categories can do so. I always hated only being able to choose between easy, medium and hard - what about gold accrual or health regen rates, or the countless other choices.
  3. Character customization and map customization categories. This becomes useful when playing multiplayer since we would want the host map's characteristics to apply. The issue of how to resolve character inconsistencies will need to be discussed. One possibility is to default to the strictest characteristics for everyone... appealing to the hardcore "purebloods", but destroying the livelihood of the hybrid "mudbloods". Or, perhaps by separating the categories, the characters themselves can continue to function as originally chosen.

@Jzar @BlackVegetable @basepi

Reserved weapon stats

I can see a lame situation on the horizon.

Kyle and I proposed that characters be allowed two sets of weapons to switch between at will. One could be a bow, and the other a couple of swords dual-wielded. However...

How should we balance between someone that has two different two handed weapons set up vs. someone with two sets of two weapons set up? The latter will have twice the possible attributes attached to their weapon!

A couple of options...

A. Only stats from the currently equipped set matter. (Causes some issues with max HP/MP fluctuating in battle among other things.)

B. Double stats attributed to two-handed weapons. (Likely causes issues I cannot currently detect.)

C. Split the stats on weapons into two categories-- weapon specific stats which handle things like on-hit chance to cause bleeding (which should be an advantage of two weapons) and character stats such as + Constitution, which are doubly applied to two-handed weapons.

Any suggestions? @basepi @Jzar

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.