Saturday, May 14, 2016

Development: TsosTwitch514

For fuck's sake...

After a great suggestion by a Twitch viewer this past Thursday, I've been tossing around ideas of implemented a chat-based PVP feature in my stream!

For those that don't know, I added a currency (currently called Tokens, probably being renamed to "Fortune Cookies" after another stream viewer's suggestion) that accumulates over time to ALL viewers in my chat.

Balances are available here

This currency is currently only used to buy lottery tickets (at 10 "cookies" apiece). This is designed to give loyal viewers a leg up when it comes to getting rewards in EVE Online. The currency is accrued at 1 token per minute in my channel, but can be multiplied based off of a couple stats: if I'm not playing EVE, it gets 2x, if I'm the #1 EVE streamer it will be 5x, and manual options are open to me if I'm feeling generous.

Now, onto the future. Development is going to go in waves, but I really would like feedback to guide which direction I should head, and how certain "mechanics" should go, and whether this entire endeavor is a waste of time.

My Vision

I wish to add PVP, but as a hybrid of consensual and non-consensual, mixed with a little risk/reward.

I do not want players to be able to siphon from existing balances in wallets.

I do not want random viewers to be targets of attack.

Naming conventions and typical mechanics should be scifi-based, maybe even EVE Online-centric. Current concept is to roll with Dust514 mercs (players) shooting Rogue drones and each other.

So, with those things outlined, here is the phases in which I'll be developing and the idea behind each:

A Wild Drone Appears

First, I will add PVE.

At some intervals, or at designated viewer counts (help me figure out what is better), a random NPC will spawn, and will alert chat. It will have random base Hit Point (HP), and random base Attack Power (AP). Using these stats, a loot value (in tokens/cookies) will be calculated. (Do you think any of these stats be affected by any active stream multiplier?)

After the NPC spawns, you will be able to opt in to the Party by a command - probably something like:
!game join
This will add you to the party, and you will have some base stats that will be the same for everyone. (Should there be an entry fee, adding some risk? Should the entry fee be dynamic, buffing stats on entry?)

After a grace period (5 minutes or 10 players? need feedback!) the join phase will end, and the NPC's HP/AP will be buffed to match the amount of players involved.

The combat phase begins, which consists of turns. These turns will have 2 components, a declaration phase and a damage phase. Declaration phase will be what action you will do, and after a timer (1 minute or when all players declare?) the damage phase will occur, where the NPC and players will all take damage simultaneously (for now). Players will currently have the option to attack, with a command like:
!game attack
During declaration phase, the NPC will randomly pick from ALL (living) players in the party, regardless of whether they attacked or not. However, I will implement a chance system that will reduce the likelihood of being attacked if you are not attacking the NPC. Keep in mind that it WILL take many turns to eliminate the NPC, and it's HP/AP will not reduce if players are killed, so sitting it out may not be the best option.

When the NPC dies, the loot (tokens/cookies) will be split evenly among all the surviving players.

I've already begun development on this feature and hope to have it rolled out in the next couple weeks to my twitch channel.

Band of Backstabbers

Next I will add a PVP phase, where you can kill other players in the Party to take their cut of the NPC drops! This will be a final combat phase, after the NPC is killed, where players can execute attack living members of the Party, using a command like:
!game attack PLAYERNAME
This feature will be coupled with a release of a new stat I will add to each player called Defense Power (DP, lol). This stat will behave as defensive damage and will be different than AP. DP will be naturally higher than AP, but will be negatively affected by another new stat called Security Status (SS), as well as split among all the attackers. So, having a DP of 18, but being gang-banged by all 9 other members of your party would reduce your defensive damage to 2 to each person.

Declaring an attack against a player with a SS higher than -5.0 will reduce your SS, down to a minimum of -10.0. Killing the NPC and not attacking players with >-5.0 SS will increase your SS, scaled off of the difficulty of the NPC. Kind of like a system is a game we are familiar with...

A scenario:
Player A stats: HP=2 (after taking damage); AP=2, DP=5, SS=0.0.
Player B stats: HP=3; AP=2; DP=5; SS=0.0.
Player A attacks Player B, reducing his SS to -0.1. Player A hopes 2 things: Player B attacks another player, making him wide open (no DP for defense) and that another player jumps in on B to kill him. This does not happen however, and Player A takes 5 damage from Player B's DP, killing him and dropping his loot.
The question I pose to you is: should B be granted A's loot? I vote no, since there has to be a advantages to being aggressive that come from the added risk they take by attacking. But I would like to hear your thoughts.

Another scenario :

Same Player A and Player B from above.
Player C stats: HP=1; AP=2; DP=3 SS=-2.0.
Players A and C attack Player B. Player B attacks Player C. Since B is attacking C, no DP will be taken into account, so both A and C will kill B without taking damage from the DP. However, C will be killed by B at the same time (all damage is done simultaneously, for now). Loot from B and C drop, but A will only receive loot from B. 
Now, when I make it so priority attacking becomes a feature, and quickness is a stat, some damage will apply before others, and B could kill C before taking damage from him, taking his loot, and survive A's attack, or even die to a 3rd attacker, dropping the loot for the surviving attackers to scoop, but that's the future.

This mechanic is further off and is in need for more discussion.

I'm Just Here For The Loot

What good (chat-based) RPG is complete without some sweet loot?

After I sort out the PVP concept, I'll move on to stat-boosting equipment. This, in and of itself, will have many phases:
  1. One-time use items assigned to your Twitch ID that you could use at any time. "!game use ITEM." They'll be things like token multipliers, HP repair, AP buff, things like that.
  2. Stock drops that automatically apply to your character. They would be a single item you'd get in a drop that would attach to your character and boost a stat permanently.
  3. Slot layouts where different items go to different slots that boost different stats.
Now, my desire is to implement a page on my website where you could edit your character. I do not, however, want to have any type of bullshit login credential nonsense that typically results in me having to recovery lazy idiots' passwords and a whole mess of other issues. Instead I'd implement a pass code system where a Twitch user would enter into chat something along the lines of:
!game equipment
Which will spit out a PM with a numeric string (i.e.: "08893487162380") that could be entered into a page, which then cross references against a temporary entry in database and return dynamically generated tables containing all your "character's" equipment.

Keep in mind, I'm not a web developer, so this shit will likely be a data table like my music request page with a button "EQUIP" that will place an item into a "slot" on your character. Don't imagine graphics or anything fancy any time this year, lol.

Once I get that functioning, it wouldn't be too hard to add a sell button to sell off gear you don't want for tokens.

And from there, if I'm still motivated after all that, I could make a market table that would contain all "sold" items that can then be purchased.

To get the pass code, my app would have to be live and running, so you'd have to catch me online or just leave your browser open indefinitely on the page. The temp pass codes will likely expire after a couple minutes.

Feedback

All of these ideas are just that: ideas. I don't really follow other Twitch streamers, I don't know what others have already implemented, but I like to believe that my features (developed by myself in a vacuum) are pretty unique so far and hope to keep providing new features for new and loyal viewers alike.

Now, keep in mind, I'm not a game developer by any stretch of the imagination, and we are literally using a text chat to play this "game." Graphics, animations, sound effects, are all outside my abilities at this time, but this feature could be a fun way for CaptLFStern to back stab James_Trantor.

I really really want feedback on this, so please leave comments below, stop by my Twitch Monday-Thursday 8pm EST (00:00 EVE Time), tweet me, hit me up in EVE (main: Burseg Sardaukar), or, if you are a Tso's member, reply in my thread on this same topic.