Recently, updates to Stream Defense have been few and far between. As I explained in this post, I’ve been too busy with work and family to dedicate any significant amount of time to the game. However, later this year I will have MUCH more free time, and one of my top priorities is to devote time each week to developing the game.
While the game is in a fairly balanced state at the moment, it is far from complete. I have a short list of big features I still intend to add, and an uncountable number of small changes that will inevitably come along with them. This post is an over-due attempt to detail all the ideas in my head that I intend on implementing as soon as I can.
Keep in mind, these are only ideas at the moment. Certainly, these ideas will change, maybe even radically change, and some of them may not end up making it into the game at all. Game development is an iterative process, and as the game evolves, so do my plans for it. Your feedback both to this post and to the changes themselves, once implemented, will be a huge factor in determining the direction of development.
With that being said, here are the ideas currently occupying my mind, in no particular order. At the end of this blog post I will ask you to tell me which ideas you are most excited about. I won’t necessarily follow the poll results exactly, but they will help inform me as to what I should prioritize.
I’m currently about half way through adding sound to the game. Typically, this would have been finished much earlier in the development process. However, I both despise and am terrible at sound design. I’ve dragged my feet for 2 years, but am finally committed to getting the game fully “sounded”. I’m hoping to have this finished by the end of February.
Currently there are only 2 prestige specs in the game: The shockmage (frostmage spec) and the potion master (alchemist spec). However, I still intend on adding a prestige spec for each class. I have one in mind right now, so I’ll go ahead and tell you what I’m thinking.
- Gunner (archer spec): Fires a short range machine which has to reload after clearing its rounds. Deals very high damage for a short period of time (maybe 5 seconds) followed by a period of reloading where he cannot attack (maybe 15 second). He will also probably have some !sp commands which fire alternate attacks such as long-range missiles.
Single-Player Mode / Streamer Playable
I plan to make the game playable by a single person, without the need to stream the game at all. The player would start with a 1 – 3 characters, but would eventually unlock a party of 7 (one of each class). Here is a short list of features that would accompany the change:
- The player will be able to control all the characters, and make take any available action without the need to type any commands
- A character screen will be added (possibly to the map-selection lobby) where the player can see all his characters and their stats, as well as change things such as their current spec.
- In the game, the player will be able to select a character by clicking on them. The selected character’s stats, and some action buttons (power up, target priority, etc) will be displayed on the bottom of the screen. They can order the character to move by clicking on a location
- Similar to how viewers currently progress, each character will have their own class rank. However, the gem type and gem rank will be shared across all characters. I haven’t decided yet whether gold will be shared across the characters.
- The player can then decide to connect the game to a Twitch channel, allowing their viewers to play along with them. They can also, as the game is played now, leave the game running while they’re away – allowing their viewers to continue progressing in their absence.
This might not seem like a huge undertaking. However, I want it to feel like it was meant to be played without the Twitch integration. I may add a simple storyline, some intro levels, and an in-depth tutorial system to help get the player into the game.
One advantage of allowing the streamer to play with their viewers is that the streamer can help new players. The tutorial system I have in mind will mostly be for the streamer’s sake. I understand regular players don’t want to watch even a short tutorial before each match. Instead, I’d like to add a few “tutorial levels” to the beginning of the game to help the streamer get started. And then a few short tutorials any time a new feature is added. It will then be up to the streamer and regular players to help new players learn the ropes (along with the on-screen prompts and the website, of course).
I may also add some additional prompts to the beginning of each map, such as a dotted line showing the pathing of the enemies, and some text explaining how the altar works.
I’m planning on adding “consumable items” to the game – powerups which you can purchase with gold for a single game. The goal is two fold:
- Make gold more useful
- Add some game-to-game randomness, typically found in rogue-like games
If I were to redesign the game from scratch, it would probably be a hardcore rogue-like. The next best thing is to try and take what makes rogue-likes so addicting and bring it to Stream Defense.
My current plan (subject to reconsideration):
- Remove all the altars currently in the game (don’t worry, they’ll be back in another form)
- Add an “item shop” to each map where the altar was (or would be, for maps that don’t currently have an altar)
- After each round, the shop will display up to 3 random items available for purchase. Each item will have an associated gold cost – some will be cheap enough that you can buy one every game, other (more powerful ones) will require you to save up your gold to afford.
- Each round, the gold cost of each item will go down, and one new random item will be added (replacing the oldest of the three from the previous round)
- Each player may only purchase one item per game (I would like to allow for 2 or 3, but I haven’t found a way to balance it yet)
- Examples of some items I plan on adding (I’d like to have at least 12 I’m excited about before the feature is live):
- Add X levels (similar to the Wisdom altar)
- Reset your level to 1 and grant X% of the experience lost each wave (similar to the Rebirth altar)
- Fire one additional projectile per attack
- Gain power or experience periodically for the rest of the game
- % chance on hit to poison/explode/stun
- After your tower gets a killing blow, gain an extra attack
New Altar Maps
Adding item shops to every map could be seen as a continuation of making the game more “arcade-like”. I like the idea of a more casual game in which you can become insanely powerful and reach ridiculously high wave numbers. However, sometimes it’s fun to face a real challenge under strict limitations. That’s what I plan on introducing with the new altar maps.
After getting a certain number of points on a given map, players will activate the “altar version” of that map, for a single game. Each map will have its own unique altar – similar, but not identical to the altars currently in the game. During “altar games”, certain features will be disabled: Item shops, tower ammunition, and possibly the guard. Highpriests will probably also earn less mana/orbs. The idea is to create a more controlled challenge that can’t be “gamed” as easily as the current maps can. I want these new “altar maps” to feel similar to a boss fight in an MMORPG.
Altar maps will also be pass/fail. The wave you reach will likely be irrelevant. Instead, you will have a win condition you must meet to get the reward. Some examples I have in mind:
- Dune Gauntlet will still keep its “Challenge Altar”. To beat the map, you must reach and beat a certain challenge level.
- Frozen Steppes will still keep its “Rebirth Altar”, but will also gain a “Sacrificial Altar”. Entering the Sacrificial Altar will also take you back to level 1. However, instead of giving you XP per wave, it will deal damage based on the XP drained. Deal enough damage before failing and you win. This also means I can remove the XP cap on the rebirth altar without worrying about breaking the game.
Upon beating an altar map, you will gain a significant amount of essence & shards. But, more importantly, altar maps will be where you earn the best “Class Gear”.
Gear will be a new way you can customize your characters. Each piece of gear provides a specific benefit for the class it belongs to. For example: Bows can be used by ANY archer spec, but only by archers. The “Bow of Sight” might increase the damage the archer does based on his distance from the enemy.
Each piece of gear will also have a rank. Unlike class and gem ranks, however, it will not rank-up over time. Instead, gear will drop with a random, static rank. Harder content will drop gear with a higher minimum and maximum possible rank. The highest ranked gear will only drop from altar maps.
You will be able to store an unlimited amount of gear, and swap between them for a gold cost. Each character can only equip one piece of gear at a time.
I would like to create new versions of each gem. I haven’t decided yet how players will unlock the new gems, but it will probably either be:
- By “prestiging” your gem (setting it back to rank 0)
- As a random drop from getting a high score on Altar Maps
An example of a new gem: The “Garnet” would be a red gem (like the Ruby). Therefore, it would grant the same Highpriest spells as the Ruby (although I may add one additional spell for each new gem). However, instead of occasionally granting an extra attack, the Garnet would occasionally fire an additional projectile. Instead of granting extra range, it would grant mastery. And instead of extra move speed, it would increase the level of all players in their tower by 1.
This idea, as you can probably tell, hasn’t been fleshed out yet. I just wanted to let you know that it is something I’m planning on adding eventually.
I’m planning on adding a !profile command which would return a code you can enter on the site. Upon entering the code, the site would populate a “Profile Page” which would display all the information about your characters. If I have the resources, I would like to make this a graphical page, with images of your characters. However, based on time and funding, it may be plain text. Either way, the goal is to give players an easier way to see all of their “account information” in one place.
As Stream Defense is being developed for other streamers, partially as a way to help them grow their channel, I would like to add more incentives for viewers to lurk, or afk in the channel. Even is viewers aren’t playing the game, they can increase the viewer count by leaving the stream playing, which will increase the chance of new users finding their channel. As of now I have two incentive plans:
- All viewers will earn a small portion of the end-of-round essence and shard rewards (probably about 5%). This means, even if you aren’t playing, your characters are still ranking up, just by leaving the channel playing.
- All viewers will earn a “Waiting Token” for every round. Waiting tokens will be explained in the following section, Waiting System.
I anticipate some players will by put-off by these lurking incentives. However, I believe this small change could have a big impact on the game’s popularity. If you enjoy the game, and would like to see more rapid development, this is a good thing overall.
The idea of a waiting system might seem unnecessary, as the game never fills up. However, there was a time (early in development) when most games did fill up. More importantly: I plan to get this game into the hands of many other streamers, some of who may have active followings. How to handle who gets to play when not everyone can play is an important issue. My current plan:
- Each round, all non-player viewers will each receive one “Waiting Token”
- If a game ever fills up, the Waiting System will automatically be activated for the following game
- While the waiting system is activated, players will be unable to join the game for the first ~1min. Instead, the game will collect a list of all players who have attempted to join the game.
- After the waiting period, the game will select the players with the highest number of Waiting Tokens and allow them to join the game. All selected players will then have their Waiting Tokens reset to 0.
Early End Option
Stream Defense is being developed for other streamers. At times, these streamers may wish to leave Stream Defense playing in their absence, and return when they’re ready to stream. The issue: games can sometimes last for an hour or more, and the streamer may not wish to wait that long to begin the stream.
I’m planning on creating a button that will expedite the end of a game. I haven’t decided exactly how this feature will function, but I have 2 goals in mind:
- Give sufficient “bonus rewards” to avoid player frustration upon games ending abruptly
- Limit the bonus rewards such that the streamer can’t exploit the system to rank up faster
Mid-Round Score Screen
You have all been there: the barracks is destroyed on Round 119, and you miss out on all your hard earned shards and essence because you didn’t defeat the round 12 boss. I plan on adding a remedying this by adding a end-of-round score screen at the end of the game, regardless of which round you lost on. This way, you still get the rewards from all your hard earned points.
Currently, the game receives a minimal amount of funding (about $100/month) through my wonderful subscribers – who I am incredibly grateful to. However, I would like to set up an additional funding option for two reasons:
- Twitch takes a large percentage (about 50%) of your support
- Once I release the game, anyone subscribing on another streamer’s channel is only supporting the streamer. While this is one goal of the game – I want to help streamer grow their channel – I also would like more funding for the game itself
More funding means I can afford to put more of my own time into the game, and I can pay other talented developers to help with things I’m not so good at:
- Custom artwork: new enemies, character art, maps, and structures, as well as improvements to the current art.
- Advanced coding. There are some more technical features I would like to add to the game. However, my coding knowledge is limited. If I could pay someone more familiar with MySQL, PHP, and networking, I could add some really cool features.
- Original soundtrack. I would love to have original music in the game. The game is starting to sound a little better, but I’m learning how to do sound design as I go, and I really haven’t figured it out yet. Hiring someone who really knows what they’re doing could really make this game pop
If you’ve made it this far, I commend you. I hope you’re as excited about the upcoming changes as I am. Please take a moment let me know which changes you’re most eager to see in the game in this StrawPoll. I can’t guarantee I’ll follow the poll exactly, but it will inform my decisions. If you’d like to share your thoughts further, the Stream Defense Facebook Page is probably the best place to do that.