3 of The Top 60 Second Binary Option Trading Strategies ...

Wasteland 3 - Review Thread

Game Information

Game Title: Wasteland 3
Platforms:
Trailers:
Developer: inXile Entertainment
Publisher: Deep Silver
Review Aggregator:
OpenCritic - 84 average - 97% recommended - 39 reviews

Critic Reviews

33bits - Juanma F. Padilla - Spanish - 95 / 100
After the excellent Wasteland 2, we were excited to get our hands on the new installment, and we can say without fear that it has met expectations. Wasteland 3 is a sign of the love that InXile has for his work and Brian Fargo for the genre that has created a name for him. If you are a lover of the saga or the genre, do not hesitate to enjoy it.
ACG - Jeremy Penter - Buy

Video Review - Quote not available

Attack of the Fanboy - Diego Perez - 4.5 / 5 stars
Wasteland 3 is one of the best RPGs I've played in years, and it's one you absolutely should not skip.
CGMagazine - Lane Martin - 9 / 10
Wasteland 3 is a lovely return to the post nuclear apocalypse with fun gameplay and interesting choices at its forefront, though at times it can be a bit clumsy in its implementation.
COGconnected - Tony Bae - 90 / 100
Wasteland 3 doesn’t pull any punches with its subject matter in sexuality, violence, and language. But if you are fine with that, I would highly recommend you give Wasteland 3 a shot, especially if you were (or still are) a Fallout fan.
Cerealkillerz - Julian Bieder - German - 8.8 / 10
On Paper Wasteland 3 sounds like the perfect RPG-Dream but the execution leaves much to be desired. Bugs, Glitches and graphics that doesn't really represent a game that releases and the end of this console generation are a bit of a letdown. Everything else from the great story, entertaining NPCs, solid battle system, clever leveldesign over to the love for details is amazing, besides some flaws that should soon be fixed, as inXile and Brian Fargo promise. Everyone that wasn't happy with the latest Fallout Games will surely love Wasteland 3.
Chicas Gamers - Adrián de Francisco - Spanish - Unscored
Wasteland 3 is a old-school role-playing game, with a compelling story, a combat system that promises but is not groundbreaking and some funny moments and black mood, which always remind us that we are in a post apocalyptic world, but with a smile. Don't forget the powerful character editor, rhythm voices, and the beautiful scenery that puts you in that atmosphere of cold and snowy Colorado.
Cram-Gaming - Robert Cram - 8.5 / 10
Wasteland 3 can be a bit of slog if you're gunning for marathon gaming sessions with it at the helm. Combat, whilst exciting initially can fall into the traps of repetition. A little more variety could have negated some of the repeated player actions. That said, the story is compelling and the characters an interesting assortment of misfit survivors, although perhaps fitting post-apocalyptic stereotypes. It's a fun, easy to play game overall though that should well-please fans of the series and keep players entertained for quite some time with its high replay-value. However, aside from some bugs here and there, the impressive amount of voice-work on offer, the character building is the best part of the experience where you can really nurture your ranger squad in this snowy post-apocalyptic world.
Digital Trends - Tom Caswell - 4 / 5 stars
Wasteland 3 is a rewarding game that offers unprecedented choice and is a great jumping on point for new players.
DualShockers - Kris Cornelisse - 9 / 10
Improving on its predecessor in almost every way, Wasteland 3 is one of the best and most reactive RPGs I've played in a long time.
EGM - Mollie L Patterson - Unscored
At least in my time with it, Wasteland 3 has been a fascinating experience. I’ve come to appreciate its depth of gameplay, character, building, and exploration, even if some of its pieces and parts still feel very foreign to me.
Entertainium - Eduardo Rebouças - Unscored
I will be even happier with Wasteland 3 once it’s patched and most of the bugs that bit me end up getting squashed. Even in its current state I’m having a grand ol’ time bringing some justice to the cold depths where no Ranger has dared to before. But for as much of a blast as I’m having out northeast in the cold, I hope I can make it back to sunny Arizona in time to save my fellow lawmen!
Eurogamer - Wesley Yin-Poole - Recommended
inXile's old-school RPG is the Fallout game we've been craving.
Fextralife - Castielle - 8.3 / 10
Wasteland 3 is a throwback to the old School RPGs of yesteryear, while providing a new combat experience and a bigger world. Players that liked previous Fallout Games, or games like Wasteland 2 or Baldur's Gate will feel right at home with this title, and will have the opportunity to try X-Com like combat. For the amount of content provided, 60 USD is a very good price, and fans of the genre should get more than their money's worth.
GAMES.CH - Nedžad Hurabašić - German - 83 / 100
Wasteland 3 is absolutely worth the money - the RPG brings dozens of hours of fun gameplay to the table. A must-buy for roleplayers.
Game Revolution - Jason Faulkner - 4 / 5 stars
Wasteland 3 is a marvel of a game, especially from a small studio like inExile. It’s not without its flaws, but the excellent writing and enthralling world overshadow those.
GameSkinny - Daniel Hollis - 9 / 10 stars
Wasteland 3 invokes feelings of classic RPGs such as Fallout and manages to nail the feel and tone perfectly in a modernized setting.
GameWatcher - Marcello Perricone - 8.5 / 10
A fantastic RPG that superbly mixes player choice and great combat to something bigger than the sum of its parts.
GamesRadar+ - Andrew King - 4 / 5 stars
Wasteland 3 doesn't bring much new to the table, both as a CRPG and as a piece of post-apocalyptic fiction. But, it's a terrifically executed role-playing game that rewards player investment from beginning to end.
GamingBolt - Ravi Sinha - 9 / 10
Wasteland 3 is a heady crescendo of post-apocalyptic story-telling. Its combat is compelling and fun while its characters and overall plot are engrossing, even when it goes to some dark places. A must-play for tactical RPG fans.
Gert Lush Gaming - Jim Smale - 9 / 10
Wasteland 3 is the defacto strategy experience and one that every gamer owes themself the pleasure of playing.
God is a Geek - Mick Fraser - 9.5 / 10
Wasteland 3 is a huge undertaking, marrying deep, choice-driven role play with fast-paced tactical combat and vast areas to explore.
IGN Spain - Álex Pareja - Spanish - 8 / 10
Wasteland 3 knows how to open to new players keeping the old school essence. It's not a revolution on the genre or in the post apocaliptic proposal, but it won't matter to the franchise lovers.
Niche Gamer - Cwb - 3.5 / 10
We’ll update this review if the game is fixed, and the issues outlined are fixed or at least addressed; and then I’ll pick it back up. As it stands now, I’ll be playing something else that isn’t as apt to crash. Buyer beware.
PC Gamer - Jody Macgregor - 84 / 100
A wilfully strange setting explored through a predictable but enjoyable old school RPG thats been streamlined just enough.
PC Invasion - Jason Rodriguez - 8.5 / 10
There are a few misgivings related to Wasteland 3's technical aspects, mechanics, and overall challenge. However, its cast of characters (both old and new), the switch to a traditional turn-based combat system, and branching paths filled with decisions and dire consequences make for a superb journey with the Desert Rangers.
PCGamesN - Gina Lees - 9 / 10
Lurid characters, a deep RPG system, and captivating combat set in an unhinged apocalypse - inXile Entertainment's latest shouldn't be missed.
Player2.net.au - Matt Hewson - A or higher
With a focus on freedom of choice that is second-to-none, Wasteland 3 has set the benchmark for CRPG narratives, all the while being supported by wonderfully engaging gameplay and roleplaying mechanics.
PowerUp! - Leo Stevenson - 9.7 / 10
If you’re an RPG fan, a Fallout fan or even just a videogame fan, do yourself a favour and play one of this year’s very best games; Wasteland 3.
Saving Content - Scott Ellison II - 5 / 5 stars
It took me a while to realize how much these interactions, whether it be the interpersonal conversation or combat encounters themselves, stuck with me. Wasteland 3 has rules, but they only exist for you to bend them. With limitless character creation combinations, branching dialogue choices that affect what quests you do or don’t experience, and multiple endings, Wasteland 3 is an expanse of content and opportunity. The change in locale does wonders, no longer relying on a tired post-apocalyptic biome. Wasteland 3 has a wonderful backdrop in Colorado’s frozen wastes, making it the perfect place to spend a nuclear winter.
Screen Rant - Christopher Teuton - 4 / 5 stars
Wasteland 3 takes players to a new location and presents them with equally unfamiliar challenges, yet still perfectly demonstrates all of the reasons why this series has had die-hard fans for over three decades, and is absolutely worth playing for anyone looking for their next post-apocalyptic fix.
Shacknews - Josh Hawkins - 9 / 10
If you’re a big fan of the original Wasteland games, or just an RPG fan in general, then I highly recommend picking up Wasteland 3 and giving it a try.
Spaziogames - Paolo Sirio - Italian - 8.3 / 10
Wasteland 3 doesn't change its predecessor's successful formula but, outside of certain design limitations, it perfects and modernizes it. It's easily the best game in the franchise, in terms of pure technique, and one that clearly gives you an idea of what inXile is able to achieve.
The Games Machine - Danilo Dellafrana - Italian - 8.7 / 10
Wasteland 3 is a good role-playing game, technically passable but enriched by a dense network of intriguing subplots that will push the most dedicated to play it several times. Watch out for the ever-present release bugs, though – best to wait a couple patches if you want to avoid unnecessary hurdles.
TrustedReviews - Alastair Stevenson - 4 / 5 stars
Wasteland 3 is a solid tactical RPG that will keep fans of the genre entertained for hours upon hours. But it doesn't do enough to bring the genre forward to a mainstream audience.
WayTooManyGames - Thomas Medina - 9 / 10
All in all, this is the game I wanted so badly for Wasteland 2 to be. It doesn’t just repeat what came before, but expands upon it all. Not just mechanically, but story wise as well.
Wccftech - Francesco De Meo - 9 / 10
Wasteland 3 features everything only the best role-playing games do: an engaging story powered by excellent writing, compelling characters, tons of customization options, and a deep tactical combat system that feels fresh even after dozens of hours. But, most of all, it features a living world that reacts to what the player does, and changes depending on how the player decides to deal with the troubles ahead, providing a role-playing experience of the highest degree, one that very few games can boast of.
Windows Central - Jez Corden - 5 / 5 stars
Wasteland 3 is a testament to the power of the branching narrative, taking it far beyond binary choices and into a grand canopy of cause and effect. It gives the wintry climbs of Colorado a lifelike quality that must have been painstaking to build. The most impressive RPG in years, Wasteland 3 is a masterpiece.
XboxEra - Jesse Norris - 9.7 / 10
Wasteland 3 shines with clear dedication to crafting the best game its genre has ever seen. Excellent visuals are matched by top notch voice work and some of the best and most natural writing I have seen in a video game not made by Naughty Dog. The combat is a brutal dance where one wrong move can spell disaster, but victory is an exhilarating rush that never becomes old. Wasteland 3 cements inXile as one of the best in the business in the RPG genre and affirms that Xbox has something truly special on their hands.
submitted by diogenesl to Games [link] [comments]

2.9.3 Stable update!

2.9.3 Stable update!
What is up Depthians!
We are back with another monstrous update as this one incorporates five beta test builds, so we have a lot to cover.
If you want to dive straight into the massive changelog/dissertation Click
We should probably start with the biggest change to From The Depths in this update and that is the change of fuel and ammo storage.
Quoting Nick, our lead developer
The change is quite simple: "remove ammo and fuel as separate resources. Weapons will consume materials directly, fuel engines and CJEs will burn materials directly".
Before I dig into why I think this is the right thing for FtD, I'd like to explain a few details.
Energy, fuel and ammo are still needed for your constructs.
We have changed the "ammo barrels (etc)" and "fuel tanks" so they are just alternative material storage containers, but with the following properties:
--"ammo barrels" now increase the maximum possible rate of usage of materials as "ammo" for reloading guns. They still explode.
--"fuel tanks" increase the maximum possible rate of use of materials as "fuel" for fuel engines and CJEs, with the future stretch goal of fuel tanks being flammable.
--So ammo racking is going to remain a feature of the game- vehicles that need to reload a large amount of materials may need additional ammo barrels
Ammo and oil processors are replaced ship-wide with existing material storage containers of the same size. They'll be made decorative blocks so you can still use them decoratively in future if you want to.
The oil refinery will be repurposed (described later in the patch notes)
There are two main reasons why I think this is the right move. Why it's right for the business and why it's right for the player.
Let's start with why I think it's right for the player:
Ammo and fuel containers are currently purchasable as either "empty or full". This is confusing when considered in the context of the campaign, story missions, custom battles, multiplayer matches...how do empty and full tanks behave in these modes? I'd need an hour to study the code and a small essay to explain it. That's not good game design.
Localised resources, when considering just the moving of material (and energy, if you want), becomes infinitely more manageable. The supply group system and the transit fleet system are not intuitive and for a lot of situations, their usage becomes fiddly and too complicated. We've replaced these systems with a new supply system that is much more intuitive for moving materials and energy around.
The UI is less cluttered now that ammo and fuel bars are not shown. This is not a minor point...it'll reduce the amount of data on screen by about 40% in a lot of the different views. It'll be so much easier to know at a glance if a particular fleet is running low on "materials" or doing fine. Is a transport ready to leave, or does it need to pick up more materials? Will a set of vehicles have enough materials for the next fight...this is so much easier with just one main resource type per vehicle.
When you or an enemy run out of ammo or fuel in a battle it's just frustrating. By combining fuel, ammo and materials for repairing you can guarantee that if someone runs out, the fight is going to be over quickly.
I imagine that deep down the majority of players would rather not have to create, stock and resupply fuel and ammo. I know that personally, the requirement to do this puts me off playing the campaign. By using a single material it still focuses the game on making efficient war machines, maintaining supply lines and growing your economy, but without the extra confusion of mat->ammo and mat-> fuel conversion.
Being able to assess weapons, engines and vehicles in terms of material cost and running cost is elegant.
Most grand strategy games and RTS games don't have localised resources, and many don't have more than 2 resource types to handle. Very few combine localised materials with multiple types.
Why it's right for the business:
The ammo and oil processors were created about 8 years ago. Boring single blocks that don't add much to the game. It's been our intention to add something similar to the oil refinery but for ammo creation. That's a lot of work and adds to the complexity of the logistical part of the game, which we feel is already a burden.
Making the localised resource supply system more user friendly to make it easy/natural/pleasant to move ammo, fuel and material around the map would require a lot of effort and, quite frankly, I'm not sure we'd ever manage it.
The complexity of the UI scares off a lot of our customers. The barriers to getting a gun firing or a boat moving will be lowered if a single material container can theoretically get everything working.
Running out of ammo/fuel in combat is a problem for our players. We want to find a solution to that, but it would take a lot of effort to do so. We also want the strategic AI to always enter a battle with enough ammo and fuel for the fight- that's another massive bunch of work.
The campaign's strategic AI has to work hard to get materials where it wants them. It's a bundle of work and added complexity to get NPC fleets to restock ammo and fuel as well.
We had proposed work to make resource dumps (from dead ships) contain ammo and fuel...again, that's more work, more bugs, more testing.
Certain game modes such as story missions, tournament mode, and multiplayer maps should theoretically allow the player to choose the amount of ammo or fuel stocked into their vehicles before the match begins. That's another bundle of work and added complexity we'd like to avoid.
Currently out of play units on the map can run out of fuel and will still continue to move "for free". It's exploitable and we don't have a solution to that...but if all the different out of play movement calculations are burning material, there will be no avoiding the cost.
The development effort can be much better spent polishing up other features that I actually believe in, rather than flogging the dead horse of logistical complexity in an attempt to make it interesting, approachable and fun for everyone (which I fundamentally don't think it would ever be).
Fundamentally I think that by winding back this feature we tie up a large number of loose ends and it results in a far more finished and enjoyable product.
And what's-more everyone on the development team agrees that we enjoy the game for fighting, looting and creating...not staring blankly at dozens of resource bars trying to figure out who needs to head back for more fuel and how long we need to wait for ammunition to process.
We've also simplified the resource transfer system. "Supply groups" and "Transit Fleets" have been replaced with a simple but comprehensive three-tier system. You can mark a vehicle as a "Creator", a "Cargo" or a "User". Creators fill up Cargos (and Users), Cargos give to Users (up to procurement levels). Users equalise their material with their neighbours, so do Creators, and there are a few handy transfers from Users back to Cargo and Creator to make sure they maintain their procurement levels as well. This system covers 95% of the way people were using the resource system and does it all semi-automatically. This simplification is much more possible now that materials are the only resource, as they invariably just need to flow from the resource zones to the front line, with everyone (Creators and Cargo) keeping what they need and passing the rest on. This new resource system also facilitates the long-range transport of materials from refinery to refinery, which is neat. The system also has an option, for Creator and Cargo types, to set their "supply chain index", so if you want to relay materials from output to output in order to accumulate them at a central location you can set the supply chain index to determine which way along the chain the materials will flow. It's all explained in the game.
After spending a lot of time with this new system from adventure to campaign and designer mode, the gameplay feels a little faster to get going and a little simpler for fleet management. As if you didn’t already know, you can shift+right click (with your supply construct selected) on the target construct / flagship of a fleet to keep supplied, keep holding down shift and right-click where you want to pick the resources up from and once again while not letting go of shift, shift+right click on the target construct/flag ship to finish the loop.
This would be done of course after setting up the settings Creator, Cargo and User.
Creator as an example is the harvesting construct, Cargo which would be the supply ship, User which would be a single target construct that uses the mats.
This will keep the supply ship target waypoint updated and therefore your supply ship will always head to the target construct no matter where it has moved to after setting up the loop.
You still need ammo and fuel boxes on your constructs, as these are governing the transfer rate / the speed that stock your turrets and fuel engine with the materials needed for them to run. You can run a construct without fuel or ammo boxes, however, once your APS clips are empty you will see a drop in your rate of fire as the material is not being transferred fast enough, this is the same for fuel engines and CJE.
Another change that goes hand in hand with resource management is the changes to fuel refineries.
In short:
Refineries on a force with greater than 1 million materials on it will begin refining the material into 'commodities' that are stored centrally. Commodities (AKA centralised materials) can be added by the player to any vehicle in allied territory, at any time.
Resource zones have a new feature too, and that is the ability to deactivate a resource zone on your owned tiles and if you own enough territory as you can see from the UI when double-clicking on the resource zone “Zone Deactivation”.
https://preview.redd.it/284w9khtt9t51.jpg?width=1920&format=pjpg&auto=webp&s=9dd61b06b2b6d0431bbb35c44a4d54563b81fbf0
Custom Jet Engines, have had some additional parts and new features.
We have the new ducted air intakes which as you can see have different attachment points
https://preview.redd.it/qaqeplmwt9t51.jpg?width=1920&format=pjpg&auto=webp&s=2ac2019d4b0c908019bf0ef0d53ad3a718fc4f4d
These ducted intakes allow you to have your CJE enclosed inside your construct enabling you to pass ducting through to access airflow outside.
https://preview.redd.it/pge1x43yt9t51.jpg?width=1920&format=pjpg&auto=webp&s=f2ee0cf35276f45feeb7320b29d844fa54776cdf
https://preview.redd.it/scych37zt9t51.jpg?width=1920&format=pjpg&auto=webp&s=1bf7559bc2379b692b7a318ba8f43708f5bba81e
And as you can see in the pic below they are enclosed and making use of the air duct intakes.
https://preview.redd.it/ucidv351u9t51.jpg?width=1920&format=pjpg&auto=webp&s=7d93e0c08d381fcaea2bcfc315c7b676f4006b51
You can also funnel the exhaust of your CJE's that would be under the waterline by using the two new connector blocks, a 90-degree corner and an extension piece which allows them to work as long as you funnel the exhaust out above the waterline.
https://preview.redd.it/aiofdee2u9t51.jpg?width=1920&format=pjpg&auto=webp&s=72c1dd2023195ef2337704d0547904031ad97e6c
PACs have also had a rework and new additions.
We now have the long-range lens which has a circular 10° field of fire, the close-range lens which has a circular 35° field of fire, the scatter lens which has a circular 30° field of fire, and the vertical lens which has a 10° horizontal / 60° vertical field of fire (good for AA). The other differences between them is the percentage of damage drop off at certain ranges, which is marked in their UI.
https://preview.redd.it/zvg2u0c5u9t51.jpg?width=1920&format=pjpg&auto=webp&s=567a2c4e092ea5fef62e67b051a74151e48b58d4
https://preview.redd.it/mboi63c5u9t51.jpg?width=1920&format=pjpg&auto=webp&s=78690d46df1466844cc38ff6b6623a30d910b726
One other awesome change to the PAC system is that melee lenses do not need to be hooked up to the now called long-range lens. Simply setup your melee head and snakey noodle PAC tubes with a terminator on the end, then link up to your other melee lens via Q in the drop-down menu. The scatter lens also deserves some attention here, as it can double up the number of beams if we increase the charge time max x4 at 30 seconds. The PAC system has had many tweaks which you should check up on in the changelogs.
Shields have also had some love. Projector shields reflect and laser scatter modes are now merged and have also had a slight buff to ricochet chance. Ring shields armour bonus has also increased by 50%.
We also have some new additions to APS in terms of coolers.
From left to right we now have an L shape, 4 way and a 5 way cooler.
https://preview.redd.it/lfi937e7u9t51.jpg?width=1920&format=pjpg&auto=webp&s=4ff99ceae914777137262754baa017300c2f4c1f
We now have some new wide wheel additions too for all you land vehicle lovers.
https://preview.redd.it/1ysi7u68u9t51.jpg?width=1920&format=pjpg&auto=webp&s=0760606aa3aebbde24a44fcb7319477453ee3b99
The next biggest change would be steam engines even though other changes will be implemented in this update. We are once again rehashing the whole system, which will be released in the following updates.
I had asked Weng a number of questions as to why the change was needed, why are the parts expensive, when and why would you use steam over fuel, and this is what he had to say:
Reason why steam changes are needed:
  • Steam was previously totally unbalanced and arbitrary. For example, 9 small boilers with 1 small piston was the optimal steam setup, which was more efficient and denser than almost all other engines; and turbine power generation only depended on its pressure, so compact turbines were always optimal.
  • It lacked many critical info in its UI.
  • It was hard to control the usage of steam

What's good with new steam:
  • A bit more of realism and complexity
  • Larger steam now generally have better efficiency and density than equivalent smaller steam
  • More useful info such as total power production, performance over time
  • Possibility to regulate steam usage with valves

Pros of steam compared to injector fuel:
  • Denser and more efficient
  • Even denser with turbines
  • Easier to fit into irregular space
  • Provides a buffer with flywheels or steam tanks
  • More efficient when used for propellers
  • Doesn't require fuel containers, uses material directly from any type of storage
  • Computationally less intensive
Cons of steam compared to fuel:

  • Still hard to regulate, so it's only useful when the power usage is constant or there's a buffer energy storage
  • Turbines waste energy when batteries are full
  • Crankshafts waste energy when reaching speed limit
  • More susceptible to damage (injector engines can often still run fine even when half of it is gone, steam can stop working when a single pipe is destroyed)
Why cost of parts is hilariously high: Steam engines have better efficiency and density (many players seem to forget that one) than injector engines. So a higher initial costs makes it less overpowered.
(In my opinion, the potential waste of energy is a major drawback of steam and justifies for its high potential power. But iirc Draba said that injector engines would be useless on designs that require a lot of power if steam doesn't have higher initial cost, which also makes sense.)
Problem with new steam that can't be fixed:
  • Many old designs are broken due to low power output
  • More complexity
Problems that can probably be fixed but I don't have a solution:
  • Inefficient steam engines are ridiculously bad (a bad steam engine is like 30 PPM and 50 PPV, while a good one is around 600 PPM and 110 PPV) (I tried to fix this and spent like 40 hours on that, but I only managed to make it easier to build a mediocre engine)
  • Cannot be simulated to calculate a stable power output, like fuel engines do (actually it's easy but would take a lot of time to do and I don't think it's necessary)

Another massive change is the detection rework which I also left a few questions for Ian AKA Blothorn to explain the system and how it works.
Why a change was warranted:
  • Different types of detection weren't well balanced--for instance, visual components had better accuracy than IR and vastly better range.
  • Detection autoadjust used an incorrect formula, so optimizing adjustment was both mechanical and tedious.
  • Trackers having much better detection ranges than search sensors meant that detection was very binary--if you could see something at all you could usually get a precise lock (barring ECM, which was only counterable by large numbers of components).
  • Needing both sensors and munitions warners made reactive missile defence difficult on small vehicles.
  • There were a number of other inconsistencies/imbalances, e.g. some visual/IR sensors working through water, steam engines producing no heat, etc.
Overview of the new system:
On the offensive side, each sensor type now has a role in which it is optimal, and large vehicles are best using a variety to cover their weaknesses. Visual probably remains the default for above-water detection--it remains impossible to reduce visual signature other than reducing size. IR is better against fast vehicles, as they have trouble avoiding high IR signatures from thrust and drag. Both visual and IR are weak in rangefinding (although coincidence rangefinders are adequate for most purposes); radar is correspondingly strong in range and weak in bearing, although it often offers better detection chances against vehicles that don't pay attention to radar stealth.
On the defensive side, there are two approaches. Most obvious is signature reduction--while it is deliberately difficult to avoid detection entirely, reducing signature reduces detection chances and thus degrades opposing accuracy. At short ranges, however, this doesn't work well--detection chances are likely high regardless, and low errors at short range mean even sparse detections can give a good fix. Smoke and chaff can be useful here: they increase detection chance while adding a distance-independent error to opponent's visual and radar sensors, respectively.
ECM, buoys, and radar guidance have also been reworked. Buoys are more powerful, becoming more accurate as they get closer to the target. While their base error is high, at long ranges a buoy at close range can beat the accuracy of any onboard sensor. If you worry about opponents’ buoys, ECM can now intermittently jam them--except if they are connected to their parent vehicle by a harpoon cable, in which case they don't need the vulnerable wireless connection.
Most blueprints should need no modifications under the new system, although a few may want a few more or less GPP cards. The one exception is water interactions--IR cameras, laser rangefinders, and retroreflection sensors can no longer work through water, so submarines that used them underwater or vehicles that used them to detect submarines will need to replace them (likely with buoys). Vehicles that predominantly used visual detection should also consider adding a greater variety of sensors--in particular, visual camera trackers tied to AA mainframes should likely be replaced with IR cameras. Also, radars and cameras can take over missile and projectile detection (radar is required for projectile detection), so munitions warners can be removed/replaced with additional sensors.
Last but not least a sweet little addition to our build menu prefabs.
https://preview.redd.it/iqw1ymabu9t51.png?width=1920&format=png&auto=webp&s=aa1e3cdba6e1d62e07aef83caf0acad2a39249ed
Please do make sure you go through the changelog as a hell of a lot has changed!
submitted by BaconsTV to FromTheDepths [link] [comments]

How to prevent customer cancellations

Customer retention is a goal every business owner should be obsessed with. At the end of the day it's cheaper to retain an existing customer than it is to acquire a new one.
But how do you ensure that your customers keep using your service?
Are there any simple, yet effective ways to reduce or even prevent churn?
As it turns out there's one simple strategy you can use to keep your customers around even if they're about to leave your platform. Let's explore what it is and why it works.

Why you should obsess over customer retention

As already stated in the introduction it's important to focus on customer retention when building a sustainable business.
Acquiring customers can be an expensive endeavour. If you're not (yet) in a position where your product grows through Word-of-Mouth you're likely spending a good portion of your revenue on paid ads and marketing to drive traffic to your service. Only a few of your thousands of visitors will eventually try your product and convert to become a paying customer.
Optimizing this marketing and sales funnel is a tricky and costly activity. Think about it for a minute. Who finances your learnings and tweakings of such funnel? Correct, your existing customers.
That's why keeping your users happy and around is one of the most important business objectives.

Why customers are churning

If you think about it, there's really only one reason why your customers are leaving your platform:
Your product isn't a crucial part of their life anymore
While this sounds harsh I'd like you to think about all the services you're currently subscribing to. Now imagine that you can only keep one. What would you cancel? Probably everything except the one you can't live without.
Of course, the preferences are different from person to person and they change over time. And that's the exact reason why people cancel their subscription with your service: Their preferences have changed and they might want to take a pause from your service or need something else entirely.

"Churn Baby Churn"

Now that we know why your customers churn, it's time to get into their shoes and think about ways to keep them around.
One of the "industry" standards is to send out a survey once they're about to leave to gather feedback and convince them to stay. Some services offer coupon codes if for example the user has clicked on the "it's too expensive" option in the survey.
Other tactics are more on the "dark patterns" side of things. Hiding buttons, asking double negative questions or using other techniques to make it nearly impossible to leave. Needless to say that customers of businesses practicing such tactics aren't the ones who spread the word on how awesome the product is. Quite the opposite.
But let's take a step back for a minute and ask ourselves why this "should I stay or should I go" question has to be binary in the first place. Isn't there something "right in the middle"? Something where a user can stay but somehow go at the same time?

"Wait a minute... or a month..."

The solution to this dilemma is dead simple and obvious, yet rarely used: Make it possible to pause the subscription.
Yes, it's that simple. Just offer a way to pause a subscription and get back to it once your users current circumstances have changed.
Now you might think that it's a really bad idea to let users pause their subscription. They'll pause and never come back. So essentially it's a "passive churn" as they haven't left the platform yet but might never use it again. The stale user data is sitting in the database and your dashboards are still showing hockey-stick growth. Furthermore it's a huge implementation effort as pausing and resuming subscriptions isn't something considered business critical and hence wasn't implemented just yet.
Those are all valid concerns and some of them might turn out to be true even if you have a "pause- and resume your subscription" system in place. But let's take a seconds to look at the other side of the equation.

Why pausing is a good idea

They very first thing that comes to mind is the COVID-19 pandemic we're currently in. A lot of business scaled back and hence had to cancel subscriptions to their favorite SaaS tools to cut costs. A common "save the customer tactic" used here was to get in touch with the business owner and offer heavy discounted year long subscription plans. That way businesses could reassess if they should really quit and leave the huge discount on the table or just go with it and double down to benefit from the sweet, discounted multi-year subscription deal.
Letting business put their subscription on hold would be another strategy that could be used to help retain and eventually reactivate your users during this pandemic. Put yourself into your customers shoes again for a minute. Wouldn't you want to pay it back in the future if your supplier lent you a helping hand and wasn't "forcing" you out the door?
Even if your customers pause their account you still have their E-Mail address to reach out to them and keep them informed about your product. In fact you should use this opportunity to stay in touch, ask them how they're doing and providing something of value along the way. That way you keep the communication "warm" and your business stays on "their radar". There's a higher likelihood that they think about your service when times have changed and they're about to scale things up again.
Having a way to pause a subscription is an action that's usually taken with some level of consideration. If your customer wants to quit (s)he'll just cancel the subscription anyway. Offering a way to pause for the time-being is another option your users might just not have right now, so they're forced to make a very binary decision and therefore they just quit.
What you should also think about is that pausing a subscription doesn't necessarily mean that you'll lose revenue for sure. There are different and very creative ways in which you can implement the pause. My gym for example simply extends my membership for the amount of months I put my membership on hold. In the summer I make use of this feature since I do my workouts outside anyways. However those 3-4 months I "save" are simply "added" to my contract. I just have a little bit more control about how and where I spend my time with sports. You can get really creative here and invent other ways for this mechanism to work if you really want to ensure that you don't lose revenue.
A last, important point is that you can use this functionality as a competitive advantage and "marketing material". Be sure to add the fact that people can pause their subscription to your list of product benefits. Add it to the copy right next to your "Subscribe Now" button. Addressing objections and concerns right before the call-to-action is about to happen will drastically increase your conversion rates.

Things to keep in mind when going down that path

Now you might be excited and eager to implement this strategy in the near future but before you do so I'd like to call out a couple of things you should keep in mind when implementing it.
First of all: Keep it simple. There's no need to jump right into code and implement this functionality end-to-end. Do it manually in the beginning. Update the database records and the subscription plans for people who want to pause their subscription by hand. Maybe you find out that very few people want to make use of this feature. What you definitely want to put in place is your new copywriting. As discussed above you should ensure that your marketing website is updated and reflects the recent change you just introduced.
Next up you want to have an automated follow-up E-Mail sequence / Drip campaign setup for pausing customers. Keep in touch. Ask for problems they had with your software and help them succeed in whatever they're up to right now. You might want to jump on a quick call to gather some feedback as to why they paused and understand what needs to be in place for them to come back. If you do this, please ensure that you're genuinely interested in the communication. There's nothing worse for a user than composing a reply and shooting the E-Mail into the marketing void.
A very important, yet often overlooked step is to have a tool in place which deals with "passive churn". Such a system ensures that the credit cards on file are up to date and chargeable. There could be an overlap between your users pausing their subscription and their credit cards expiring. You don't want to make them look bad because of that. You could even think about a "concierge service" which onboards them in person once they'll come back. Combine this with a quick update on all the new features / updates they missed and are not yet familiar with.
Lastly you absolutely don't want to make it hard for your users to pause their subscription. As mentioned above, avoid dark patterns at all costs. And more importantly: Don't penalize them for pausing. Messages such as "We'll retain your data for the next 60 days" are inappropriate in the day and age of "Big Data" and access to Petabytes of storage for a nickel and dime.

Your challenge

I'd like to challenge you to think about adding the possibility to pause a subscription. Is it suitable for your business? Would it help you retain and reactive more customers (especially in the current situation we're in)?
If you're about to add it, keep in mind that it doesn't have to be complicated. Start with a simple E-Mail form your users can fill out to let you know for how long they want to pause. Just make sure that you follow the best practices outlined above and that you advertise that it's now possible for your customers to pause their subscriptions.

Conclusion

Customer retention is one of the most important metrics every business owner should focus on. It's the existing customers who finance the Customer Acquisition Costs that are necessary to bring new users into the door.
It's almost always cheaper to keep your existing customers happy than to lose them and acquire brand new ones.
Unfortunately a lot of SaaS services only offer a very binary option for their subscription plans. As a user you're either in or you're out. You stay or you leave. But what if a user wants to take a pause for a few months because of current changes in life circumstances?
Offering a way to pause a subscription is a simple, yet effective way to retain and eventually reactive your existing customers. Remember that a pause is temporary. If you follow-up with them on a continuous basis and help them succeed they'll eventually come back. Maybe even as a raving, more loyal fan of your brand.
I hope that you enjoyed this article and I'd love to invite you to subscribe to my Newsletter if you're interested in more, action-oriented posts like this.
Do you have any questions, feedback or comments? Feel free to reach out via E-Mail or connect with me on Twitter.
This post was originally published on philippmuens.com
submitted by pmuens to indiebiz [link] [comments]

How to prevent customer cancellations

Customer retention is a goal every business owner should be obsessed with. At the end of the day it's cheaper to retain an existing customer than it is to acquire a new one.
But how do you ensure that your customers keep using your service?
Are there any simple, yet effective ways to reduce or even prevent churn?
As it turns out there's one simple strategy you can use to keep your customers around even if they're about to leave your platform. Let's explore what it is and why it works.

Why you should obsess over customer retention

As already stated in the introduction it's important to focus on customer retention when building a sustainable business.
Acquiring customers can be an expensive endeavour. If you're not (yet) in a position where your product grows through Word-of-Mouth you're likely spending a good portion of your revenue on paid ads and marketing to drive traffic to your service. Only a few of your thousands of visitors will eventually try your product and convert to become a paying customer.
Optimizing this marketing and sales funnel is a tricky and costly activity. Think about it for a minute. Who finances your learnings and tweakings of such funnel? Correct, your existing customers.
That's why keeping your users happy and around is one of the most important business objectives.

Why customers are churning

If you think about it, there's really only one reason why your customers are leaving your platform:
Your product isn't a crucial part of their life anymore
While this sounds harsh I'd like you to think about all the services you're currently subscribing to. Now imagine that you can only keep one. What would you cancel? Probably everything except the one you can't live without.
Of course, the preferences are different from person to person and they change over time. And that's the exact reason why people cancel their subscription with your service: Their preferences have changed and they might want to take a pause from your service or need something else entirely.

"Churn Baby Churn"

Now that we know why your customers churn, it's time to get into their shoes and think about ways to keep them around.
One of the "industry" standards is to send out a survey once they're about to leave to gather feedback and convince them to stay. Some services offer coupon codes if for example the user has clicked on the "it's too expensive" option in the survey.
Other tactics are more on the "dark patterns" side of things. Hiding buttons, asking double negative questions or using other techniques to make it nearly impossible to leave. Needless to say that customers of businesses practicing such tactics aren't the ones who spread the word on how awesome the product is. Quite the opposite.
But let's take a step back for a minute and ask ourselves why this "should I stay or should I go" question has to be binary in the first place. Isn't there something "right in the middle"? Something where a user can stay but somehow go at the same time?

"Wait a minute... or a month..."

The solution to this dilemma is dead simple and obvious, yet rarely used: Make it possible to pause the subscription.
Yes, it's that simple. Just offer a way to pause a subscription and get back to it once your users current circumstances have changed.
Now you might think that it's a really bad idea to let users pause their subscription. They'll pause and never come back. So essentially it's a "passive churn" as they haven't left the platform yet but might never use it again. The stale user data is sitting in the database and your dashboards are still showing hockey-stick growth. Furthermore it's a huge implementation effort as pausing and resuming subscriptions isn't something considered business critical and hence wasn't implemented just yet.
Those are all valid concerns and some of them might turn out to be true even if you have a "pause- and resume your subscription" system in place. But let's take a seconds to look at the other side of the equation.

Why pausing is a good idea

They very first thing that comes to mind is the COVID-19 pandemic we're currently in. A lot of business scaled back and hence had to cancel subscriptions to their favorite SaaS tools to cut costs. A common "save the customer tactic" used here was to get in touch with the business owner and offer heavy discounted year long subscription plans. That way businesses could reassess if they should really quit and leave the huge discount on the table or just go with it and double down to benefit from the sweet, discounted multi-year subscription deal.
Letting business put their subscription on hold would be another strategy that could be used to help retain and eventually reactivate your users during this pandemic. Put yourself into your customers shoes again for a minute. Wouldn't you want to pay it back in the future if your supplier lent you a helping hand and wasn't "forcing" you out the door?
Even if your customers pause their account you still have their E-Mail address to reach out to them and keep them informed about your product. In fact you should use this opportunity to stay in touch, ask them how they're doing and providing something of value along the way. That way you keep the communication "warm" and your business stays on "their radar". There's a higher likelihood that they think about your service when times have changed and they're about to scale things up again.
Having a way to pause a subscription is an action that's usually taken with some level of consideration. If your customer wants to quit (s)he'll just cancel the subscription anyway. Offering a way to pause for the time-being is another option your users might just not have right now, so they're forced to make a very binary decision and therefore they just quit.
What you should also think about is that pausing a subscription doesn't necessarily mean that you'll lose revenue for sure. There are different and very creative ways in which you can implement the pause. My gym for example simply extends my membership for the amount of months I put my membership on hold. In the summer I make use of this feature since I do my workouts outside anyways. However those 3-4 months I "save" are simply "added" to my contract. I just have a little bit more control about how and where I spend my time with sports. You can get really creative here and invent other ways for this mechanism to work if you really want to ensure that you don't lose revenue.
A last, important point is that you can use this functionality as a competitive advantage and "marketing material". Be sure to add the fact that people can pause their subscription to your list of product benefits. Add it to the copy right next to your "Subscribe Now" button. Addressing objections and concerns right before the call-to-action is about to happen will drastically increase your conversion rates.

Things to keep in mind when going down that path

Now you might be excited and eager to implement this strategy in the near future but before you do so I'd like to call out a couple of things you should keep in mind when implementing it.
First of all: Keep it simple. There's no need to jump right into code and implement this functionality end-to-end. Do it manually in the beginning. Update the database records and the subscription plans for people who want to pause their subscription by hand. Maybe you find out that very few people want to make use of this feature. What you definitely want to put in place is your new copywriting. As discussed above you should ensure that your marketing website is updated and reflects the recent change you just introduced.
Next up you want to have an automated follow-up E-Mail sequence / Drip campaign setup for pausing customers. Keep in touch. Ask for problems they had with your software and help them succeed in whatever they're up to right now. You might want to jump on a quick call to gather some feedback as to why they paused and understand what needs to be in place for them to come back. If you do this, please ensure that you're genuinely interested in the communication. There's nothing worse for a user than composing a reply and shooting the E-Mail into the marketing void.
A very important, yet often overlooked step is to have a tool in place which deals with "passive churn". Such a system ensures that the credit cards on file are up to date and chargeable. There could be an overlap between your users pausing their subscription and their credit cards expiring. You don't want to make them look bad because of that. You could even think about a "concierge service" which onboards them in person once they'll come back. Combine this with a quick update on all the new features / updates they missed and are not yet familiar with.
Lastly you absolutely don't want to make it hard for your users to pause their subscription. As mentioned above, avoid dark patterns at all costs. And more importantly: Don't penalize them for pausing. Messages such as "We'll retain your data for the next 60 days" are inappropriate in the day and age of "Big Data" and access to Petabytes of storage for a nickel and dime.

Your challenge

I'd like to challenge you to think about adding the possibility to pause a subscription. Is it suitable for your business? Would it help you retain and reactive more customers (especially in the current situation we're in)?
If you're about to add it, keep in mind that it doesn't have to be complicated. Start with a simple E-Mail form your users can fill out to let you know for how long they want to pause. Just make sure that you follow the best practices outlined above and that you advertise that it's now possible for your customers to pause their subscriptions.

Conclusion

Customer retention is one of the most important metrics every business owner should focus on. It's the existing customers who finance the Customer Acquisition Costs that are necessary to bring new users into the door.
It's almost always cheaper to keep your existing customers happy than to lose them and acquire brand new ones.
Unfortunately a lot of SaaS services only offer a very binary option for their subscription plans. As a user you're either in or you're out. You stay or you leave. But what if a user wants to take a pause for a few months because of current changes in life circumstances?
Offering a way to pause a subscription is a simple, yet effective way to retain and eventually reactive your existing customers. Remember that a pause is temporary. If you follow-up with them on a continuous basis and help them succeed they'll eventually come back. Maybe even as a raving, more loyal fan of your brand.
I hope that you enjoyed this article and I'd love to invite you to subscribe to my Newsletter if you're interested in more, action-oriented posts like this.
Do you have any questions, feedback or comments? Feel free to reach out via E-Mail or connect with me on Twitter.
This post was originally published on philippmuens.com
submitted by pmuens to Entrepreneurship [link] [comments]

MAME 0.222

MAME 0.222

MAME 0.222, the product of our May/June development cycle, is ready today, and it’s a very exciting release. There are lots of bug fixes, including some long-standing issues with classics like Bosconian and Gaplus, and missing pan/zoom effects in games on Seta hardware. Two more Nintendo LCD games are supported: the Panorama Screen version of Popeye, and the two-player Donkey Kong 3 Micro Vs. System. New versions of supported games include a review copy of DonPachi that allows the game to be paused for photography, and a version of the adult Qix game Gals Panic for the Taiwanese market.
Other advancements on the arcade side include audio circuitry emulation for 280-ZZZAP, and protection microcontroller emulation for Kick and Run and Captain Silver.
The GRiD Compass series were possibly the first rugged computers in the clamshell form factor, possibly best known for their use on NASA space shuttle missions in the 1980s. The initial model, the Compass 1101, is now usable in MAME. There are lots of improvements to the Tandy Color Computer drivers in this release, with better cartridge support being a theme. Acorn BBC series drivers now support Solidisk file system ROMs. Writing to IMD floppy images (popular for CP/M computers) is now supported, and a critical bug affecting writes to HFE disk images has been fixed. Software list additions include a collection of CDs for the SGI MIPS workstations.
There are several updates to Apple II emulation this month, including support for several accelerators, a new IWM floppy controller core, and support for using two memory cards simultaneously on the CFFA2. As usual, we’ve added the latest original software dumps and clean cracks to the software lists, including lots of educational titles.
Finally, the memory system has been optimised, yielding performance improvements in all emulated systems, you no longer need to avoid non-ASCII characters in paths when using the chdman tool, and jedutil supports more devices.
There were too many HyperScan RFID cards added to the software list to itemise them all here. You can read about all the updates in the whatsnew.txt file, or get the source and 64-bit Windows binary packages from the download page.

MAME Testers Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

submitted by cuavas to emulation [link] [comments]

AJ ALMENDINGER

glimpse into the future of Roblox

Our vision to bring the world together through play has never been more relevant than it is now. As our founder and CEO, David Baszucki (a.k.a. Builderman), mentioned in his keynote, more and more people are using Roblox to stay connected with their friends and loved ones. He hinted at a future where, with our automatic machine translation technology, Roblox will one day act as a universal translator, enabling people from different cultures and backgrounds to connect and learn from each other.
During his keynote, Builderman also elaborated upon our vision to build the Metaverse; the future of avatar creation on the platform (infinitely customizable avatars that allow any body, any clothing, and any animation to come together seamlessly); more personalized game discovery; and simulating large social gatherings (like concerts, graduations, conferences, etc.) with tens of thousands of participants all in one server. We’re still very early on in this journey, but if these past five months have shown us anything, it’s clear that there is a growing need for human co-experience platforms like Roblox that allow people to play, create, learn, work, and share experiences together in a safe, civil 3D immersive space.
Up next, our VP of Developer Relations, Matt Curtis (a.k.a. m4rrh3w), shared an update on all the things we’re doing to continue empowering developers to create innovative and exciting content through collaboration, support, and expertise. He also highlighted some of the impressive milestones our creator community has achieved since last year’s RDC. Here are a few key takeaways:
And lastly, our VP of Engineering, Technology, Adam Miller (a.k.a. rbadam), unveiled a myriad of cool and upcoming features developers will someday be able to sink their teeth into. We saw a glimpse of procedural skies, skinned meshes, more high-quality materials, new terrain types, more fonts in Studio, a new asset type for in-game videos, haptic feedback on mobile, real-time CSG operations, and many more awesome tools that will unlock the potential for even bigger, more immersive experiences on Roblox.

Vibin’

Despite the virtual setting, RDC just wouldn’t have been the same without any fun party activities and networking opportunities. So, we invited special guests DJ Hyper Potions and cyber mentalist Colin Cloud for some truly awesome, truly mind-bending entertainment. Yoga instructor Erin Gilmore also swung by to inspire attendees to get out of their chair and get their body moving. And of course, we even had virtual rooms dedicated to karaoke and head-to-head social games, like trivia and Pictionary.
Over on the networking side, Team Adopt Me, Red Manta, StyLiS Studios, and Summit Studios hosted a virtual booth for attendees to ask questions, submit resumes, and more. We also had a networking session where three participants would be randomly grouped together to get to know each other.

What does Roblox mean to you?

We all know how talented the Roblox community is from your creations. We’ve heard plenty of stories over the years about how Roblox has touched your lives, how you’ve made friendships, learned new skills, or simply found a place where you can be yourself. We wanted to hear more. So, we asked attendees: What does Roblox mean to you? How has Roblox connected you? How has Roblox changed your life? Then, over the course of RDC, we incorporated your responses into this awesome mural.
📷
Created by Alece Birnbach at Graphic Recording Studio

Knowledge is power

This year’s breakout sessions included presentations from Roblox developers and staff members on the latest game development strategies, a deep dive into the Roblox engine, learning how to animate with Blender, tools for working together in teams, building performant game worlds, and the new Creator Dashboard. Dr. Michael Rich, Associate Professor at Harvard Medical School and Physician at Boston Children’s Hospital, also led attendees through a discussion on mental health and how to best take care of you and your friends’ emotional well-being, especially now during these challenging times.
📷
Making the Dream Work with Teamwork (presented by Roblox developer Myzta)
In addition to our traditional Q&A panel with top product and engineering leaders at Roblox, we also held a special session with Builderman himself to answer the community’s biggest questions.
📷
Roblox Product and Engineering Q&A Panel

2020 Game Jam

The Game Jam is always one of our favorite events of RDC. It’s a chance for folks to come together, flex their development skills, and come up with wildly inventive game ideas that really push the boundaries of what’s possible on Roblox. We had over 60 submissions this year—a new RDC record.
Once again, teams of up to six people from around the world had less than 24 hours to conceptualize, design, and publish a game based on the theme “2020 Vision,” all while working remotely no less! To achieve such a feat is nothing short of awe-inspiring, but as always, our dev community was more than up for the challenge. I’ve got to say, these were some of the finest creations we’ve seen.
WINNERS
Best in Show: Shapescape Created By: GhettoMilkMan, dayzeedog, maplestick, theloudscream, Brick_man, ilyannna You awaken in a strange laboratory, seemingly with no way out. Using a pair of special glasses, players must solve a series of anamorphic puzzles and optical illusions to make their escape.
Excellence in Visual Art: agn●sia Created By: boatbomber, thisfall, Elttob An obby experience unlike any other, this game is all about seeing the world through a different lens. Reveal platforms by switching between different colored lenses and make your way to the end.
Most Creative Gameplay: Visions of a perspective reality Created By: Noble_Draconian and Spathi Sometimes all it takes is a change in perspective to solve challenges. By switching between 2D and 3D perspectives, players can maneuver around obstacles or find new ways to reach the end of each level.
Outstanding Use of Tech: The Eyes of Providence Created By: Quenty, Arch_Mage, AlgyLacey, xJennyBeanx, Zomebody, Crykee This action/strategy game comes with a unique VR twist. While teams fight to construct the superior monument, two VR players can support their minions by collecting resources and manipulating the map.
Best Use of Theme: Sticker Situation Created By: dragonfrosting and Yozoh Set in a mysterious art gallery, players must solve puzzles by manipulating the environment using a magic camera and stickers. Snap a photograph, place down a sticker, and see how it changes the world.
OTHER TOP PICKS
HONORABLE MENTIONS
For the rest of the 2020 Game Jam submissions, check out the list below:
20-20 Vision | 20/20 Vision | 2020 Vision, A Crazy Perspective | 2020 Vision: Nyon | A Wild Trip! | Acuity | Best Year Ever | Better Half | Bloxlabs | Climb Stairs to 2021 | Double Vision (Team hey apple) | Eyebrawl | Eyeworm Exam | FIRE 2020 | HACKED | Hyperspective | Lucid Scream | Mystery Mansion | New Years at the Museum | New Year’s Bash | Poor Vision | Predict 2020 | RBC News | Retrovertigo | Second Wave | see no evil | Sight Fight | Sight Stealers | Spectacles Struggle | Specter Spectrum | Survive 2020 | The Lost Chicken Leg | The Outbreak | The Spyglass | Time Heist | Tunnel Vision | Virtual RDC – The Story | Vision (Team Freepunk) | Vision (Team VIP People ####) | Vision Developers Conference 2020 | Vision Is Key | Vision Perspective | Vision Racer | Visions | Zepto
And last but not least, we wanted to give a special shout out to Starboard Studios. Though they didn’t quite make it on time for our judges, we just had to include Dave’s Vision for good measure. 📷
Thanks to everyone who participated in the Game Jam, and congrats to all those who took home the dub in each of our categories this year. As the winners of Best in Show, the developers of Shapescape will have their names forever engraved on the RDC Game Jam trophy back at Roblox HQ. Great work!

‘Til next year

And that about wraps up our coverage of the first-ever digital RDC. Thanks to all who attended! Before we go, we wanted to share a special “behind the scenes” video from the 2020 RDC photoshoot.
Check it out:
It was absolutely bonkers. Getting 350 of us all in one server was so much fun and really brought back the feeling of being together with everyone again. That being said, we can’t wait to see you all—for real this time—at RDC next year. It’s going to be well worth the wait. ‘Til we meet again, my friends.
© 2020 Roblox Corporation. All Rights Reserved.

Improving Simulation and Performance with an Advanced Physics Solver

August

05, 2020

by chefdeletat
PRODUCT & TECH
📷In mid-2015, Roblox unveiled a major upgrade to its physics engine: the Projected Gauss-Seidel (PGS) physics solver. For the first year, the new solver was optional and provided improved fidelity and greater performance compared to the previously used spring solver.
In 2016, we added support for a diverse set of new physics constraints, incentivizing developers to migrate to the new solver and extending the creative capabilities of the physics engine. Any new places used the PGS solver by default, with the option of reverting back to the classic solver.
We ironed out some stability issues associated with high mass differences and complex mechanisms by the introduction of the hybrid LDL-PGS solver in mid-2018. This made the old solver obsolete, and it was completely disabled in 2019, automatically migrating all places to the PGS.
In 2019, the performance was further improved using multi-threading that splits the simulation into jobs consisting of connected islands of simulating parts. We still had performance issues related to the LDL that we finally resolved in early 2020.
The physics engine is still being improved and optimized for performance, and we plan on adding new features for the foreseeable future.

Implementing the Laws of Physics

📷
The main objective of a physics engine is to simulate the motion of bodies in a virtual environment. In our physics engine, we care about bodies that are rigid, that collide and have constraints with each other.
A physics engine is organized into two phases: collision detection and solving. Collision detection finds intersections between geometries associated with the rigid bodies, generating appropriate collision information such as collision points, normals and penetration depths. Then a solver updates the motion of rigid bodies under the influence of the collisions that were detected and constraints that were provided by the user.
📷
The motion is the result of the solver interpreting the laws of physics, such as conservation of energy and momentum. But doing this 100% accurately is prohibitively expensive, and the trick to simulating it in real-time is to approximate to increase performance, as long as the result is physically realistic. As long as the basic laws of motion are maintained within a reasonable tolerance, this tradeoff is completely acceptable for a computer game simulation.

Taking Small Steps

The main idea of the physics engine is to discretize the motion using time-stepping. The equations of motion of constrained and unconstrained rigid bodies are very difficult to integrate directly and accurately. The discretization subdivides the motion into small time increments, where the equations are simplified and linearized making it possible to solve them approximately. This means that during each time step the motion of the relevant parts of rigid bodies that are involved in a constraint is linearly approximated.
📷📷
Although a linearized problem is easier to solve, it produces drift in a simulation containing non-linear behaviors, like rotational motion. Later we’ll see mitigation methods that help reduce the drift and make the simulation more plausible.

Solving

📷
Having linearized the equations of motion for a time step, we end up needing to solve a linear system or linear complementarity problem (LCP). These systems can be arbitrarily large and can still be quite expensive to solve exactly. Again the trick is to find an approximate solution using a faster method. A modern method to approximately solve an LCP with good convergence properties is the Projected Gauss-Seidel (PGS). It is an iterative method, meaning that with each iteration the approximate solution is brought closer to the true solution, and its final accuracy depends on the number of iterations.
📷
This animation shows how a PGS solver changes the positions of the bodies at each step of the iteration process, the objective being to find the positions that respect the ball and socket constraints while preserving the center of mass at each step (this is a type of positional solver used by the IK dragger). Although this example has a simple analytical solution, it’s a good demonstration of the idea behind the PGS. At each step, the solver fixes one of the constraints and lets the other be violated. After a few iterations, the bodies are very close to their correct positions. A characteristic of this method is how some rigid bodies seem to vibrate around their final position, especially when coupling interactions with heavier bodies. If we don’t do enough iterations, the yellow part might be left in a visibly invalid state where one of its two constraints is dramatically violated. This is called the high mass ratio problem, and it has been the bane of physics engines as it causes instabilities and explosions. If we do too many iterations, the solver becomes too slow, if we don’t it becomes unstable. Balancing the two sides has been a painful and long process.

Mitigation Strategies

📷A solver has two major sources of inaccuracies: time-stepping and iterative solving (there is also floating point drift but it’s minor compared to the first two). These inaccuracies introduce errors in the simulation causing it to drift from the correct path. Some of this drift is tolerable like slightly different velocities or energy loss, but some are not like instabilities, large energy gains or dislocated constraints.
Therefore a lot of the complexity in the solver comes from the implementation of methods to minimize the impact of computational inaccuracies. Our final implementation uses some traditional and some novel mitigation strategies:
  1. Warm starting: starting with the solution from a previous time-step to increase the convergence rate of the iterative solver
  2. Post-stabilization: reprojecting the system back to the constraint manifold to prevent constraint drift
  3. Regularization: adding compliance to the constraints ensuring a solution exists and is unique
  4. Pre-conditioning: using an exact solution to a linear subsystem, improving the stability of complex mechanisms
Strategies 1, 2 and 3 are pretty traditional, but 3 has been improved and perfected by us. Also, although 4 is not unheard of, we haven’t seen any practical implementation of it. We use an original factorization method for large sparse constraint matrices and a new efficient way of combining it with the PGS. The resulting implementation is only slightly slower compared to pure PGS but ensures that the linear system coming from equality constraints is solved exactly. Consequently, the equality constraints suffer only from drift coming from the time discretization. Details on our methods are contained in my GDC 2020 presentation. Currently, we are investigating direct methods applied to inequality constraints and collisions.

Getting More Details

Traditionally there are two mathematical models for articulated mechanisms: there are reduced coordinate methods spearheaded by Featherstone, that parametrize the degrees of freedom at each joint, and there are full coordinate methods that use a Lagrangian formulation.
We use the second formulation as it is less restrictive and requires much simpler mathematics and implementation.
The Roblox engine uses analytical methods to compute the dynamic response of constraints, as opposed to penalty methods that were used before. Analytics methods were initially introduced in Baraff 1989, where they are used to treat both equality and non-equality constraints in a consistent manner. Baraff observed that the contact model can be formulated using quadratic programming, and he provided a heuristic solution method (which is not the method we use in our solver).
Instead of using force-based formulation, we use an impulse-based formulation in velocity space, originally introduced by Mirtich-Canny 1995 and further improved by Stewart-Trinkle 1996, which unifies the treatment of different contact types and guarantees the existence of a solution for contacts with friction. At each timestep, the constraints and collisions are maintained by applying instantaneous changes in velocities due to constraint impulses. An excellent explanation of why impulse-based simulation is superior is contained in the GDC presentation of Catto 2014.
The frictionless contacts are modeled using a linear complementarity problem (LCP) as described in Baraff 1994. Friction is added as a non-linear projection onto the friction cone, interleaved with the iterations of the Projected Gauss-Seidel.
The numerical drift that introduces positional errors in the constraints is resolved using a post-stabilization technique using pseudo-velocities introduced by Cline-Pai 2003. It involves solving a second LCP in the position space, which projects the system back to the constraint manifold.
The LCPs are solved using a PGS / Impulse Solver popularized by Catto 2005 (also see Catto 2009). This method is iterative and considers each individual constraints in sequence and resolves it independently. Over many iterations, and in ideal conditions, the system converges to a global solution.
Additionally, high mass ratio issues in equality constraints are ironed out by preconditioning the PGS using the sparse LDL decomposition of the constraint matrix of equality constraints. Dense submatrices of the constraint matrix are sparsified using a method we call Body Splitting. This is similar to the LDL decomposition used in Baraff 1996, but allows more general mechanical systems, and solves the system in constraint space. For more information, you can see my GDC 2020 presentation.
The architecture of our solver follows the idea of Guendelman-Bridson-Fedkiw, where the velocity and position stepping are separated by the constraint resolution. Our time sequencing is:
  1. Advance velocities
  2. Constraint resolution in velocity space and position space
  3. Advance positions
This scheme has the advantage of integrating only valid velocities, and limiting latency in external force application but allowing a small amount of perceived constraint violation due to numerical drift.
An excellent reference for rigid body simulation is the book Erleben 2005 that was recently made freely available. You can find online lectures about physics-based animation, a blog by Nilson Souto on building a physics engine, a very good GDC presentation by Erin Catto on modern solver methods, and forums like the Bullet Physics Forum and GameDev which are excellent places to ask questions.

In Conclusion

The field of game physics simulation presents many interesting problems that are both exciting and challenging. There are opportunities to learn a substantial amount of cool mathematics and physics and to use modern optimizations techniques. It’s an area of game development that tightly marries mathematics, physics and software engineering.
Even if Roblox has a good rigid body physics engine, there are areas where it can be improved and optimized. Also, we are working on exciting new projects like fracturing, deformation, softbody, cloth, aerodynamics and water simulation.
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
This blog post was originally published on the Roblox Tech Blog.
© 2020 Roblox Corporation. All Rights Reserved.

Using Clang to Minimize Global Variable Use

July

23, 2020

by RandomTruffle
PRODUCT & TECH
Every non-trivial program has at least some amount of global state, but too much can be a bad thing. In C++ (which constitutes close to 100% of Roblox’s engine code) this global state is initialized before main() and destroyed after returning from main(), and this happens in a mostly non-deterministic order. In addition to leading to confusing startup and shutdown semantics that are difficult to reason about (or change), it can also lead to severe instability.
Roblox code also creates a lot of long-running detached threads (threads which are never joined and just run until they decide to stop, which might be never). These two things together have a very serious negative interaction on shutdown, because long-running threads continue accessing the global state that is being destroyed. This can lead to elevated crash rates, test suite flakiness, and just general instability.
The first step to digging yourself out of a mess like this is to understand the extent of the problem, so in this post I’m going to talk about one technique you can use to gain visibility into your global startup flow. I’m also going to discuss how we are using this to improve stability across the entire Roblox game engine platform by decreasing our use of global variables.

Introducing -finstrument-functions

Nothing excites me more than learning about a new obscure compiler option that I’ve never had a use for before, so I was pretty happy when a colleague pointed me to this option in the Clang Command Line Reference. I’d never used it before, but it sounded very cool. The idea being that if we could get the compiler to tell us every time it entered and exited a function, we could filter this information through a symbolizer of some kind and generate a report of functions that a) occur before main(), and b) are the very first function in the call-stack (indicating it’s a global).
Unfortunately, the documentation basically just tells you that the option exists with no mention of how to use it or if it even actually does what it sounds like it does. There’s also two different options that sound similar to each other (-finstrument-functions and -finstrument-functions-after-inlining), and I still wasn’t entirely sure what the difference was. So I decided to throw up a quick sample on godbolt to see what happened, which you can see here. Note there are two assembly outputs for the same source listing. One uses the first option and the other uses the second option, and we can compare the assembly output to understand the differences. We can gather a few takeaways from this sample:
  1. The compiler is injecting calls to __cyg_profile_func_enter and __cyg_profile_func_exit inside of every function, inline or not.
  2. The only difference between the two options occurs at the call-site of an inline function.
  3. With -finstrument-functions, the instrumentation for the inlined function is inserted at the call-site, whereas with -finstrument-functions-after-inlining we only have instrumentation for the outer function. This means that when using-finstrument-functions-after-inlining you won’t be able to determine which functions are inlined and where.
Of course, this sounds exactly like what the documentation said it did, but sometimes you just need to look under the hood to convince yourself.
To put all of this another way, if we want to know about calls to inline functions in this trace we need to use -finstrument-functions because otherwise their instrumentation is silently removed by the compiler. Sadly, I was never able to get -finstrument-functions to work on a real example. I would always end up with linker errors deep in the Standard C++ Library which I was unable to figure out. My best guess is that inlining is often a heuristic, and this can somehow lead to subtle ODR (one-definition rule) violations when the optimizer makes different inlining decisions from different translation units. Luckily global constructors (which is what we care about) cannot possibly be inlined anyway, so this wasn’t a problem.
I suppose I should also mention that I still got tons of linker errors with -finstrument-functions-after-inlining as well, but I did figure those out. As best as I can tell, this option seems to imply –whole-archive linker semantics. Discussion of –whole-archive is outside the scope of this blog post, but suffice it to say that I fixed it by using linker groups (e.g. -Wl,–start-group and -Wl,–end-group) on the compiler command line. I was a bit surprised that we didn’t get these same linker errors without this option and still don’t totally understand why. If you happen to know why this option would change linker semantics, please let me know in the comments!

Implementing the Callback Hooks

If you’re astute, you may be wondering what in the world __cyg_profile_func_enter and __cyg_profile_func_exit are and why the program is even successfully linking in the first without giving undefined symbol reference errors, since the compiler is apparently trying to call some function we’ve never defined. Luckily, there are some options that allow us to see inside the linker’s algorithm so we can find out where it’s getting this symbol from to begin with. Specifically, -y should tell us how the linker is resolving . We’ll try it with a dummy program first and a symbol that we’ve defined ourselves, then we’ll try it with __cyg_profile_func_enter .
[email protected]:~/src/sandbox$ cat instr.cpp int main() {} [email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -Wl,-y -Wl,main instr.cpp /usbin/../lib/gcc/x86_64-linux-gnu/crt1.o: reference to main /tmp/instr-5b6c60.o: definition of main
No surprises here. The C Runtime Library references main(), and our object file defines it. Now let’s see what happens with __cyg_profile_func_enter and -finstrument-functions-after-inlining.
[email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -finstrument-functions-after-inlining -Wl,-y -Wl,__cyg_profile_func_enter instr.cpp /tmp/instr-8157b3.o: reference to __cyg_profile_func_enter /lib/x86_64-linux-gnu/libc.so.6: shared definition of __cyg_profile_func_enter
Now, we see that libc provides the definition, and our object file references it. Linking works a bit differently on Unix-y platforms than it does on Windows, but basically this means that if we define this function ourselves in our cpp file, the linker will just automatically prefer it over the shared library version. Working godbolt link without runtime output is here. So now you can kind of see where this is going, however there are still a couple of problems left to solve.
  1. We don’t want to do this for a full run of the program. We want to stop as soon as we reach main.
  2. We need a way to symbolize this trace.
The first problem is easy to solve. All we need to do is compare the address of the function being called to the address of main, and set a flag indicating we should stop tracing henceforth. (Note that taking the address of main is undefined behavior[1], but for our purposes it gets the job done, and we aren’t shipping this code, so ¯\_(ツ)_/¯). The second problem probably deserves a little more discussion though.

Symbolizing the Traces

In order to symbolize these traces, we need two things. First, we need to store the trace somewhere on persistent storage. We can’t expect to symbolize in real time with any kind of reasonable performance. You can write some C code to save the trace to some magic filename, or you can do what I did and just write it to stderr (this way you can pipe stderr to some file when you run it).
Second, and perhaps more importantly, for every address we need to write out the full path to the module the address belongs to. Your program loads many shared libraries, and in order to translate an address into a symbol, we have to know which shared library or executable the address actually belongs to. In addition, we have to be careful to write out the address of the symbol in the file on disk. When your program is running, the operating system could have loaded it anywhere in memory. And if we’re going to symbolize it after the fact we need to make sure we can still reference it after the information about where it was loaded in memory is lost. The linux function dladdr() gives us both pieces of information we need. A working godbolt sample with the exact implementation of our instrumentation hooks as they appear in our codebase can be found here.

Putting it All Together

Now that we have a file in this format saved on disk, all we need to do is symbolize the addresses. addr2line is one option, but I went with llvm-symbolizer as I find it more robust. I wrote a Python script to parse the file and symbolize each address, then print it in the same “visual” hierarchical format that the original output file is in. There are various options for filtering the resulting symbol list so that you can clean up the output to include only things that are interesting for your case. For example, I filtered out any globals that have boost:: in their name, because I can’t exactly go rewrite boost to not use global variables.
The script isn’t as simple as you would think, because simply crawling each line and symbolizing it would be unacceptably slow (when I tried this, it took over 2 hours before I finally killed the process). This is because the same address might appear thousands of times, and there’s no reason to run llvm-symbolizer against the same address multiple times. So there’s a lot of smarts in there to pre-process the address list and eliminate duplicates. I won’t discuss the implementation in more detail because it isn’t super interesting. But I’ll do even better and provide the source!
So after all of this, we can run any one of our internal targets to get the call tree, run it through the script, and then get output like this (actual output from a Roblox process, source file information removed):
excluded_symbols = [‘.\boost.*’]* excluded_modules = [‘/usr.\’]* /uslib/x86_64-linux-gnu/libLLVM-9.so.1: 140 unique addresses InterestingRobloxProcess: 38928 unique addresses /uslib/x86_64-linux-gnu/libstdc++.so.6: 1 unique addresses /uslib/x86_64-linux-gnu/libc++.so.1: 3 unique addresses Printing call tree with depth 2 for 29276 global variables. __cxx_global_var_init.5 (InterestingFile1.cpp:418:22) RBX::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp.:415:0) __cxx_global_var_init.19 (InterestingFile2.cpp:183:34) (anonymous namespace)::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp:171:0) __cxx_global_var_init.274 (InterestingFile3.cpp:2364:33) RBX::InterestingRobloxClass3::InterestingRobloxClass3()
So there you have it: the first half of the battle is over. I can run this script on every platform, compare results to understand what order our globals are actually initialized in in practice, then slowly migrate this code out of global initializers and into main where it can be deterministic and explicit.

Future Work

It occurred to me sometime after implementing this that we could make a general purpose profiling hook that exposed some public symbols (dllexport’ed if you speak Windows), and allowed a plugin module to hook into this dynamically. This plugin module could filter addresses using whatever arbitrary logic that it was interested in. One interesting use case I came up for this is that it could look up the debug information, check if the current address maps to the constructor of a function local static, and write out the address if so. This effectively allows us to gain a deeper understanding of the order in which our lazy statics are initialized. The possibilities are endless here.

Further Reading

If you’re interested in this kind of thing, I’ve collected a couple of my favorite references for this kind of topic.
  1. Various: The C++ Language Standard
  2. Matt Godbolt: The Bits Between the Bits: How We Get to main()
  3. Ryan O’Neill: Learning Linux Binary Analysis
  4. Linkers and Loaders: John R. Levine
  5. https://eel.is/c++draft/basic.exec#basic.start.main-3
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
submitted by jaydenweez to u/jaydenweez [link] [comments]

Selling your Covered Call - Thoughts on How to Select Your Strike and Expiration

Congratulations! You are a bag holder of company XYZ which was thought to be the best penny stock ever. Instead of feeling sorry, you consider selling covered calls to help reduce your cost basis - and eventually get out of your bags with minimal loss or even a profit!
First - let's review the call option contract. The holder of the call option contract has the right but not the obligation to purchase 100 shares of XYZ at the strike price per share. This contract has an expiration date. We assume American style option contracts which means that the option can be exercised at any point prior to expiration. Thus, there are three parameters to the option contract - the strike price, the expiration date and the premium - which represents the price per share of the contract.
The holder of the call option contract is the person that buys the option. The writer of the contract is the seller. The buyer (or holder) pays the premium. The seller (or writer) collects the premium.
As an XYZ bag holder, the covered call may help. By writing a call contract against your XYZ shares, you can collect premium to reduce your investment cost in XYZ - reducing your average cost per share. For every 100 shares of XYZ, you can write 1 call contract. Notice that that by selling the contract, you do not control if the call is exercised - only the holder of the contract can exercise it.
There are several online descriptions about the covered call strategy. Here is an example that might be useful to review Covered Call Description
The general guidance is to select the call strike at the price in which you would be happy selling your shares. However, the context of most online resources on the covered call strategy assume that you either just purchased the shares at market value or your average cost is below the market price. In the case as a bag holder, your average cost is most likely over - if not significantly over - the current market price. This situation simply means that you have a little work to reduce your average before you are ready to have your bags called away. For example, you would not want to have your strike set at $2.50 when your average is above that value as this would guarantee a net loss. (However, if you are simply trying to rid your bags and your average is slightly above the strike, then you might consider it as the strike price).
One more abstract concept before getting to what you want to know. The following link shows the Profit/Loss Diagram for Covered Call Conceptually, the blue line shows the profit/loss value of your long stock position. The line crosses the x-axis at your average cost, i.e the break-even point for the long stock position. The green/red hockey stick is the profit (green) or loss (red) of the covered call position (100 long stock + 1 short call option). The profit has a maximum value at the strike price. This plateau is due to the fact that you only receive the agreed upon strike price per share when the call option is exercised. Below the strike, the profit decreases along the unit slope line until the value becomes negative. It is a misnomer to say that the covered call is at 'loss' since it is really the long stock that has decreased in value - but it is not loss (yet). Note that the break-even point marked in the plot is simply the reduced averaged cost from the collected premium selling the covered call.
As a bag holder, it will be a two-stage process: (1) reduce the average cost (2) get rid of bags.
Okay let's talk selecting strike and expiration. You must jointly select these two parameters. Far OTM strikes will collect less premium where the premium will increase as you move the strike closer to the share price. Shorter DTE will also collect less premium where the premium will increase as you increase the DTE.
It is easier to describe stage 2 "get rid of bags" first. Let us pretend that our hypothetical bag of 100 XYZ shares cost us $5.15/share. The current XYZ market price is $3/share - our hole is $2.15/share that we need to dig out. Finally, assume the following option chain (all hypothetical):
DTE Strike Premium Intrinsic Value Time Value
20 $2.5 $0.60 $0.50 $0.10
20 $5.0 $0.25 $0 $0.25
20 $7.5 $0.05 $0 $0.05
50 $2.5 $0.80 $0.50 $0.30
50 $5.0 $0.40 $0 $0.40
50 $7.5 $0.20 $0 $0.20
110 $2.5 $0.95 $0.50 $0.45
110 $5.0 $0.50 $0 $0.50
110 $7.5 $0.25 $0 $0.25
Purely made up the numbers, but the table illustrates the notional behavior of an option chain. The option value (premium) is the intrinsic value plus the time value. Only the $2.5 strike has intrinsic value since the share price is $3 (which is greater than $2.5). Notice that intrinsic value cannot be negative. The rest of the premium is the time value of the option which is essentially the monetary bet associated with the probability that the share price will exceed the strike at expiration.
According to the table, we could collect the most premium by selling the 110 DTE $2.5 call for $0.95. However, there is a couple problems with that option contract. We are sitting with bags at $5.15/share and receiving $0.95 will only reduce our average to $4.20/share. On expiration, if still above $2.5, then we are assigned, shares called away and we receive $2.50/share or a loss of $170 - not good.
Well, then how about the $5 strike at 110 DTE for $0.50? This reduces us to $4.65/share which is under the $5 strike so we would make a profit of $35! This is true - however 110 days is a long time to make $35. You might say that is fine you just want to get the bags gone don't care. Well maybe consider a shorter DTE - even the 20 DTE or 50 DTE would collect premium that reduces your average below $5. This would allow you to react to any stock movement that occurs in the near-term.
Consider person A sells the 110 DTE $5 call and person B sells the 50 DTE $5 call. Suppose that the XYZ stock increases to $4.95/share in 50 days then goes to $8 in the next 30 days then drops to $3 after another 30 days. This timeline goes 110 days and person A had to watch the price go up and fall back to the same spot with XYZ stock at $3/share. Granted the premium collected reduced the average but stilling hold the bags. Person B on the other hand has the call expire worthless when XYZ is at $4.95/share. A decision can be made - sell immediately, sell another $5 call or sell a $7.5 call. Suppose the $7.5 call is sold with 30 DTE collecting some premium, then - jackpot - the shares are called away when XYZ is trading at $8/share! Of course, no one can predict the future, but the shorter DTE enables more decision points.
The takeaway for the second step in the 2-stage approach is that you need to select your profit target to help guide your strike selection. In this example, are you happy with the XYZ shares called away at $5/share or do you want $7.5/share? What is your opinion on the stock price trajectory? When do you foresee decision points? This will help determine the strike/expiration that matches your thoughts. Note: studies have shown that actively managing your position results in better performance than simply waiting for expiration, so you can adjust the position if your assessment on the movement is incorrect.
Let's circle back to the first step "reduce the average cost". What if your average cost of your 100 shares of XYZ is $8/share? Clearly, all of the strikes in our example option chain above is "bad" to a certain extent since we would stand to lose a lot of money if the option contract is exercised. However, by describing the second step, we know the objective for this first step is to reduce our average such that we can profit from the strikes. How do we achieve this objective?
It is somewhat the same process as previously described, but you need to do your homework a little more diligently. What is your forecast on the stock movement? Since $7.5 is the closest strike to your average, when do you expect XYZ to rise from $3/share to $7.5/share? Without PR, you might say never. With some PR then maybe 50/50 chance - if so, then what is the outlook for PR? What do you think the chances of going to $5/share where you could collect more premium?
Suppose that a few XYZ bag holders (all with a $8/share cost) discuss there outlook of the XYZ stock price in the next 120 days:
Person 10 days 20 days 30 days 40 days 50 days 100 days 120 days
A $3 $3 $3 $3 $3 $4 $4
B $4 $4 $5 $6 $7 $12 $14
C $7 $7 $7 $7 $7 $7 $7
Person A does not seem to think much price movement will occur. This person might sell the $5 call with either 20 DTE or 50 DTE. Then upon expiration, sell another $5 call for another 20-50 DTE. Person A could keep repeating this until the average is reduced enough to move onto step-2. Of course, this approach is risky if the Person A price forecast is incorrect and the stock price goes up - which might result in assignment too soon.
Person B appears to be the most bullish of the group. This person might sell the $5 call with 20 DTE then upon expiration sell the $7.5 call. After expiration, Person B might decide to leave the shares uncovered because her homework says XYZ is going to explode and she wants to capture those gains!
Person C believes that there will be a step increase in 10 days maybe due to major PR event. This person will not have the chance to reduce the average in time to sell quickly, so first he sells a $7.5 call with 20 DTE to chip at the average. At expiration, Person C would continue to sell $7.5 calls until the average at the point where he can move onto the "get rid of bags" step.
In all causes, each person must form an opinion on the XYZ price movement. Of course, the prediction will be wrong at some level (otherwise they wouldn't be bag holders!).
The takeaway for the first step in the 2-stage approach is that you need to do your homework to better forecast the price movement to identify the correct strikes to bring down your average. The quality of the homework and the risk that you are willing to take will dedicate the speed at which you can reduce your average.
Note that if you are unfortunate to have an extremely high average per share, then you might need to consider doing the good old buy-more-shares-to-average-down. This will be the fastest way to reduce your average. If you cannot invest more money, then the approach above will still work, but it will require much more patience. Remember there is no free lunch!
Advanced note: there is another method to reduce your (high) average per share - selling cash secured puts. It is the "put version" of a cover call. Suppose that you sell a XYZ $2.5 put contract for $0.50 with 60 DTE. You collect $50 from the premium of the contract. This money is immediately in your bank and reduces your investment cost. But what did you sell? If XYZ is trading below $2.50, then you will be assigned 100 shares of XYZ at $2.50/share or $250. You own more shares, but at a price which will reduce your average further. Being cash secured, your brokerage will reserve $250 from your account when you sell the contract. In essence, you reduce your buying power by $250 and conditionally purchase the shares - you do not have them until assignment. If XYZ is greater than the strike at expiration, then your broker gives back $250 cash / buying power and you keep the premium.

Early assignment - one concern is the chance of early assignment. The American style option contract allows the holder the opportunity to exercise the contract at any time prior to expiration. Early assignment almost never occurs. There are special cases that typically deal with dividends but most penny stocks are not in the position to hand out dividends. Aside from that, the holder would be throwing away option time value by early exercise. It possibly can handle - probably won't - it actually would be a benefit when selling covered calls as you would receive your profit more quickly!


This post has probably gone too long! I will stop and let's discuss this matter. I will add follow-on material with some of the following topics which factors into this discussion:
Open to other suggestions. I'm sure there are some typos and unclear statements - I will edit as needed!
\I'm not a financial advisor. Simply helping to 'coach' people through the process. You are responsible for your decisions. Do not execute a trade that you do not understand. Ask questions if needed!**
submitted by x05595113 to pennystockoptions [link] [comments]

The Best Strategy for Binary Options (60 seconds)! 72% of profitable trades! Profitable 60 Seconds Strategy for Binary Options - YouTube Binary Options Trading 60 seconds strategy 60 Second Strategy: Learn how to trade binary options for ... How to trade 5 minutes & 60 seconds binary options ... Best 60 seconds binaryoptions strategy (winning strategy, 100% profit guaranteed) 60 Seconds binary options strategy 99 - 100% Winning (100% ...

On Monday, I broke from my normal routine of trading 15-minute expiries from the 5-minute chart in favor of “60-second” binary options. For one, I simply felt like breaking things up a bit for my own enjoyment. And two, I know that many traders are into this fast-paced alternative, as it’s now offered by many offshore brokers. Therefore, introducing some 60-second trades into my blog can ... Step #1: Find an instrument that is showing a low the last 50 candlesticks. Use the 60-second chart (1 Minute TF) The 1-minute binary options or the 60-seconds time frame is the best chart for trading binary options. In other words, the best binary options expiration time is the 60 seconds time frame. This means that 60 second binary option trading is best suited for numerous trend trading strategies. Trends with strong momentum are likely to remain that way in the really short term. Drawbacks of 60 Second trading. Although one can make a lot of money in the short term with 60 second options, they can also lose a lot of money. Binary Options ... And one such example are the 60-second binary options. This type of trading has become quite popular over a couple of years and a lot of trading brokers are now offering this trade to the clients. Contrarily, 60 Seconds might not be ideal for all traders. Careful approach is required for money management. It’s not very recommended to use the martingale money management plan, as it is one of ... To take advantage of the best binary options strategy for beginners, we recommend to have a look at this one: A trading strategy for beginners. Strategy for trading binary options . Binary option trade strategies are usually based on use of indicators. People often do not know how these work, therefore you can find the indicators description on our website. Trading based on indicators may not ... Best Strategies for earning in binary options. How does it work? 60-seconds, 1, 2, 5 minute strategies. Customer Reviews. 60-second strategy binary options with usage of indicators. One of the most usable indicators in strategies for 60-second binary options is the RSI (Relative Strength Index). This instrument of technical analysis has an advancing nature and shows a possible change of trend. The indicator has 2 accurately differentiated fields (overbought and ... 2016 V kategoriích: 30 minute strategies, 60 second strategies, All Binary Options Strategies Golden Eye is a strategy based on the ADX indicator which is used for confirming rebounds. This strategy works well with with M15 timeframe and the trades which are opened for 60 minutes (in direction of longterm trend) or for 30 minutes (against the trend).0 minut (proti směru). We have found this to be a simple but effective 60-second binary options strategy. This simple strategy can help you to become a more profitable and successful trader of these contracts. In our experience this has shown itself to be the best way to trade 60-second binary options. Most brokers offer 60-second options at this point. The 60 Second Binary Options Strategy is a trading method allowing to maximize profits from sustainable trends and increasing the effectiveness of the trading algorithm. Although several settings and combinations of technical indicators have to be adjusted for the frequent type of trading activity, the main rules of technical analysis remain the same. Mixing different timeframes for the ...

[index] [10910] [145] [17427] [6923] [21195] [3420] [26271] [18008] [15077] [28117]

The Best Strategy for Binary Options (60 seconds)! 72% of profitable trades!

Learn to trade 60 second binary options for money with this simple strategy. Time Chart: Candlesticks display a unit of time. Example: On a 1 minute chart ea... How to trade 5 minutes & 60 seconds binary options strategy for iqoption(100 % profit guaranteed) keywords for this video:Binary options successfully, how to... BINARY OPTIONS UK 219,179 views 12:40 60 SEC Binary Options Strategy : Profitable Logical Sixty second Binary Trading : Binary ALPHA INTRO - Duration: 27:55. 💰💲FULL BEGINNER? Join My PERSONAL TRAINING!💴💵 BLW Trading Academy: http://www.blwtradingacademy.com/ Live Trading Signals HERE!🔙💲💹Join My ... In this video I am going to show you the best 60 seconds binary options strategy and how to trade binary options successfully. • But first I would like to show you some proof, my binary options ... Best FX Trading Strategies (THE Top Strategy for 2019) - Duration: 32:00. ... how I trade binary options 60 seconds strategy 100 percent profit guaranteed - Duration: 14:58. Forex & BinaryOptions ... 60 Seconds binary options strategy 99 - 100% Winning (100% profit guaranteed) 90 - 95% Winning Binary Options Strategy in case of correct prediction - 1 to 5...

http://binaryoptiontrade.matchklag.ml