Welcome to Talking Time's third iteration! If you would like to register for an account, or have already registered but have not yet been confirmed, please read the following:
Once you have completed these steps, Moderation Staff will be able to get your account approved.
#31
|
|||
|
|||
|
#32
|
|||
|
|||
Aside from everything that Sybil says in-game, aside from the fact that the Transistor is not particularly fond of her (we should already have a pretty good idea of what is going on between Red and the Transistor), and aside from her dossier, which flat-out tells the player that Sybil interfered with the plan to kill Red, we can read a lot into the Backdoor itself.
FACT: The Backdoor is Sybil's secret oasis. FACT: The light entertainment in the Backdoor is a music player, which only plays Red's songs. FACT: Sybil's function manifests itself in the Backdoor as Red's pet. As for functions... How about Crash(Mask) for a while? |
#33
|
|||
|
|||
How did I never know that Mask can be used outside of Turn?
|
#34
|
||||||
|
||||||
No guest commentators this time. Boo. Quote:
Quote:
Quote:
As a Function, Breach() is about range. The active Function is a slow-but-potent laser blast, which pierces through enemies and obstacles alike. It fires fast, does plenty of damage and knocks targets back, but it's exceptionally slow to charge and recover from. This Function is great for usage during Turn(), since you can position yourself away from the action and line up perfect shots that destroy tons of enemies in one go. The upgrade slot Breach() Function gives long-range capabilities to whatever Function you apply it to, which offsets the weaknesses of many powerful Functions (Crash(), Load() and Cull() come to mind) quite nicely. If the Function would launch a projectile, those projectiles also fly faster, so it doesn't alter the total time of the Function() any, and enemies will have less opportunity to get out of the way. If range isn't your game, how about Turn()? Breach() gives you an extra bit of planning potential during Turn() as a passive Function. It'll give you a bit more breathing room when executing your crazy field-clearing or giantslaying combos, and I'm not 100% sure, but I think it'd also make your Turn() recharge slightly faster. Limiters! We've got three right now. The first one was Resilience, keyed to BadCell Processes. With this active, cells gain a shield, which must be broken before the Cell can be collected. Any attack, regardless of strength, can break a shield, which makes functions like Spark() and Ping() excellent at circumventing this limiter. Of course, if you spend all your time in Turn(), you'll be devoting valuable time in Turn() to just breaking shields. Abundance, displayed with the YoungLady here, is what makes my performance in this video so abysmal. Occasionally, the Process spawns twin cells when terminated, which means that you have to collect both or risk duplicating the Process you worked so hard to bring down. Thankfully, anything you did beforehand to collect cells is just as effective here, so provided you take the time and effort to go about collecting cells diligently, it's no big deal. Abundance is at its most threatening when you can't collect cells because of everything else. Initiative is our third Limiter, keyed to Weeds, and it is here that it's important to note that limiters all stack, and many of them apply to Transistor's more unique mechanics. With Initiative, cells respawn in much less time, such that you may not have time to collect them all if you kill off many enemies in a single Turn(). So if we enable all three, enemies defeated drop shielded cells, sometimes in pairs, and if we don't break those shields even faster than usual, the cells respawn. Fun! Personally, I leave Resilience off, but the other two are fair game for me. Will probably turn Resilience off next video. Code:
Changelog -Breach() executed. Task Scheduler 3: Cull() // expensive, high-power melee attack that launches 3: Ping() // rapid-fire short range attack 2: Help() // summons allied process, can be controlled directly 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Get() // pulls process to user, does more damage from longer range 1: Void() // does not damage directly, but weakens process offense/defense 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Tap() // close range area attack that drains life 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Buffer() |
#35
|
|||
|
|||
Well, that's a very stylish Game Over screen. :P
|
#36
|
||||||
|
||||||
No guest commentators this time either. Oh well! Quote:
Quote:
Quote:
Active Function Ping() seems underwhelming at first glance. It does a meager 15 damage per hit and doesn't travel very far at all. The strength of Ping() comes from the speed at which it attacks. As my video shows, enemies that are hit are temporarily disrupted. With most Functions, this isn't enough to matter, but Ping() fires so quickly that it can keep weaker Processes pinned down with ease. It also excels at dispatching BadCells and Cell shields that you'd otherwise have to dedicate a lot of time to. Unfortunately, Turn() costs for Ping() can't really ever get low enough to merit its usage. If you're using Ping(), save Turn() for other Functions. Most people will probably prefer to use Ping() as an upgrade. When used as such, it just generally makes Functions faster, both in and out of Turn(). Since a lot of Functions have heavy activation times setting them back, Ping() can make them into reliable options that keep the user safe under pressure. The low MEM cost makes this an even more attractive option. Passive Ping() decreases the cost of movement during Turn() significantly. This is generally useful, but for most players, not really super important. That said, there's two Functions that benefit from passive Ping(). One of these is Mask(), especially when used as an upgrade, as it becomes far easier to set up backstabs when you're spending less Turn() on moving around. The other... well, we'll find that out soon, eh? Code:
Changelog -Ping() executed. Task Scheduler 3: Cull() // expensive, high-power melee attack that launches 2: Help() // summons allied process, can be controlled directly 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Get() // pulls process to user, does more damage from longer range 1: Void() // does not damage directly, but weakens process offense/defense 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Tap() // close range area attack that drains life 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Spine() |
#37
|
|||
|
|||
One, two! One, two! And through and through
The Transistor went snicker-snack! Red left it dead, and with its head She went galumphing back. "And, has thou slain the Laggerwock?" |
#38
|
||||||
|
||||||
BEAT returns. Millions weep. My hair is getting in my eyes constantly and I think I need a haircut. Quote:
Quote:
Quote:
The Get() Function is, like Spark() and Ping(), one best suited for usage outside of Turn() than in. It basically fires a beam that, upon hitting a Process or Cell, draws them towards Red and deals constant damage as long as they're moving. Unsurprisingly, this makes it deal more damage the further away the target is. Unlike Breach(), which is completely viable as an attack on its own, Get() works best when combined with a close-range Function, such as Crash() or Cull(), to follow up, ideally launching the target far enough away that Get() can see more use. That said, using Get() during Turn() can spoil a lot of your plans, as the game won't account for the new position of the enemies it hits until after Turn() activates. Get() doesn't see much use as an upgrade. It usually either makes the Function draw things in, or increases damage relative to distance. Which utility Get() serves best depends entirely on what exactly you're trying to do with the rest of your build. Given my preference for setting up packets everywhere via Load(), I've experimented with applying Get() as an upgrade to Load() to facilitate chain reactions from drawing in one Packet after another, but I haven't seen excellent results from it (possibly because I am doing it wrong). When used as a passive Function, Get() increases the radius Red draws Cells in from, similar to Fetching Fizz from Bastion. If you're having problems with enemies spawning lots of Cells in areas you can't easily reach, but don't want to dedicate one of your active Function slots to Get(), this isn't a bad idea for it. Code:
Changelog -Get() acquired and executed. -Void() connected, priority increased to 2 from 1. Task Scheduler 3: Cull() // expensive, high-power melee attack that launches 2: Help() // summons allied process, can be controlled directly 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Void() // does not damage directly, but weakens process offense/defense 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Tap() // close range area attack that drains life 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Rest() |
#39
|
|||
|
|||
The main combo I used for a lot of the game was putting Get() as an upgrade on Jaunt(), which draws Process toward where you Jaunted from. Then I would set up a Load() packet and hit it with Ping() to make it blow up. It was pretty dang fun.
|
#40
|
||||||
|
||||||
On my own again, I can't wait to get on .road again. Quote:
Quote:
Quote:
Cull() is second only to Load() for raw damage. As an active Function, it's a close-range uppercut with the Transistor that both hits for lots of damage and launches the target far off. Due to the slow firing speed and launch effect, Cull() is built for usage almost exclusively in Turn(), where users can set up combos to maximize the damage of a punishing finishing strike. For this reason, it works best supplemented with Crash(), Mask(), and Void(). As an upgrade, Cull() does a few things. On offensive Functions, it usually adds a significant power increase as well as a launching effect, which is less useful in Transistor than in Bastion, as there are no ledges to instakill enemies with and launching can disrupt Turn() positioning easily. That said, launching enemies on faster Functions is a great way to temporarily deal with them. For Functions that don't directly attack, like Mask() or Switch(), Cull() tends to improve the duration of their effects. Passive Cull() is hilarious. Applying Cull() as a passive Function grants Red a subfunction called Check() that is only usable in Turn(). Whenever Red moves into a Process, she automatically executes Check(), which is functionally a mini-version of Cull(). The practical upshot of all of this is that passive Cull() lets you tackle enemies. This is a great way to clear paths, but it loses effectiveness when facing crowds. For best results, combine it with passive Ping(). Code:
Changelog -Cull() executed. Warning: Function library unavailable. Task Scheduler 2: Help() // summons allied process, can be controlled directly 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Void() // does not damage directly, but weakens process offense/defense 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Tap() // close range area attack that drains life 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Kendrell() |
#41
|
|||
|
|||
Hmm, I never thought about the hilarity that passive Ping() and Cull() together could cause.
|
#42
|
||||||
|
||||||
Whoops I accidentally went and played the game for half an hour. Shame on me for liking it so much. Quote:
Quote:
Quote:
Sybil is one of the four members of the Camerata, and she's got the closest connection to Red out of the four. We still don't know exactly what the Camerata's endgame was, save that it involved going after "valuable" people and it involved commanding the Process via the Transistor. That's all secondary for Sybil, though. In the end, she's here for Red and no one else. Her data from the Help() Function all but states in dictionary terms that she was into Red and wanted to be with her in any definition you'd care to name. Given that she's already spoken for, there was no way that was going to end well, but despite Sybil's love being spelled out here a fair bit more heavily than either the Kendrells' relationship or the similar issue of Ms. Gilande's gender, the game doesn't exactly beat you over the head with it. Still, if you know what to look for, you can find evidence of it, and there is a lot to look for. Most of it is in the Sandbox, which we still haven't fully explored, but we have seen the two biggest points there: the record player that holds nothing but Red's music (and adds more as you clear Tests) and Luna, a representation of Sybil herself... ...as demonstrated by her Function, Help(). Help() varies sharply depending on how you apply it. The active variant, unique among Functions in that it can ONLY be used out of Turn(), summons a friendly Fetch, which Red's friend names Luna. While Luna can Bark() and recover cells independent of Red, and has her own (invisible) health bar, you can manually control Luna via Turn(). During Turn, Luna gets a vast amount of movement speed, but her Bark() function costs a large portion of the Turn() meter. Help() thus works best if you need to setup precision attacks, regardless of range from Red. Summoning Luna takes a while, and you can't use Help() for ten seconds after using it initially, so don't rely overmuch on it. Upgrade Help() gives almost every Function its applied to a 50% chance of preventing Cells from spawning from terminated Processes. This... well, it's not bad per se, but Help() is a 4 MEM Function. If I'm going to be spending that much MEM, I don't want it to be for a thing that only happens on termination, and even then not always. Still, if you're the sort to run a lot of Limiters, this can bypass the threat of most of them entirely. Shielded speedy double Cells are only scary if they bother to spawn, after all. Passive Help() gives Red a 25% chance of entering SuperUser mode when going into Turn(). (Yes, there are safeguards against popping in and out repeatedly to attempt to trigger it.) SuperUser mode disables all active Functions, but adds one new Function called Kill(), which consumes the entire Turn() meter to execute but deals 500 damage (as much as two unbuffed Packets) to everything in range. Like most of Help(), it's not something that can really be the core of your strategy, but when it's there, it's really helpful. Oh, and while we're at it, we got the Responsibility limiter. This Limiter, when enabled, occupies a set amount of our MEM that scales up as we obtain more. I can see the aim of it, forcing creativity over just jamming Functions into any slot we can reach... but honestly I'd rather go without this one. If I want a tougher game, I'd rather have it by enemies becoming more dangerous rather than locking myself out of options. The associated Process for Responsibility is the Cheerleader, the second major support Process. Cheerleaders possess no offensive capabilities, direct or otherwise, and lack the durability to take more than a few hits. Instead, they can project an invincibility field around any other Process they find, favoring directly offensive ones. Later versions of Cheerleader also amplify the attack power of their supported Process and can generate temporary self-shielding. Attacking them first by any means necessary is, obviously, the thing to do. However, if you happen to have the Switch() Function on hand, you can get that fancy field projected around yourself... Code:
Changelog -Cull() acquired. -Help() executed. -Tap() connected, priority increased to 2 from 1. Task Scheduler 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Tap() // close range area attack that drains life 2: Void() // does not damage directly, but weakens process offense/defense 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Reset() |
#43
|
|||
|
|||
I learned in the final Endurance test that using Switch() on Cheerleaders is incredibly useful.
|
#44
|
||||||
|
||||||
Nobody else in here with me this time. Max sad. Quote:
Quote:
Quote:
Asher's Function, Void(), is probably my least favorite in the game. Lots of people love it, though, and for good reason, as it's one of the rare few ways to improve your damage outright. As an Active Function, Void() hits all enemies in a fairly wide area in front of you, but rather than doing damage, it impedes them, lowering their damage output and increasing the damage they take. Since this can stack up to 3 times per enemy, Void() makes for one of the best ways in the game to ramp up to higher levels of damage. The video showcased how high you can really get the damage using Void(), it's kind of nuts. Of course, doing so comes at a cost of a valuable active Function slot. As an upgrade, Void() is much more straightforward, improving the damage that a function deals, or its general effect if it doesn't rely on damage, to roughly 150%. Since damage increases are rare, this is the way to go if you like a Function but just want it to hit harder. The big problem here, as with most usages of Void(), is that increasing the damage costs 4 MEM, and I'd really rather spend that on something that gives me more utility, rather than just better numbers. Void() serves much the same purpose as a Passive Function. Rather than buffing one Function by 150%, it increases the damage dealt by all Functions by about 125%. If you're running a setup that relies on one Function to do the bulk of your work, the upgrade form is more useful, but if you have a bunch of attacks you like to switch between to suit the situation at hand, Void() works better as a passive. Code:
Changelog -Void() acquired and executed. Task Scheduler 2: Load() // creates packet, explodes violently when damaged 2: Spark() // area attack, initial projectile splits into smaller ones 2: Tap() // close range area attack that drains life 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Sudo() Last edited by Kalir; 02-06-2015 at 10:54 AM. |
#45
|
||||||
|
||||||
Quote:
Quote:
Quote:
Load() is a bit tricky to work with as a primary Function. When used, it places a Packet, which is effectively an exploding barrel. The Packet can be attacked by either side and only has 10 health, and when defeated, it violently explodes, dealing heavy damage (more even than Cull()) to all Processes in the vicinity. Like Get(), Load() is a bit unpredictable to use in Turn() on account of the fact that it takes some time to explode, and various attacks can push it from location to location. Timing-dependent Processes, like Cheerleaders and cloaking Fetches, are also a bit tricky. For clearing out crowds, though, you're hard pressed to find better. The most straightforward usage of Load() is as an upgrade, in which instance it adds a blast radius to the attack in question. Again, this is most useful in clearing crowds, but it doesn't really add a lot to most Functions in this way. In a few instances, Load() also brings a damage increase in addition to the blast effect, which is enough to make it considerable. Having Load() as a passive Function makes the user generate unupgraded Packets every so often. While less reliable than the active variant, this one works best if you just want to have the constant option of being able to explode things without spending time in your busy Turn() schedule to actively set them up. Code:
Changelog -Load() executed. Task Scheduler 2: Spark() // area attack, initial projectile splits into smaller ones 2: Tap() // close range area attack that drains life 1: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Proxy() |
#46
|
||||||
|
||||||
Quote:
Quote:
Quote:
Spark() is, as an active Function, primarily dedicated to area attacks. It doesn't do much damage, but it is faster than Crash(), which would otherwise be the fastest Function players would have early on. Spark() works as a two-part attack, first launching a fairly short-range projectile, and upon impact, that projectile scatters a series of smaller, weaker projectiles. Later on, Spark() functions best as a Function for spamming, trading some of Ping()'s speed for the ability to hit a wide area. This lets it excel at handling BadCells and breaking cell shields. Upgrade Spark() is a bit different from Load(), which more accurately conveys the area effect one would expect to be tied to Spark(). Instead, adding Spark() to a Function generally causes each usage to splinter into three shots in a cone. While these shots are individually weaker than a non-Spark() Function would be, the ability to hit multiple targets, or to focus fire on a single target at close range, make up for the effect, letting you create shotgun effects. This splitting effect is visited on the User when applied as a passive Function. Spark() causes the user to, upon being hit, leave a double behind. This double only has 20 health, but it draws the attention of Processes much as an ordinary User would, enabling you to make somewhat safer getaways. Not really my style, but it could be useful if, say, you're being attacked by multiple enemies and don't have Jaunt() ready to dash away. Our newest Limiter, Priority, changes how our Functions overload. Ordinarily, only your Active Function that consumes the most MEM overloads, and it usually is render inoperable for only an access point or two. With Priority, any Functions used to upgrade the Active Function are also overloaded. What's more, you'll only recover roughly one Function PER Access Point. Obviously, if you never overload, this means nothing, but having Priority constantly on means you have to adapt to situations and create new combos with what tools remain. I like what it's going for, even if the execution is sort of clunky in practice. The associated Process is the Creep, one of the first ones we encountered in the game. Creeps are, as you'd expect, fairly straightforward, firing a focused laser at Red when they're in range, and walking to better firing positions when they're not. Version 2.0 adds a third laser, which amplifies the repelling effect of the lasers noticeably and makes them much more deadly in melee, while 3.0 changes them to pull the target in, which also makes them much more deadly in melee. The best way to deal with Creeps is to simply never give them a chance to fire at you in the first place, relying on Turn() to get close and backstab them (they're very susceptible to this), or Functions like Breach(), Purge(), or Bounce() to attack from behind cover. Code:
Changelog -Spark() executed. -Switch() acquired, priority increased to 2 from 1. Task Scheduler 2: Tap() // close range area attack that drains life 2: Switch() // changes process allegiance to assist user 1: Purge() // parasitic attack that slows and deals damage over time 1: Flood() // creates sphere that travels slowly but attacks continually ...More so than they already have, anyway. Next Time: Read() |
#47
|
|||
|
|||
Having finally played and beaten Transistor just a few days ago, I can now read this LP without spoiling myself. After the Bastion LP I knew I'd have to actually play Transistor for myself and I'm so glad I did.
Thank you for doing this, it's pretty great so far! I'm not sure if it's alright to talk about function combos and my own experiences here when you're relatively near to the end of the game and this thread is kind of devoid of discussion. (Hopefully because everyone else is also trying to avoid spoiling themselves on this excellent game) As such I'll just comment on a couple things, one of which you've already mentioned in a video. No story spoilers here, a little bit of Switch() spoiling though.
I'm a little excited to hear about Tap(), it's one of the functions I haven't had a lot of gametime to fool around with. (Thanks ObamaPriority!) Although it's kind of criminal to have saddled you with so many 4 MEM functions and deprive you of the incredibly useful and versatile 2 MEM Purge(). |
#48
|
|||
|
|||
By all means talk about the game! I'm glad you enjoyed it, that's what this LP is for. The more people experiencing this game, the better.
|
#49
|
||||||
|
||||||
Quote:
Quote:
Quote:
That was why they were added to the Transistor, after all. Without going into too much detail, think of the Transistor as a paintbrush, which can create all kinds of art in the city, and all the Functions/traces/people within are just pigments on a palette. Since we need to face the Process, we've been turning these functions to an offensive end, but it's not unreasonable to expect it to direct the Process in more controlled ways. In effect, they'd preserve the whole reason those people were valuable to Cloudbank while negating their drawbacks. As nice as that sounds, the list Royce drafted up early on is essentially the alpha version of a hit list. And as you can see, it's not exactly a pleasant thing to be integrated into the Transistor unless you're already Process food. Red was only partially integrated, which is why she can't use her voice: that's stuck in the Transistor now. And if it's not properly done (because the prior user logged out mid-integration, for example) you get problems like Mr. Nobody has had. But enough plot rumination. Switch() is an excellent function that we are at exactly the wrong point in the game to showcase. The active Function does no damage, but fires a pink beam at the target that converts it into an ally of Red. Any Process thus switched performs to the best of its ability to aid her, which makes it useful for offense, defense, or support depending on the target. For example, converting a Cheerleader will cause it to buff her, while converting a Jerk will basically force the other Processes to deal with it rather than her. Using Switch() as an upgrade lets you apply this conversion ability to other Functions, in the same way Crash() can pass on its stun. However, this is less useful here, as Switched enemies can't be targeted by any of your other offensive moves, and a second Switch() effect will revert them right back to hostility. As a passive Function, you can convert the cells you pick up into allied BadCells. Not that BadCells are that great, mind you, but having a few allies here or there, especially allies with an on-death explosion, can come in pretty handy. But honestly, if you want allies, I'd really just say to use Switch() in its other capacities. Code:
Changelog -Switch() executed. -Tap() priority increased to 3 from 2. -Purge() priority increased to 2 from 1. Task Scheduler 3: Tap() // close range area attack that drains life 2: Purge() // parasitic attack that slows and deals damage over time 1: Flood() // creates sphere that travels slowly but attacks continually Next Time: Bracket() |
#50
|
|||
|
|||
I SWEAR TO GOD I THOUGHT THE RECORDING HAD ALREADY ENDED.
"if we need to do that again I'm just gonna rap the entire time and you all have to sit there and listen".
BEST ENDING. Last edited by BEAT; 06-05-2015 at 01:43 PM. Reason: I AM OVERJOYED BY THIS TURN OF EVENTS. |
#51
|
|||
|
|||
Hey, I just beat this game! Hey, I just read this LP! I enjoyed both of those things!
Discussion:
|
#52
|
|||
|
|||
finished
|