Free Binary Options Demo Accounts Without Deposit 2020

Why is it such an abysmal pain to use libraries in C++ compared to pretty much anything else?

I recently realized something that's been annoying me for so long

How to add a library in JavaScript:

How to add a library in C#:

How to add a library in Go:

How to add a library in Rust (And this is so "C++ is compiled" isn't an excuse):

If you install cargo-edit you can alternatively just:

How to add a library in C++:

submitted by scarletkrath to cpp [link] [comments]

Completing the 2020 Bingo Challenge: Short Story Edition

Completing the 2020 Bingo Challenge: Short Story Edition
Completing the 2020 Bingo Challenge: Short Story Edition
One of the rules of the Fantasy Bingo Reading Challenge is that you can read an anthology or collection for any of the squares. I’ve always been a fan of short fiction, so I’ve occasionally used this rule to complete my Bingo Card (I used three collections outside of the Five Short Stories square last year, for example). When planning my card for the 2020 Bingo, I noticed that several of the squares fit quite well for some of the collections and anthologies I had (a Star Trek anthology for Exploration, books with colors or numbers in their names, etc.). “What if…” I wondered, “…I can do it for every square?”
Thus, my project is born: Complete my Bingo card using only books of short stories, following all the other rules of Bingo. I did not repeat a single author from one square to another, and I even made sure not to repeat editors, either.
Look on my Works, ye Mighty, and despair!
A brief aside before we start, some terms I use that some may not be familiar to some:
  • Anthology: A book of short stories by multiple authors, usually assembled by an editor whose name is attached to the book (i.e. The Book of Dragons edited by Jonathan Strahan)
  • Collection: A book of short stories by a single author (i.e. Kabu Kabu by Nnedi Okorafor)
  • Short Story Cycle: A book of short stories that has its own narrative (i.e. Moral Disorder by Margaret Atwood). Some similarities with “interlinked collection,” “mosaic novel,” and “fix-up novel” (The Martian Chronicles by Ray Bradbury being a famous example of the latter).
  • Reprint and Original: Many anthologies/collections reprint stories published previously (reprint) vs. originally written for the book in question (original). Some collections will mix it up (such as a reprint collection with one original story to encourage readers who have read the others to pick up the new book).
Why? What did I hope to accomplish by doing this particular short fiction challenge? Some of my friends will complain about the Five Short Stories square (especially the hard mode requirement to read a book), and I wanted to spite them a little bit and also demonstrate that there’s a lot of different and interesting books out there to read in that format!
Planning: The hardest thing about this was the original planning, as several books I thought would be an easy match for the square didn’t work because another anthology I planned to use already included that author, so I had to dig a bit deeper to find something that didn’t repeat any authors. Also, in past Bingo Challenges, my cards are usually quite fluid as I shift books around throughout the year. Because of all the authors I was juggling, I couldn’t easily do that (though it was vastly easier to do with collections instead of anthologies, for obvious reasons).
Numbers: For this card, I officially read 32 books for the 25 squares: One of those books was quite short, so I read an additional three to meet the length requirement. For the original Five Short Stories square, I decided to be obnoxious and read five collections. These 32 books included 1 short novel (included in one of the collections), 8 novellas, 106 novelettes, 498 short stories, and 3 poems for a total of at least 2,739,975 words (the rough equivalent of reading the first nine novels of The Wheel of Time). I read 189 different authors. In addition to the 32 books above, I read 15 “pre-Bingo” books—books I felt I needed to read to be able to read the anthology or collection I actually used for my Bingo Card. Fifteen of the 32 books were ones I already owned. Nine books I checked out from the library. Five books I bought specific for Bingo, and three books were free (gifts or free online).
1. Novel Translated from Its Original Language:
There Once Lived a Woman Who Tried to Kill Her Neighbor's Baby: Scary Fairy Tales by Ludmilla Petrushevskaya (reprint collection)
  • Reason: I couldn’t read my first choice so I looked through my TBR list to find another SF/F collection I thought would be a translation. It also won the 2010 World Fantasy Award for Best Collection.
  • Favorite Story: “My Love” as I really liked how the characters grew apart and then back together again.
  • Recommended: Only if you like short depressing literary fiction that mostly hinge on dreams and ghosts.
  • Hard Mode: Yes, Pretrushevskaya is a woman.
  • Other Options: I really wanted to read Xia Jia’s A Summer Beyond Your Reach, but she had a story in another anthology I read. I also considered one of Ken Liu’s Chinese SF/F anthologies (Invisible Planets or Broken Stars). I read Jurado & Lara’s Spanish Women of Wonder last year. Etgar Keret’s Fly Already, Kenji Miyazawa’s Once and Forever, or Yoko Ogawa’s Revenge also looked promising.
2. Setting Featuring Snow, Ice, or Cold:
Frozen Fairy Tales edited by Kate Wolford (original anthology)
  • Reason: I literally searched snow and anthology and this was one of the early options.
  • Favorite Story: tie between “The Stolen Heart” by Christina Ruth Johnson and “Death in Winter” by Lissa Sloan; the first just felt great, and the second has this haunting feel I loved.
  • Recommended: Yes; a good selection of fairy tale-inspired stories. Read during the summer, though, it felt really cold.
  • Hard Mode: Yes, every story is in a snowy or cold setting.
  • Other Options: I’m kind of mad that I didn’t come across Snowpocalypse: Tales of the End of the World (edited by Clint Collins and Scott Woodward) until after I read my original choice. I like silly titles.
3. Optimistic Spec Fic:
Ingathering: The Complete People Stories by Zenna Henderson (short story cycle, 1 original to this book)
  • Reason: I’ve had a copy of this book for a couple years, and I needed an excuse to read it. It’s actually an omnibus of Henderson’s two People collections plus some previously uncollected stories. I’ve read the first People collection (Pilgrimage) several times people).
  • Favorite Story: I’ll say “Ararat” here, but the first six stories (the original Pilgrimage collection) are amazingly wonderful and heartwarming.
  • Recommended: Yes, absolutely. Zenna Henderson deserves more attention.
  • Hard Mode: Yes. <3
  • Other Options: If Henderson’s book hadn’t worked out, I considered Heiroglyph (edited by Ed Finn & Kathryn Cramer) and Salena Ulibarri’s two Glass and Gardens anthologies (Solarpunk Summers and Solarpunk Winters), but that would’ve required juggling my card.
4. Novel Featuring Necromancy:
The Book of the Dead edited by Jared Shurin (original anthology)
  • Reason: I asked Jared Shurin (pornokitsch) if he knew of any anthologies with a necromantic theme, and he rattled off five or six options before remembering that he himself had edited an anthology about mummies. I don’t know how you forget something like that.
  • Favorite Story: tie between “Old Souls” by David Thomas Moore and “Three Memories of Death” by Will Hill (non-SF/F)
  • Recommended: Yes, but it’s out of print! Several of the stories were reprinted in Paula Guran’s The Mammoth Book of the Mummy, including “Three Memories of Death.”
  • Hard Mode: No, through several do have mummies as protagonists.
  • Other Options: I was considering Brian McNaughton’s The Throne of Bones since the description seemed rather death-magicky. At this point, the Paula Guran anthology above would probably be a good choice.
5. Ace/Aro Spec Fic:
Life Within Parole, Volume 1 by RoAnna Sylver (collection, mix of reprint and original)
  • Reason: A friend found this on Claudie Arseneault’s asexual recommendations website, which was good, but I felt I needed to read her novel Chameleon Moon first to understand the collection. I’m glad I did.
  • Favorite Story: Reluctantly “Phoenix Down” as it felt the most self-contained.
  • Recommended: Only if you loved Chameleon Moon, which I only recommend if you like a sample of the writing. It’s amazingly diverse in representation, but my frustrations with the novel related more towards its pacing and worldbuilding. Plus I don’t like superheroes.
  • Hard Mode: Yes, half the stories have an asexual or aromantic protagaonist.
  • Other Options: My original choice was Common Bonds: An Aromantic Speculative Anthology edited by Claudie Arseneault, C.T. Callahan, B.R. Sanders, and RoAnna Sylver, a Kickstarter-funded book. However, due to the pandemic, the publication was pushed back, and I didn't want to wait any longer. I also seriously considered Chuck Tingle’s Not Pounded in the Butt.
6. Novel Featuring a Ghost:
Ghost Stories of an Antiquary by M. R. James (collection, mix of reprint and original)
  • Reason: I just searched ghost anthology, and this was a top result. I have actually never heard of M. R. James before this year, but I gather he’s a huge influence since he’s written so many ghost stories.
  • Favorite Story: “The Mezzotint” as it was the one that creeped me out the most.
  • Recommended: Yes, but only if you realize that it’s got an older style to them (since this book came out in 1904), and that most of these stories won’t creep you out in the year 2020.
  • Hard Mode: No, the ghosts are either antagonists or obstacles.
  • Other Options: I actually don’t know, I stopped searching after I found the book. M. R. James does have 3 more collections of ghost stories, though (all of 4 of which have been gathered in Collected Ghost Stories by M. R. James).
7. Novel Featuring Exploration:
No Limits edited by Peter David (original anthology)
  • Reason: I read the first few Star Trek: New Frontier novels back in the late 1990s, but never finished it, so I got all the books for a personal readthrough. Star Trek is by definition perfect for the exploration square, so I read the books. However, I was reading them in publication order, so I had to read the first 14 books before I could get to the anthology!
  • Favorite Story: “Waiting for G’Doh, or, How I Learned to Stop Moving” is a rather funny story about the security officer Zak Kebron at the beginning of his career.
  • Recommended: Yes, but only if you’ve read at least the first six Star Trek: New Frontier novels (all the stories are set before the first book, but most of the characters aren’t really established until you’ve read the first four).
  • Hard Mode: Maybe, nearly all the stories feature exploration, but the plots are often about backstories for the main characters of the series.
  • Other Options: I considered James Alan Gardner’s Gravity Wells (his novel Expendable is a perfect exploration book, so I was hoping the collection would work). Past anthologies that would probably work is Federations edited by John Joseph Adams, Galactic Empires edited by Neil Clarke, and maybe Alastair Reynolds’s Deep Navigation or Galactic North.
8. Climate Fiction:
Everything Change: An Anthology of Climate Fiction edited by Manjana Milkoreit, Meredith Martinez, & Joey Eschrich (original anthology)
  • Reason: A friend recommended to me as this theme was getting difficult for me to find, as all my other options included stories by authors I had to read for other squares. This book was produced from a short story contest run by the Imagination and Climate Futures Initiative at Arizona State University and judged in part by Kim Stanley Robinson.
  • Favorite Story: “On Darwin Tides” by Shauna O’Meara, which follows a “sea gypsy” in Malaysia as she struggles in this new dystopian future.
  • Recommended: Only if the topic appeals to you—because it was a contest, the stories are mostly from amateur writers and the quality mostly shows. It’s free online, though, and there’s a second book, Everything Change II, which I’ve been told is better.
  • Hard Mode: No, most of them are apocalyptic or post-apocalypse.
  • Other Options: My original choice was Drowned Worlds edited by Jonathan Strahan, but there’s also Loosed upon the World: The Saga Anthology of Climate Fiction edited by John Joseph Adams, and I imagine a lot of solarpunk-themed books could work for this, too.
9. Novel with a Color in the Title:
The King in Yellow by Robert W. Chambers (original collection)
  • Reason: I already had it (it’s available on Project Gutenberg)
  • Favorite Story: “In the Court of the Dragon” which felt like one of the creepier stories to me.
  • Recommended: Honestly, no. Only half the stories are SF/F, the other half are all stories about bohemian artists in Paris. This book is known for the stories involving “The King in Yellow” play, but they didn’t really work for me.
  • Hard Mode: Yes.
  • Other Options: I considered using Judith Tarr’s Nine White Horses, the anthology Blackguards, Jack Vance’s Wild Thyme, Green Magic, Walter Jon Williams’s The Green Leopard Plague and Other Stories, Black Feathers edited by Ellen Datlow, or How Long ‘til Black Future Month? by N. K. Jemisin.
10. Any Fantasy Book Club Book of the Month OR Fantasy Readalong Book:
Sooner or Later Everything Falls into the Sea by Sarah Pinsker (reprint collection, 1 original to this book)
  • Reason: The Goodreads Book of the Month club picked it for June this year. I did own or read all the other options that were available at the time.
  • Favorite Story: tie between “And Then There Were (N-One)” and “In Joy, Knowing the Abyss Behind”
  • Recommended: Yes! There’s only one story I would rate less than 4 stars in this book.
  • Hard Mode: Yes, I actually led the discussion for the book in June.
  • Other Options: We don’t read very many collections or anthologies for the Fantasy book clubs, so my only choices were Fritz Leiber’s Sword and Deviltry (Classics club, November 2017), Mahvesh Murad & Jared Shurin’s anthology The Djinn Falls in Love and Other Stories (RAB, May 2018), and we currently have Daniel M. Lavery’s The Merry Spinster for FIF (September 2020). There’s also the Dresden Files read-along which did two of Butcher’s collections, and the Uncanny Magazine Disabled People Destroy Science Fiction/Fantasy read-along (those would’ve been rereads for me, though).
11. Self-Published Novel:
In the Stars I'll Find You & Other Tales of Futures Fantastic by Bradley P. Beaulieu (mostly reprint collection)
  • Reason: I already owned this, it was basically the oldest self-published collection I had.
  • Favorite Story: tie between “Flashed Forward” and “No Viviremos Como Presos” – both dealing with a lot of emotions.
  • Recommended: Yes, the only other stories by Beaulieu I’ve read were 2 co-written novellas, and I felt this collection was better. I haven’t read his novels so I can’t compare.
  • Hard Mode: Yes, at the time of this post, it has 18 ratings on Goodreads.
  • Other Options: There are hundreds of options, but I could’ve read Lawrence M. Schoen’s recent collection The Rule of Three and Other Stories (his other collection, Buffalito Bundle, has stories featuring The Amazing Conroy and are lots of fun.)
12. Novel with Chapter Epigraphs:
Not the End of the World by Kate Atkinson (short story cycle)
  • Reason: This was another difficult square, as I knew a short story cycle had the best chance of having epigraphs before every story. I finally found this book by Kate Atkinson. (Ironically, I realized later that my Politics choice also had epigraphs.)
  • Favorite Story: “The Cat Lover,” I guess.
  • Recommended: No, unless you like literary magical realism where stories just kind of end.
  • Hard Mode: No, all of the epigraphs are quotes from Latin or Shakespeare.
  • Other Options: Apparently, Retief! by Keith Laumer would’ve worked from my options. It really is a difficult thing because in a collection some authors might have an epigraph for a story, but not all or most of them.
13. Novel Published in 2020:
Shadows & Tall Trees 8 edited by Michael Kelly (original anthology)
  • Reason: I picked this off Locus Magazine’s forthcoming books list and bought it.
  • Favorite Story: tie between “The Glassy, Burning Floor of Hell” by Brian Evenson and “Child of Shower and Gleam” by Rebecca Campbell – the first is creepy as hell, and the second is strange and lovely.
  • Recommended: Yes, if you’re comfortable with weird or darker fantasy stories.
  • Hard Mode: No, Michael Kelly has edited several anthologies before.
  • Other Options: I had planned to use The Hidden Girl and Other Stories by Ken Liu, but I needed Liu for another square. I also considered A Phoenix First Must Burn edited by Patrice Caldwell, and I had three anthologies from Joshua Palmatier I could’ve used (Apocalyptic, Galactic Stew, and My Battery is Low and It is Getting Dark) but I needed another Palmatier anthology for another square. Any of the various “Best Science Fiction or Fantasy of the Year” type anthologies that came out in 2020 would’ve been appropriate as well (Jonathan Strahan, Neil Clarke, Rich Horton, Paula Guran, Ellen Datlow, Bogi Takács, and Jared Shurin all edit “Year’s Best” or “Best of Year”-style anthologies).
14. Novel Set in a School or University:
Sideways Stories from Wayside School; Wayside School is Falling Down; Wayside School Gets a Little Stranger; and Wayside School Beneath the Cloud of Doom by Louis Sachar (short story cycles)
  • Reason: Strangely, one of the first books I thought of for this square. Plus, the most recent book had come out. I decided to read all four as each book is really short (only about 20,000 words per book). Only the first one or two was a reread.
  • Favorite Story: None, they’re all funny and good.
  • Recommended: Yes, absolutely. Maybe better for kids, but I smiled a lot while reading these.
  • Hard Mode: Yes.
  • Other Options: Witch High edited by Denise Little would’ve been good, but included a story by Esther M. Friesner whom I needed for another square. A Kickstarter-funded anthology, Schoolbooks & Sorcery edited by Michael M. Jones, would’ve worked, but it’s not out yet.
15. Book About Books:
Ex Libris: Stories of Librarians, Libraries, and Lore edited by Paula Guran (reprint anthology)
  • Reason: This was another difficult square because did you know that searching “book anthology” does not narrow things down at all?? I finally hit upon just searching “library anthology” which did the trick, but this one anthology predetermined at least 3 other squares because of its authors (I couldn’t use Ken Liu, Xia Jia, Amal El-Mohtar, and others because they were all in here).
  • Favorite Story: tie between “In the House of the Seven Librarians” by Ellen Klages and “Summer Reading” by Ken Liu. Klages’s story about “feral librarians raising a child” is just wonderful, and Liu’s is very, very sweet.
  • Recommended: Yes, absolutely. This also contains Scott Lynch’s excellent “In the Stacks” and I will never not say no to Kage Baker.
  • Hard Mode: No, libraries are an integral part of most of the stories.
  • Other Options: *gestures wildly* I don’t know!
16. A Book That Made You Laugh:
Explaining Cthulhu to Grandma and Other Stories by Alex Shvartsman (mostly reprint collection)
  • Reason: Alex Shvartsman edits an annual humorous SF/F anthology series called Unidentified Funny Objects (the 8th volume is out this fall), but even though I have them all, they all shared authors with other squares until I remember that I had two collections from Shvartsman, and this was one of them.
  • Favorite Story: “Things We Leave Behind” is a semiautobiographical story about books. Absolutely lovely.
  • Recommended: Yes, but I understand most won’t share his sense of humor. He also tends to write very short stories, so don’t read these for immersion.
  • Hard Mode: Yes.
  • Other Options: Books making you laugh is so subjective, so any author you like probably has something that could work (you only need one story to make you laugh after all). John Scalzi has a couple collections that could work, Connie Willis has a great sense of humor.
17. Five Short Stories:
  • Reason: To be obnoxious I decided to read five collections for this square (instead of just five short stories). I decided to read 5 that I already owned by women/non-binary people. I picked semi-randomly (Hand and McHugh), by older ones I owned (Wurts), and by a couple new ones I was excited about (Datt Sharma and Slatter).
Not for Use in Navigation: Thirteen Stories by Iona Datt Sharma (reprint collection)
  • Favorite Story: “Quarter Days” is a full third of this book, and it’s an interesting post-WWI setting with magic.
  • Recommended: Yes, they have an interesting outlook, and one of the stories has an Indian wedding in space.
Saffron and Brimstone: Strange Stories by Elizabeth Hand (reprint collection, 1 original)
  • Favorite Story: “The Least Trumps” should appeal to the booklover in every single one of us.
  • Recommended: These are definitely interesting stories, but I’d only recommend for “The Least Trumps” and “Cleopatra Brimstone.” She’s got a poetic style here that didn't always work for me.
After the Apocalypse by Maureen F. McHugh (reprint collection, 2 original)
  • Favorite Story: “Special Economics” which follows a Chinese girl trapped into working at a factory.
  • Recommended: Yes, though it’s also one of the few themed collections (versus themed anthologies) that I’ve seen, with every story dealing with apocalypse in some way.
Sourdough and Other Stories by Angela Slatter (mostly original collection/short story cycle)
  • Favorite Story: “Gallowberries” which features Patience from the Tor.com novella Of Sorrow and Such as a young woman.
  • Recommended: Yes, absolutely. Every story is in the same setting, and they all interconnect with each other. I can’t wait to read more from Slatter (I already have The Bitterwood Bible and Other Recountings).
That Ways Lies Camelot by Janny Wurts (mostly reprint collection)
  • Favorite Story: tie between “Wayfinder” and “That Way Lies Camelot” – both are great stories, the first a coming of age, and the other is bittersweet.
  • Recommended: Yes, definitely. In addition to the above, “Dreambridge” is also awesome. I wasn’t as fond of the three ElfQuest stories, but it was interesting to read Wurts’s 4 Fleet stories as I never realized she ever wrote anything close to straight science fiction.

  • Hard Mode: … Yes?
  • Other Options: This is the most open-ended square for this particular Bingo Card, especially since at the time of this post, I own 121 unread anthologies and collections.
18. Big Dumb Object:
Alien Artifacts edited by Joshua Palmatier & Patricia Bray (original anthology)
  • Reason: This was one of the books that made me realize I could do an all-short-story card. I thought the anthology’s theme would perfectly encapsulate the square.
  • Favorite Story: “Me and Alice” by Angela Penrose – a kid finds a strange artifact while digging at a site.
  • Recommended: Yes, though a few stories weren’t to my taste.
  • Hard Mode: No, while the classical BDO is present in several stories, most would fall in the wider definition being used for Bingo.
  • Other Options: I’m at a loss here, as I never looked for more after I found this.
19. Feminist Novel:
Skin Folk by Nalo Hopkinson (collection, mix of reprint and original)
  • Reason: I owned this already from a Humble Bundle.
  • Favorite Story: “And the Lillies-Them A-Blow” – a woman is inspired to reconsider her life.
  • Recommended: Yes.
  • Hard Mode: Yes, Hopkinson is a Jamaican-born Canadian.
  • Other Options: I had a few other books from the same Humble Bundle called Women of SFF. Most of them would’ve worked.
20. Novel by a Canadian Author:
The Very Best of Charles de Lint by Charles de Lint (reprint collection)
  • Reason: It appears I picked this up in 2014 for some reason (I’ve never read de Lint before this year). But he’s Canadian!
  • Favorite Story: There are honestly too many to say, but I’ll say “In the Pines” for now.
  • Recommended: Yes, yes, yes. I basically added everything he’s written to my TBR.
  • Hard Mode: Maybe, it was originally published in 2010 with Tachyon Publications, but in 2014 it was reprinted by de Lint’s Triskell Press (which is the copy I have), which would count.
  • Other Options: A friend sent me an anthology edited by Dominik Parisien called Clockwork Canada: Steampunk Fiction, though I would’ve had to juggle square to get it to work. Nalo Hopkinson is Canadian, so Skin Folk would’ve worked, too. Jo Walton has a collection called Starlings.
21. Novel with a Number in the Title:
Nine White Horses: Nine Tales of Horses and Magic by Judith Tarr (reprint collection)
  • Reason: At the time, the only collection I had with a number that I could use.
  • Favorite Story: “Classical Horses” – an absolutely lovely story that mixes real life and fantasy, and appeals to my Classics nerd background.
  • Recommended: Yes! Tarr is a wonderful writer.
  • Hard Mode: Yes.
  • Other Options: I could’ve used The Golem of Deneb Seven and Other Stories by Alex Shvartsman, Nine Hundred Grandmothers by R. A. Lafferty, and The Rule of Three and Other Stories by Lawrence M. Schoen.
22. Romantic Fantasy/Paranormal Romance:
Once Upon a Kiss: 17 Romantic Faerie Tales published by Anthea Sharp (original anthology)
  • Reason: My original first choice was a bust when I realized quickly that the stories involved love, but were not romance stories. This was an emergency backup as I was nearing the end of reading for this Bingo Challenge.
  • Favorite Story: “The Bakers Grimm” by Hailey Edwards, which is a sweet little story about baking under pressure.
  • Recommended: No. 99% of the stories are direct appeals to try to get you to buy their books. Many of the stories don’t even really feel like short stories. I had a friend who only read urban fantasy who was adamant that she hated reading short stories and I couldn’t figure out why. Now I do. Many of these read more like vignettes than proper short stories.
  • Hard Mode: No, the HEA Club hasn’t done any anthologies or collections for me to participate in.
  • Other Options: My backup would’ve been to find some paranormal romance series and look for a collection or anthology in that world, but it would’ve involved more prep reading.
23. Novel with a Magical Pet:
No True Way: All-New Tales of Valdemar edited by Mercedes Lackey (original anthology)
  • Reason: Valdemar is an easy setting to choose for this square, and even though I had stopped reading the yearly anthologies (they’re up to 13 or 14 now), I decided to grab the 8th anthology from the library.
  • Favorite Story: “A Dream Reborn” by Dylan Birtolo, a beggar girl with a gift grows a conscience.
  • Recommended: Only if you’re a Valdemar fan and you literally can’t get enough of the world (I’d recommend sticking with the novels up until the Collegium Chronicles).
  • Hard Mode: Yes, Companions can usually speak telepathically with their Heralds and a select few others.
  • Other Options: I’m sure there’s a themed anthology perfect for this, but I honestly don’t know offhand if there is one, since this was an easy choice for me.
24. Graphic Novel (at least 1 volume) OR Audiobook/Audiodrama:
Eerie Archives, Volume 1 edited by Archie Goodwin (original comic book anthology)
  • Reason: I searched “comics anthology” into my library’s digital catalog. This showed up.
  • Favorite Story: No real favorite, but I guess “Flame Fiend” by Eando Binder, about a man desperate to avoid fire.
  • Recommended: Yes, if you’re interested in 1960s horror comics anthology magazines. Each story is about 6-10 pages long, but many felt like cheesy horror to my modern eyes.
  • Hard Mode: Maybe, each story is standalone, but this book contained the first 5 issues of Eerie comics. I’m going with No because Eerie is a running series.
  • Other Options: I considered The Escapist (inspired from Michael Chabon’s The Amazing Adventures of Kavalier and Clay), a Mouse Guard comics anthology, and Thrilling Adventure Hour before finding Eerie. I also though the Eisner Awards were a good source of finding potential comics anthologies, since that's a category.
25. Novel Featuring Politics:
Retief! by Keith Laumer (reprint collection)
  • Reason: I knew the main character was a problem-solving diplomat, so this was an easy pick.
  • Favorite Story: “Diplomat-at-Arms” which is a great story of following an experienced old man on a mission, and “Cultural Exchange,” a really funny bureaucratic tale (and this one is free on Project Gutenberg).
  • Recommended: Yes, with reservations. They’re all stories from the 1960s, they’re bureaucratic galactic pulp fiction where Retief always knows better than his bumbling superiors and women only show up in secretarial or minor support roles. The stories also feel a bit repetitive as a whole, so if you read these, space it out.
  • Hard Mode: No, several of the stories feature royalty.
  • Other Options: I felt like this was a nebulous category, but offhand, I’d suggest Do Not Go Quietly: An Anthology of Victory in Defiance edited by Jason Sizemore & Lesley Conner and Resist: Tales from a Future Worth Fighting Against edited by Gary Whitta, Christie Yant, and Hugh Howey for two explicitly political anthologies, and maybe something like Harry Turtledove’s interlinked collection Agent of Byzantium for an alternate history take on a Byzantine special agent.
Favorites
  • Favorite collections: The Very Best of Charles de Lint by Charles de Lint, Ingathering: The Complete People Stories by Zenna Henderson, Sooner or Later Everything Falls into the Sea by Sarah Pinsker, Sourdough and Other Stories by Angela Slatter, and Nine White Horses by Judith Tarr
  • Favorite anthologies: Ex Libris edited by Paula Guran and The Book of the Dead edited by Jared Shurin
  • Favorite overall short stories: In addition to my favorite stories in the books above, I’d also give a special place to The Very Best of Charles de Lint (“In the Pines,” “In the House of My Enemy,” “A Wish Named Arnold,” “Mr. Truepenny's Book Emporium and Gallery,” “Pixel Pixies,” “The Badger in the Bag,” “Timeskip,” “Into the Green,” “Birds,” and “Pal o' Mine”) and to Sooner or Later Everything Falls into the Sea (“And Then There Were (N-One),” “In Joy, Knowing the Abyss Behind,” “Our Lady of the Open Road,” “Wind Will Rove,” and “A Stretch of Highway Two Lanes Wide”).
  • An Aside: My father died suddenly in the middle of my reading for this challenge. The books I read from Zenna Henderson and Charles de Lint really helped me during this time, with de Lint’s book making me cry multiple times (in a good way).
The End
Sometime last year after touting one short story or another to my friends, I said, “Oh, I don’t think I read *that* much short fiction,” and they all looked at me funny for some reason.
Oh. Never mind. I get it now.
All joking aside, I’ve read SF/F magazines off and on growing up, and I always enjoyed the occasional Year’s Best Science Fiction anthology from Gardner Dozois, and Robert Silverberg’s Legends anthologies were rather formative to my growth as a fantasy reader (that’s where I read George R.R. Martin and Robin Hobb for the first time). Some of my favorite writers have done amazing short stories (in fact, I think I like Alastair Reynolds better at the short length than the novel; witness my love for his story “Zima Blue”!). Even if you don’t read more than the usual five short stories for the Bingo Challenge, please consider branching out! I hope I’ve shown with my own card how much variety is out there.
If you’re not sure where to start, your favorite author may have some short stories of their own, either in an anthology or one of their own collections. Mary Robinette Kowal is one of my favorites, and I loved her collection Word Puppets. If they’re prolific enough, they may have a “Best of” book, like The Best of Connie Willis or The Very Best of Kate Elliott. Trying one of the Year’s Best anthologies I mention under #13, Published in 2020, is also a fun way to explore short fiction.
And even though I didn’t read any for my Bingo Challenge, there are tons of SF/F magazines out there to read from on a daily, weekly, monthly, bimonthly, or quarterly schedule. My personal recommendation is for Asimov’s SF, FIYAH, and Fantasy & Science Fiction for subscription-only options, and places like Clarkesworld, Uncanny, Fireside, and Tor.com for free online stories. There are also some great magazines/sites like Beneath Ceaseless Skies and Daily Science Fiction.
Looking at award lists is a fun way to get started, as most of the major awards also have short fiction categories. Find out where they were published and try out a magazine issue or an anthology.
I’ll end this with the following:
  • an interview by our own tctippens with Jonathan Strahan over at the Fantasy Inn Podcast where they discuss not only his new anthology The Book of Dragons, but reading short fiction in general.
  • Editor Jared Shurin ( pornokitsch ) just came out with The Best of British Fantasy 2019 this past June: check it out!
  • One of my favorite short story writers is John Wiswell, and I’d like to link two of his wonderful stories: "Tank!" follows a sentient tank attending its first SF convention, and "Open House on Haunted Hill" is a very sweet story about a haunted house trying to get sold to a new family. Both stories are quite short and you can read each in just a few minutes.
  • And finally… this is what the internet should be: Naomi Kritzer's "Cat Pictures Please"
submitted by FarragutCircle to Fantasy [link] [comments]

WotV PvP Tactics & Mentality - Six Months of Mediena Bombs & how the Meta Evolves in PvP

WotV PvP Tactics & Mentality - Six Months of Mediena Bombs & how the Meta Evolves in PvP
*** Registration is Now Open until 9/15 for the latest Live PvP tournament, organized by u/LongTimeGaming. There is no entry fee and everyone is guaranteed at least five rounds of combat! Please PM him or myself for details on how to register! ***

For today's entry I want to discuss one of the stronger live PvP strategies currently floating around the meta, particularly at the higher player ranks or with whales smurfing at lower ranks: The Medi (Mediena) Bomb.

What is a Medi Bomb?

Let's start with an example formation:
The non-Medi options are pretty flexible. One of the Mag VCs should be on Medi not House B for extra mag power.

And some idea of what AGI you should be able to see (90+) and other stats:
My medi isn't close to tip top shape - I never use her in live PvP!
Mediena's LB, Cosmo Plume, is well known throughout the community for its power, wide AoE range, and immediate availability. Coupled with Shukuchi Medi has a threat range of NINE squares (movement of 4 plus maximum effective range of 5) and so a forward deployed Medi can reach all possible starting locations except for two on the current PvP map:

Initial Deployment - Medi forward and centered.

From forward center Plume Medi can hit all possible squares except the back two corners - Cid and Mont are about to have a bad day!
Once properly setup the execution of this strategy is as brutal as it is simple: Medi runs forward and tries to OHKO as many of the enemy team as possible. The remaining units in the Medi Bomb formation exist to provide clean-up in the event that enough of the enemy team survives to take out Medi.

Medi Bomb Breakdown - Synergies

The Medi bomb, as it currently exists, comprises three major components: a Shukuchi Mediena, Agility, and as much Magic/Magic Attack equipment and VCs as can be mustered together. If you take away any of these components the win probability of the strategy plummets. Let's examine each in turn:

  • Shukuchi (and forward deployment) - Without Shukuchi and pushing Medi as far forward as you can you leave a lot of squares open where the enemy team can be hiding. No highly competitive team in live PvP is sticking to the default 'three across' formation!
  • Agility - Medi's main weakness is her fragility. If Medi doesn't go first there's the chance that the opponent will have a high speed unit in place to OHKO Medi (i.e., Frederika) or will at least be able to reposition their faster units out of Medi's threat range. Shadow Runner on a Medi is a must of course, but VCs that yield AGI are crucial as well.
  • Magic Attack - Being able to OHKO at least one enemy unit is essential - a unit with 1 HP is as dangerous as a unit with 4000 HP. A Platinum Rod +5, and a high level Trousseau are the most important elements. Mag from Ramuh is useful. You won't have Medi's own mag passive available due to needing Speed + Movement.

Responses to the Medi Bomb - Sample Formations

So here are some sample formations I whipped up - note the screenshots are composites from my main account so levels and etc. are not going to be optimal. There are many variations possible, these are just starting points!

Option 1 - Go Faster than Medi

Gunner Girls that are faster than a Medi Bomb are close to a guaranteed win!
The hardest counter to Medi bomb is a Fred that's faster than her - A properly kitted Fred can OHKO a Medi with sharpshoot off the bat without any external buffs. Because Medi + AGI VC is always faster then a Fred without, you will need to put AGI cards of your own on top of your Fred to ensure you go before the enemy Medi does.

Option 2 - Be able to survive the Plume

This is the second picture here - the first one had an impossible setup for Rain due to my photoshopping (I don't own Rain).
There are of course characters that can survive a plume, even a plume from a super whaled out Medi. Rain is one of these - he's a magic tank off the bat and he has elemental advantage to Medi. Ayaka can stand your viktora back up post plume while Rain can OHKO the Medi.

Option 3 - Be able to Evade the Plume

Miranda is a super useful utility placeholder for these formations
Vinera is pretty popular in live pvp these days due to her combination of speed, power, and high evade. She is essentially unhittable to teams that haven't geared with guaranteed hit options or stacked as much ACC as they can. I don't have a leveled up Vinera to test the above combination for exact hit percentages but an unbuffed Vinera should have about 150-200 evade depending on cards. Not exactly easy to hit with a plume!


A Brief History of the Medi Bomb

Finally, the changes in popularity to the Medi Bomb through time exemplifies the essential elements that define the 'meta' in live PvP: the outcome to nearly every match is a binary win or loss. Any team that is slightly better than another will win almost all the time holding all over elements equal. Medi's evolution in live pvp shows this perfectly.
In the first weeks of WotV, Medi bombs were one of the most common formations available. Medi was I think the fastest launch character and once she hit level 40 she could OHKO most other units common at the time that were also at level 40 (Mont, Sterne, etc.). This meant that Medi could just run up and drop the other team. Lots and lots of Medi v Medi engagements were happening and Medi's dominance in PvE and PvP was often remarked on by jokes or commentary here and elsewhere.
Flash forward to the FFT event or so and Medi bombs disappeared from competitive play. Two things happened: Frederika and increasing toughness of teams. Fred, as I said before, is a hard counter to Medi as long as she goes first and at this stage in the game almost no one had high AGI VCs so Freds melted Medis off the live PvP scene. A secondary effect was that everyone was getting to level 99 on their mains and starting to amass TMRs - Medi stopped being able to OHKO units.
Medi Bombs stayed quiet for the months following FFT until Platinum Rod came out, then whales with +15% AGI off the House Beolve card could go first in most engagements and do enough damage to OHKO broad swaths of units. Now with FFT2 almost done plenty of dolphins or even minnows/f2p willing to proc 5-6 whimseys per day can have their 15% AGI cards so Medi bombs are more accessible.
Essentially, the meta is an unstable equilibrium defined by a complex set of inputs and that binary output of winning/losing. As soon as Medi is one AGI slower then her hard counter *and that hard counter is common* she becomes worthless. Same with the tipping point between OHKO and survival. Right now medi bombs are fast and powerful - therefore viable against many team comps.

Well that wraps up today's post - this one turned out to be longer than I was expecting. Let me know if its too long in the comments and if you have any suggestions for future topics that you'd like a detailed breakdown on please let me know!



------------------------------------------------
WotV PvP Tactics & Mentality is an irregularly updated series of posts about the most neglected aspect of WotV: Live PvP If you liked this post, feel read to my previous entries in the series:
1. WotV PvP Tactics & Mentality: Playing Ahead vs Playing from Behind
2. WotV PvP Tactics & Mentality: Getting the most out of the GUI and the OODA Loop

submitted by RedKnightRG to wotv_ffbe [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]

A guide to Battlecast Brawler Hyper Roll for patch 10.13

A guide to Battlecast Brawler Hyper Roll for patch 10.13

https://preview.redd.it/6auss91plw651.jpg?width=1209&format=pjpg&auto=webp&s=eb1e07aee7f71aa96df8c52179dfa6d0bd8b2b64

This is a guide to a battlecast brawler hyper roll build I've been working on in patch 10.13. (Or HyperBeam HyperRoll as i like to call it)


Down below I've shown what the comp should look like at various stages of the game, as well as the general strategy and itemization.

Hyper roll builds have disappeared from the meta with the introduction of set 3.5, mostly to to the nerfing of key 1 cost units like Poppy and Xylah, the removal of the Void alliance, and level 4 rolling odds changing from 60% to 55% for 1 cost units.
However, I think with the massive buffs to Illaoi and the battlecast synergy and it's units, as well as the massive increase in odds for 3 cost units from 10% to 15% at level 4 make this build viable if you abuse those odds to find an early Cassiopeia, and get 4 battlecast online early after hyper rolling at stage 3-1. You're almost guaranteed to have her on round 3-2, often you will even find 2 copies or a 2 star Cassiopeia on your first hyper roll. I think by shifting the focus of hyper roll builds away from 3 starring a board of 1 and 2 cost units, and focusing more on abusing the 15% odds for 3 cost units, and focusing on 3 starring a few one cost units, and getting super early 2 star 3 costs who unlock important synergies, hyper rolling can be quite good again.
Anyways, here's the rundown of the comp:

The build focuses on building Illaoi and Cassiopeia as your carries. The compound effect of all the buffs to Illaoi and battlecast have made her tankiness and power increase exponentially, especially at 3 star. Combining the buffed heal from battlecast with the bonus HP she got this patch, 10% more armor and magic resist steal and the massive 50% increase from 4 second to 6 second steal duration, allowing her to stack up much more at a single time makes her a way stronger unit at 3 star than she was in 10.12. Combining this with the right set of items easily rivals Poppy in the golden days of the Candyland build. As for Cassiopeia, despite getting a nerf to DPS, the amount of damage instances she does is very powerful with the battlecast synergy. With Blue Buff and Morellonomicon, you'll be dealing 2 instances of tick damage on your opponents entire team very early into the fight, triggering tons of blasts/heals. When played in this comp, she is a way stronger carry than she is in the Vanguard Mystic build, despite being nerfed. The 4 battlecast synergy has been buffed enough that it can crush early game and carry you through mid, until you find Urgot later, and the 6 battlecast alliance has been buffed enough to make this build viable in the late/top 4 portion of the game. Buffs to Nocturne and Kog'Maw aren't huge, but still relevant. This comp also makes great use of spatula. If you can get battlecast spat, you can run 6 battlecasts at level 6, without needing to to wait all the way to level 8 to find Urgot. The 480 damage blasts/heals at earlier stages of the game will pretty much ensure you steamroll.
In summary, the comp wants to have long fights with an unkillable Illaoi and Malphite 3 star in the front, buying time for Cassiopeia's damage over time, and your battlecast procs to do work, while the combination of Ionic Spark and Illaoi's resistance reductions massively increase your damage output as your tanks run endlessly into the opponents units and debuff them to oblivion.

Super Early Game (Stage 1-2)

In the super early game, you should econ as much as possible. Focus on making interest at all times, and only deviate from this if it means picking up an Illaoi, Cassiopeia, Malphite, or Nocturne. You want to hang onto as few units as possible that don't go into the level 5 comp shown below. Holding onto one Kog'maw is a good idea, but 2 starring him before you roll down your gold at 3-1 isn't worth it. It costs way too much in interest gold and you will always be able to 2 star him very early with your hyper rolls, and having him 2 star isn't the most important thing. What really matters is having him for an early 4 battlecast synergy. If you can sell Cog'Maw to make interest it's generally worth it, as you can always find another copy during your hyper roll. You want to streak for maximum econ without ever breaking your streak, which usually means loss streaking until the crug round. This also ensures you get first/early pick at the carousel. Getting the right items, specifically an early bramble for your Illaoi, is important for this comp, so it's normally the best approach. I wouldn't recommend committing to win streaking unless you're entering the first PVP rounds with 2 star units and some solid completed items, or if you lucked out and got Cassiopeia on stage 1. Ideally you want between 40-50 gold for stage 3-1, at which point you hyper roll to 0 and try to 3 star Illaoi Malphite and Nocturne, while 2 starring Kog'Maw, and finding Cassiopeia 1 or 2 star. Consider holding onto Blitz crank and Vi during your roll, until you find the 4 battlecasts so you can play a 4 brawler start as a backup plan if need be.

Sidenote: picking up as many 1 cost and 3 cost units as possible while you're rolling down your gold will slightly increase your chances of 3 starring units and hitting Cassiopeias by removing some units from the pool. This isn't huge but it can be the difference between hitting a 3 star unit a round or two earlier, which does matter.

Early Game (Level 4-5)

Level 5
You want to get Illaoi to 3 star as your top priority, while looking for Malphite and Nocturne 3 star along the way. Kog'Maw 3 star is nice but it isn't worth the bench space and gold and will ultimately slow you down too much. Getting him to 2 star early is all you need. The other goal is to find Cassiopeia 2 star early during the hyper rolls, but never roll specifically for her, as a 1 star Cassiopeia is all you need early on, and you should get her to 2 star extremely early naturally with your hyper rolls now giving you 15% chance for 3 cost units in the early game anyways. The only 3 star unit that is absolutely crucial to the comp is Illaoi. Malphite makes the comp much stronger if you can 3 star him, but the comp can function without him. 3 star Nocturne is much like Zoe in Candyland; a nice bonus if you find him, and quite useful with his 4 second stun, but you don't need him 3 star. It's always worth the econ and bench to hang onto him though. Since this is a hyper roll build, you never spend money on exp until you are fully ready to go to level 6, where your odds for finding 1 cost units decrease drastically. Once you find Illaoi 3 star, you should go to level 6 if you aren't anywhere near finding Malphite and nocturne 3, but if you have 5 or more copies of either of them, and if the units aren't being heavily contested, it's worth staying at level 5 longer and rolling down again for 3 star on all your 1 costs first. Be patient with your gold, and try to econ up to 30-50 gold before rolling down each time, instead of rolling all your gold as you get it, unless you are dying and have no other option. You usually want to run the 5 units shown above, however if you failed to find 4 battlecast, you can run 4 Brawler instead, although this isn't as good. The other main thing to consider is running Zed instead of Malphite. Zed can be worth it if you ended up with a 3 star Nocturne, or if you somehow didn't find 2 star Malphite on your first hyper roll, which is incredibly unlikely. Otherwise the 2 Brawler front line with 4 battlecast is your best option.

Mid Game (Level 6-7)

Level 6
level 7
At this point, hopefully Illaoi and as many other 1 costs as possible are 3 starred, or 1-2 copies away from being 3 starred, and you have 2 star Cassiopeia. The best option at level 6 is to add a Mystic to further increase your units durability. Soraka is great, and her healing has great synergy with the innate tankiness of your units. Karma is also great to link to your Cassiopeia. If you can't find a mystic the option of throwing in a 2 star Zed or a Fizz is also okay. Running Infiltrator in the place of Mystic can actually be better up until late game if Nocturne is 3 starred. At this point in the game, you don't want to be rolling any more. Just econ up and pick up more brawlers, and finish 2 starring everything you can, and finishing 3 star units unless it becomes unrealistic to keep looking for them. At level 7, you want to add in two brawlers and take out the mystic, for 4 brawler 4 battlecast. Adding Vi and Gnar provides much more valuable front line to buy time and drag out the fight for your Cassiopeia and battlecast procs to do work, as well as providing you with lots of CC. If the game is going well, i prefer to econ up to 50 on level 6 and slowly pump gold into exp, while remaining at 50 gold, then pump all my gold into levels to jump strait to level 8 right after, but if you are being pressured it's fine to go to 7 sooner if you're taking too much damage.

Late Game (Level 8-9)

Level 8
Level 8 alt
Level 9
At level 8, add your Mystic back in (Soraka being the best). You don't have much to do here as far as your build, aside from trying to find Urgot and Viktor, if you don't already have him, to go to 6 battlecast. Once you find Urgot, either replace Cog'Maw with him (or Nocturne if you never 3 starred him) or take out 2 of your brawlers and go for 6 battlecast, 2 brawler, 2 mystic. If the game goes to Level 9, you can simply play 4 brawler 6 battlecast. If you're facing heavy magic damage lineups that don't require you to strengthen your front line as much (such as Gangplank/Riven and 6 sorcerers) you can consider 4 mystics instead of 4 brawlers. This is especially effective if you have dragon scale on Illaoi, and practically allows her to 1v9 against those kind of comps.

Spatula Variation

Level 6
Level 9
If you get a spatula, you can make battlecast spat and put it onto your Malphite. Malphite carries Ionic spark in this comp, so giving him the ability to output some magic damage is nice while hes tanking for you, but more importantly he has tons of hp to work with so he will survive on the front line for much longer with battlecast heals and keep that ionic spark aura up for longer.
With battlecast spat, you can add Viktor in at level 6 for the 6 battlecast synergy. The DPS increase to 480 for each battlecast proc at this early in the game is brutal, and also makes Illaoi unkillable with the increase heal. You can play 4 brawler 6 battlecast at level 8 now as well, and at level 9 you can play a mystic on top of the normal comp, while dropping one of your less useful battlecasts.

Items

Carousel Priority is Spatula > Chain Vest > Cloak > TeaRod > Belt/Gloves

It's essential that you prioritize getting Bramble first, Blue Buff second, then two additional tank items for Illaoi and Morellonomicon as a third priority, and lastly Ionic Spark or Rapid Firecannon are luxury items (they help you win more if you're ahead, but don't stabilize you if you're behind).

Basically, Bramble vest is the most important item in the comp, with Blue Buff being a close second. They are the only irreplaceable items. Bramble plays a crucial role in carrying you through all stages of the game. It's value on tanky units, especially at 3 star, is too great to ever pass up. It will do a ton of AOE damage, and it creates quite a lot of damage instances throughout the fight to fuel battlecast.

Ideally, Illaoi wants Bramble, Dragon Scale and Quicksilver. I believe these items best leverage her stolen resistances from her spell and increase her survivability.
The armor from vest, plus the negating of crits, coupled with 20% evasion from quicksilver, makes her very durable against physical damage.
The magic resist provided by Dragon scale and Quicksilver bring her magic resistance extremely high, and she ends up taking almost no damage when incoming magic damage is reduced by 50% by scale before even considering her resistances.
The immunity to crowd control from Quicksilver is very important on her as well, as it allows her to cast without interruption, and she can't be stunned before she has a chance to steal resistances. Stacking up a few casts in the first 10 seconds of the fight is enough to make sure she is always working with added armor and magic resist.
Getting these 3 items isn't imperative though, as long as you have bramble you can replace one of the other slots. Warmog's works fine in giving her more raw HP to leverage her mass stolen armor and magic res, and gives her more HP to stay alive and heal back up with battlecast procs. Titan's resolve is also an acceptable replacement as she is one of the units who can actually get it to 50 stacks and then stay alive and heal back up for a long time thereafter to make good use of the item to its full potential.

Cassiopeia wants Blue Buff and Morellonomicon. With this combination of items, she can dish out tons of damage over time as long as she has a tanky front line to buy time for the damage to do its work, as we've seen in builds like Vanguard Mystic and Mystic Protectors. Given two sources of tick damage on every unit that she casts on, not only does she melt entire teams, she goes rapid-fire with the battlecast procs, even managing to stay alive through rapid healing if she gets jumped on the back line.

The last item is Ionic Spark. This is best on Malphite 3 star, but can be on any Brawler. I don't recommend putting it on Illaoi because it offers less defensively and we just want to make her as tanky as possible with her 3 slots. Combining the magic resistance debuff aura and Illaoi stealing 60% resistances every cast from whoever she hits, your team will be able to easily melt enemies.

Almost all item components have good use in this comp, but BF Sword is quite a dead item. The best you can do is make a Zeke's Herald or GA with it.

Other notable items if you happen to get them:

Rapid Firecannon - Great on Cassiopeia, and allows you to position her as safe and far away as possible. Any Bows you pick up should go towards building this item. It didn't make the cut for the item build, but it would be the next best thing that isn't on the core 6 item list. Don't prioritize bows on the carousel over anything else for this item, but it's nice if you end up with one.

Protector Spat - Spatula should be built into battlecast spat, but if that ends up being impossible, or you pick up the full item on a later carousel, it can be great for Cassiopeia to perma-shield once you activate protector synergy with Urgot. Jarvin and Karma can be played until you find Urgot, to get protector and dark star.

Thief's Gloves - If you end up with extra Sparring Gloves you can just combine them onto Nocturne or victor to get some value out of them.

Frozen Heart - If you have spare chain vest and tear drops, this is a nice item to have on either a brawler, or on Nocturne.

ZZ'Rot Portal/Redemption - If you end up with these, they're nice on Nocturne, as he will jump to the back line, cause havoc, then give you benefits for dying.

Positioning

Depending on what brawlers you're using, there are two general approaches to positioning Cassiopeia. If you have all your brawlers up front, it's best to have her to the second row against one of the edges, with a brawler directly in front of her. If you're running Blitzcrank, you can put him in the corner with Cassiopeia next to him. This will give her a target to attack in between casting her spell. Since she only needs to hit once to gain full mana with blue buff, she should be able to distribute her poison to most of the enemy team from the safety of the back row before the pulled unit dies, forcing her to move up closer.

Malphite (or whoever ends up with Ionic Spark) should be towards the center to maximize the aura's effect. Illaoi should also be centered. Her and Malphite are the tankiest units assuming they're three starred, and it's also best to have her near the Ionic spark to ensure she stacks magic resistance reduction from Tentacle Smash and ionic spark onto the same units, helping your team burst down targets better.

Nocturne can typically kill off a target during his 4 second stun duration, so having him jump onto a key spell caster such as Lulu/Xeraph or a carry is important. In the top 4 and above, his positioning becomes increasingly more important as you can target specific players more easily.

Cow'Maw isn't the most impactful unit, so he should be positioned in such a way that he will tankenemy Blitzcranks.

In general, I prefer to play towards one side in the early game, to better help your units focus fire, and cause battlecast to target the same unit. later on, I typically prefer to spread out more.

Pros and Cons

Pros:

- Counters Vanguards and Mystics. Cassiopeia with Morellonomicon melts them, and Illaoi's spell turns their own strength against them, making her ridiculously tanky and stripping them of their alliance bonuses.

- Counters Protectors due to Cassiopeia 50% shield reduction.

- Not Super contested in general. Not many players are 3 starring these units, and with hyper rolls you can get your hands on the highly contested Cassiopeia before anyone has a chance to empty them out of the pool.

- Good in Trade Sector, Neekoverse, Star Cluster, Superdense Galaxies.

- Easy Top 4 if you get some 3 stars at a reasonable time, or hit your items on Cassiopeia and Illaoi

Cons:

- Easy Bottom 4 if you get unlucky with your hyper rolls

- Can struggle against Blasters with the 80% true damage from Giant Slayers against your High HP units, and heal reduction from Red Buff. If more than two players are going blaster brawler, you shouldn't go for this comp, as your units will be contested as well and 3 starring the important ones could become impossible.

- Can be weak against sorcerers. Burst damage comes in less, more intense damage instances, and doesn't let you proc enough battlecast heals. Their units often don't have much resistance to steal making Illaoi less effective and more vulnerable, as well as losing value on HP% burn from Cassiopeia since their units are fairly low hp.

- Bad in Binary Star and Galactic Armory. Risky in Littler Little Legends Galaxy. If you snowball early you can crush the game easily, but if you take a bit too long hitting your power spikes, you'll be in a rough spot.

That's it for the guide, thanks for reading! I hope you give this comp a try and have fun!

If you have any feedback or questions, feel free to DM me!
submitted by vice4862 to TeamfightTactics [link] [comments]

An initial guide to get the best performance for Overwatch on Linux

Hello!
I have promised many of you guys that I will make a guide to get most out of your Linux machine to smooth sail on Overwatch and get those fine blink punches/sleeps/deflects/6 man shatters/etc... And I haven't done it yet! Because I am still working on figuring it out (there are so many things to consider and test out), I am also working on making scripts that will be useful to you guys!
So for now, I will state what I am using along with my experience with things. Note that for example that I don't have any information on tweaks related to Nvidia cards and Intel CPUs, feedback is appreciated on that end. If you have questions please ask on the comments.
Now let's start!

My specs and stats

System configuration

This is the interesting part for you!

Lutris

I have only used Lutris to install and run Overwatch, I don't think there's room for improvement in here since Lutris is just here to run overwatch with a chosen Wine version and environment variables. Correct me if I am wrong.
Some useful settings: * Enable FSYNC (if you have a patched custom kernel) otherwise enable ESYNC: once overwatch is installed, go to "Configure" > "Runner Options" > Toggle FSYNC or ESYNC.

DXVK

This is the library that maps DirectX (Windows) calls to Vulkan (Multi-platform and open source). It's better than wine's built-in mapper called WineD3D. Lutris provides a version already. You can compile your own latest one with some better compiler optimizations if you wish, and that's what I am doing but I have no idea about the possible FPS benefits of doing that. To do so you will need to put what DXVK's compile script gives you in ~/.local/share/lutris/runtime/dxvk/. Link here: https://github.com/doitsujin/dxvk
```shell git clone https://github.com/doitsujin/dxvk.git
cd dxvk
export CFLAGS="-march=native -O3 -pipe" export CXXFLAGS="${CFLAGS}"

Build new DLLS

./package-release.sh master ~/.local/share/lutris/runtime/dxvk/ --no-package And if you feel even more adventurous, you can replace `CFLAGS` export with this set of compiler flags: shell export CFLAGS="-march=native -O3 -pipe -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -fno-semantic-interposition -fipa-pta -fdevirtualize-at-ltrans" `` Then you go in Lutris and tell it to use this version of dxvk: "Configure" > "Runner Options" > "DXVK Version" and putdxvk-master`

GPU

  1. Update to the latest possible driver for your GPU
  2. If you are hesitating between AMD and Nvidia for your next GPU buy. As far as Linux is concerned: AMD all the way, because they are way more supported since they give out an open source driver.
AMD
A nice documentation is given by, once again, Arch's documentation: https://wiki.archlinux.org/index.php/AMDGPU
Mesa / RADV
If you are running RADV and with a mesa version prior to 20.2, you should consider trying out ACO as it makes shader compilation (which happens on the CPU) way faster : go to "Configure" > "System Options" > Toggle ACO.
Your distro ships the latest stable version, you can go more bleeding edge to get the latest additions, but keep in mind that regressions often come with it. On Ubuntu there's a PPA that gives out the latest mesa. Otherwise you can compile only RADV by hand with the extra bonus of using "agressive" compiler optimisations (-march=native, -O3, and LTO, PGO is also possible but I am still failing to successfully pull it off) and use it for Overwatch (and any other Vulkan game) in a per game basis:
shell git clone --depth=1 https://gitlab.freedesktop.org/mesa/mesa.git cd mesa mkdir build export CFLAGS="-march=native -O3 -pipe" export CXXFLAGS="${CFLAGS}" meson .. \ -D prefix="$HOME/radv-master" \ --libdir="$HOME/radv-mastelib" \ -D b_ndebug=true \ -D b_lto=true \ -D b_pgo=off \ -D buildtype=release \ -D platforms=drm,x11,wayland \ -D dri-drivers= \ -D gallium-drivers= \ -D vulkan-drivers=amd \ -D gles1=disabled \ -D gles2=disabled \ -D opengl=false meson configure ninja install And here again, if you feel even more adventurous, you can for this set of compiler flags: shell export CFLAGS="-march=native -O3 -pipe -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -fno-semantic-interposition -fipa-pta -fdevirtualize-at-ltrans"
After running the lines above, you get the driver installed in $HOME/radv-master. Now, to use it for Overwatch, you go to "Configure" > "System Options" > Environment variables and add the following line:
VK_ICD_FILENAMES=$HOME/radv/share/vulkan/icd.d/radeon_icd.x86_64.json:$OTHER_PATH/radeon_icd.i686.json where you should manually replace $HOME by your home path /home/Joe and $OTHER_PATH by where radeon_icd.i686.json actually is, you can find out with sudo updatedb locate radeon_icd.i686.json If the games crashes after doing all this, you can either try other git commits (you will need some git knowledge) or revert to the stable driver by simply removing the VK_ICD_FILENAMES environment variable. And if you don't wanna hear about bleeding edge mesa anymore you can simply remove the mesa folder along with $HOME/radv-master.
Nvidia
The least one can do is redirect to Arch's documentation about it: https://wiki.archlinux.org/index.php/NVIDIA
If you didn't install the proprietary driver your computer is likely to be running an open source driver called nouveau, but you wouldn't want that to play games with that as it works based off reverse engineering and doesn't offer much performance.
Once you have the proprietary driver installed, open nvidia-settings, make sure you have set your main monitor to its maximum refresh rate and have 'Force Full Composition Pipeline' disabled (advanced settings).
Also, in Lutris, you can disable the size limit of the NVidia shader cache by adding __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 to the environement variables.

Kernel

First, try to get the latest kernel your distro ships, it often comes with performance improvements (it contains the base updates for the amd gpu driver for example).
Otherwise, this is something not many touch, but using a custom one can bring improvements, especially on the 1% low fps (a benchmark here: https://flightlessmango.com/benchmarks/XDXMkN8m_FY). I am running linux-tkg, with the PDS scheduler and FSYNC patch. Both of these help getting better performance in games. Linux-tkg needs to be compiled on your own machine (where you can use compiler optimisations such as -O3 and -march=native) with an interactive script and a config file, I worked on the script to install on Ubuntu recently :D. link here: https://github.com/Frogging-Family/linux-tkg
For a less efforts solution, you can look up Xanmod kernel, Liquorix, Linux-zen. That provide precompiled binaries.

Game mode

It's a small program that puts your computer in performance mode when you start your game, it's available in most distro's repositories and I believe it helps in giving consistent FPS. Lutris uses it automatically if it's detected, otherwise you need to go, for Overwatch, "Configure" > "System Options" > "Environment variables" and add LD_PRELOAD="$GAMEMODE_PATH/libgamemodeauto.so.0" where you should replace $GAMEMODE_PATH with the actual path (you can do a locate libgamemodeauto.so.0 on your terminal to find it). Link here: https://github.com/FeralInteractive/gamemode.
You can check whether or not gamemode is running with the command gamemoded -s. For GNOME users, there's a status indicator shell extension that show a notification and a tray icon when gamemode is running: https://extensions.gnome.org/extension/1852/gamemode/

Wine

Wine can have quite the impact on Overwatch, both positive and negative. Latest wine from Lutris works fine. You can give a try to wine-tkg here, it offers quite the amount of performance patches and, for overwatch, improve the game's performance. It also can be compiled with more agressive optimisations: https://github.com/Frogging-Family/wine-tkg-git

X11/Wayland

I use only X11 for now, and works nicely. Wayland is not a good idea, except if you want to try a custom wine with Wayland patches: https://github.com/varmd/wine-wayland. I tried once and failed, haven't retried, to see if some performance benefits can be reaped.

Performance overlays

Two possibilities:

OBS/Streaming

Works nicely with X11 on AMD GPUs, actually better than Windows, since you can use VAAPI-FFMPEG on Linux, and it has a better video quality than the AMD thingy on windows. Nvidia has been reported to work nicely on linux and on windows with their new NVENC thing.

Compositor / desktop effects

The compositor is the part of your DE that adds desktop transparency effects and animations. In games, this can result in a noticeable loss in fps and added input lag. Some DEs properly detect the fullscreen application and disable compositing for that window, others don't. Luckily, Lutris has a system option called Disable desktop effects which will disable compositing when you launch the game and restore it when you close it.

Misc

I will update this post whenever something new comes up or someone has new things to share: Your feedback is more than welcome!
submitted by Aliezan to Linux_Overwatch [link] [comments]

Escape from Tarkov New Player Guide 2.0: 75 Pages and packed with all the information you could ever need for success!

Introduction

Greetings, this is dumnem, also known as Theorchero, but you can call me Theo. I'm an experienced Tarkov player and I'm writing this guide to try and assist new Tarkov players learn the game, because it has one hell of a learning curve. We'll be going over a lot of different aspects of this guide, and it is going to be huge. Feel free to digest this in parts.
Additionally, this is a work in progress. I will write as much as I can in one Reddit post, but subsequent parts will be in additional comments. Google Docs Version (Note: Link is placeholder atm, but here is a sneak preview!)
Disclaimer: Tarkov recently updated to .12! That's a HUGE amount of information that I need to update. Please be patient! If there is anything I have gotten wrong or may have omitted, please let me know.
This is Primarily directed towards Tarkov Novices, but should be useful for even Tarkov Veterans. It hopefully includes everything you need to know to be able to go into a Raid equipped for success and to successfully extract with gear.
Want to play with friends? Want to have fun and learn Tarkov? Check out my discord here.

Changelog

3/9/20:
  • [Updated for .12]
  • Money making strategies completed.
  • Minor grammar adjustments, adding additional medical items.
  • Added additional resources, updated old ones.
  • Hideout section complete

Table of Contents

  • Tarkov Overview - What is Escape from Tarkov?
  • Tarkov Resources - Useful links
  • Tarkov's Maps
  • Tarkov's Health System
  • Tarkov's Hideout System
  • Tarkov's Quest System and Progression
  • Tarkov's Hotkeys to Know
  • Getting Started
  • Player Scavs
  • New Player's loadouts - LL1 Traders
  • What to Loot - How to get the most money per slot
  • Stash Management - How to combat Gear Fear
  • Tarkov Economy - How do I make money?
  • What now?

Tarkov Overview - What is Escape from Tarkov?

Escape from Tarkov is a tactical, realistic, FPS with MMO elements developed by Battlestate Games. It is currently in closed Beta. The game features several maps in which your primary character, your PMC, goes into Raids in order to find and salvage loot and useful equipment to survive and thrive in Tarkov. Death is very punishing in Tarkov. If you die you lose everything you had on you when you die (with the exception of what's inside your Container and your melee weapon) including any equipment you brought with you or what you found inside the Raid.
Enemies can be players (PMCs) or Scavengers ('Scavs') that are either controlled by AI or by players. Unlike many shooters, AI enemies in Tarkov are deadly - they can and will kill you on sight. They have recently been upgraded to act more intelligently, shoot more accurately, and react to situations on the map, such as investigating noise of gunfire or searching. It features beautiful and immersive environments, intricate and in-depth weapon modification system, a complex health system, dynamic and specific loot placement, and multiple options for engagement. Do you want to play slow and stealthy, to avoid fights, or set up a deadly ambush on an unwary foe? Or do you prefer raw combat, where only your quick wit, placements of shots, and tenaciousness determines who gets out alive? It's your Tarkov. You make the rules.

Tarkov Resources - Useful links

I take no credit or responsibility for any of the content in these links. To the best of my knowledge, these are updated consistently and are accurate, but user beware.

Quick-Reference Ammo Chart

An updated ammo chart can be found on the wiki.

Tarkov Wiki

Absolutely fantastic resource. You can visit them here.
It is a massive collection of everything that we players have been able to find.
They contain trades, user-created maps, lists of ammo, parts, weapons, loot, etc. If it's in the game, it's on the Wiki, somewhere.
I highly recommend opening the wiki page for the Map that you plan on raiding in.
Factory
Customs
Woods
Shoreline
Interchange
Reserve
The Lab ('Labs')

Map Keys and You

Huge collection of all the keys in the game. These are also on the wiki, but this page has them all on one page, and tries to inform the user if the key is worth keeping or using.
Check it out here.
This section is open to revision. Mention me in a thread (or in the comments below) about a resource and I'll see about adding it here.

Tarkov's Weapon Compatibility Guide

Pretty self explanatory. Also includes a Key guide and a Mod guide.
Check it out here.

HUGE Reference Bible by Veritas

Courtesy of Veritas (Send me his reddit username?), It's located here. (Open in new tab.) Contains: Detailed information about: Ammunition, Health, Firearms, Body Armor, Helmets, Rigs & Backpacks, Labs & Quest keys. Outdated! Needs to be updated for .12

Offline Raids - Player Practice

Offline raids is a feature added for testing and learning purposes for both new and veteran players alike. It is an incredibly useful tool.
In an offline raid, your progress is not saved. This means you don't keep anything you find, keep any experience 'earned' if you successfully extract, or lose any gear when/if you die. To access OFFLINE Raids, head into a Raid normally until you see this screen. Then Check the box indicating that you want to do an OFFLINE raid and you're good to go! You even have a choice on whether or not to add AI. You can also control how many AI enemies spawn, fewer than normal or a great deal more! You can even make Scavs fight each other. (Framerates beware.)
You can control how many scavs spawn (if any) as well as a number of other paramaters. New players should use offline raids as a tool to practice shooting, controls, movement, etc.

Tarkov's Maps

Tarkov features several maps - ranging from wide, beautiful vistas to ruined factory districts, to an abandoned laboratory where illegal experiments were being conducted. It is important to learn the maps you intend to play. In order to keep your gear, you must 'extract' at one of your designated exfiltration points. Not all extracts will be active every game, and some are conditional.

To see what extracts are available to you, double tap 'O' to show raid time and your exfils. If it has a ???? it might not be open.

Factory

Gate 3 Extract
A small, fast-paced map that was primarily created for PvP. Scavs spawn in all the time. Very close quarters, shotguns and SMGs tend to dominate here. PMCs can only access one Exit (Gate 3) without the Factory Exit Key. Good place to go if you need PMC kills as action is pretty much guaranteed. It is recommended NOT to bring in a lot of gear to Factory until you are experienced.
Factory Map in PvP is best played in Duos - due to the layout of the map, a Maximum of 6 PMCs may be present in the game. Due to the split spawn points, you effectively have 'sides' that have up to 3 spawn locations that are close together. This is why it is recommended to secure/scout enemy spawn locations. If you go in with a Duo, you at max have 2 players on your side for an even 2v2, and if played smartly you can eliminate them and know your 'side' is secure from aggression for the time being.
Upon loading in, scavs usually take a couple minutes to spawn, though this depends on the server in question and isn't super reliable. For new players, the best loadout in Factory is going to be a MP-153 Loadout - using just an MBSS (or similar bag) and ammo in your pocket to fight other players and Scavs. Scavs will often spawn with AKs and other 'vendorable' weapons, so is a good source of income.
Factory is also one of the best maps to Scav into, as Scavs can typically avoid the Exit camping strategy employed by a lot of weaker or newer players in order to secure gear, because they typically have extra exfiltrations whereas PMCs without the Factory Exit Key are stuck using Gate 3.
If you go in with a modicum of gear, it is recommended to keep at least a flashbang (Zarya) in your container. This will allow you to quickly slot it into an empty chest rig or pocket so you can throw it into the exit door, this will flash enemies and is cheap to do - the one time you survive because you flashed the 3 exit campers using shotguns will make this strategy extremely valuable.

Customs

Extract map
A fairly large map that was recently expanded and is expected to receive an overhaul within a patch or two, due to the choke point design of the map. Essentially, players spawn either on 'warehouse' or 'boiler (stacks)' side. If you see a large red warehouse ('big red') near you (Customs Warehouse), then you spawned on the warehouse side. If you don't, you likely spawned near Boiler side. Players can also spawn in several places in the woods North of boilers.
This map has the most quests in the game. Geared players often come to customs to challenge other squads over Dorm loot and to fight a Scav boss. New players are usually trying to do one of several early quests, such as ‘Debut’ which tasks them with killing 5 scavs on Customs and acquiring 2 MR-133 shotguns (pump shotties) from their corpses. Construction is also a popular hotspot as it has a lot of scav spawns as well as the location for the Bronze Pocketwatch, which is Prapor’s second quest.
Customs itself does not offer very much loot on average. There are several spots which can contain decent, but the vast majority is located in a couple different locations.
Dorms is the best loot location for Customs. It has two sets, 2 story and 3 story dorms. They each have their own sections of good loot, but the best is considered to be 3 story dorms, due to the presence of the Marked Room. The marked room requires a marked key to open, and has a good chance to spawn rare loot, such as keytools, documents cases, weapons cases, and high-end weapons. Due to the nature of the high value of this room, it’s almost always contested and it’s one of the best rooms in the game to farm, albeit with difficulty to successfully extract with the loot found. Note, though the key required has a maximum amount of uses, it is a fairly cheap key, and worth buying if you like to run customs and go to Dorms.
Dorms also has a ton of early quests (Operation Aquarius, for one) with some keys being valuable to use, but most dorms keys aren’t worth that much on the market. There’s too many to list here, but make sure to check the Map Keys and You at the top of the guide to determine what the value of a particular key is.
Checkpoint (Military Checkpoint) is also a decent loot spot, though not nearly as good as Dorms. If you have the key, it has a grenade box and 2 ammo boxes which can spawn good ammo. The jacket in the blue car also can spawn good medical keys as well as medical items. It is very close to the gas station, so I’ll include that here as well.
The Gas Station is one of the possible spawn locations for the scav boss. It has loose food items, a weapon box in the side room, with two keyed rooms leading to a safe and a med bag and box. Also contains a couple registers and food spawns on the floor. The emercom key can spawn on the seat in the ambulance out front.
North of the gas station is the Antenna, which contains 3 weapon boxes, a tool box, and a med bag. Possible location for scav boss spawn, albeit rarely, and also spawns regular scavs, like checkpoint and gas station.
Beyond that, there’s scattered loot around the map in different places, but usually not enough to warrant going out of your way for. There’s also scav caches, mostly around the middle road outside construction and around the boiler area.
The scav boss for customs is 'Reshala.’ He has 5 guards that have above-average gear and can be tough to deal with solo. The guards tend to be more aggressive than normal scavs, so they can be a lot to handle but are vulnerable to fragmentation grenades or flashbangs due to their close proximity to one another. Reshala himself has a good chance to have one or more bitcoin in his pockets, as well as his unique Golden TT, which is required for a Jaegar quest and used in conjunction with other Golden TT's to purchase a Tactec, good plate carrier. Reshala may spawn either Dorms (either bldg), New Gas Station, or rarely the tower north of the gas station. Scav bosses are dangerous enemies with escorts that have above-average loot (sometimes great loot) and are hostile to everyone, Including player scavs. Scav guards will approach a player scav and basically tell them to leave the area, and if they walk closer towards the scav boss they turn hostile.
The ‘official’ spawn rate for Reshala is 35%.

Woods

Woods Map with Exfil
A very large map that is mostly just a large forest, with the occasional bunker, and the Lumber Mill in the center. The Lumber Mill is the primary point of interest, as it contains a couple quest locations and is the primary location to farm Scavs, as Scavs killed on woods are a good source of end-game keys that are hard to find.
Since the map is so large and open, sniper rifles with scopes usually reign king here. You will see a lot of players with Mosin rifles as they are a cheap way to train the Sniper skill (for a quest later on) and are capable of killing geared players and scavs alike.
Overall, not usually very populated. An early quest from Prapor sends you here to kill a number of Scavs. A good map to learn the game, as although the loot is not fantastic, you can get experience with how the game runs and operates while fighting AI and possibly getting lucky with a key find off a scav.
As of .12, Woods now houses a Scav boss that acts as a Sniper scav. He is incredibly dangerous and usually carries a tricked-out SVDS. The 7.62x54 caliber is not to be underestimated. That caliber can and will wreck your shit through what most players are capable of wearing, especially early on in a wipe. He may also carry an AK-105, so he's going to be dangerous at both short and long ranges.
He has two guards, and he typically patrols the area around the Sawmill, and carries a key to a cache nearby full of goodies. His key is part of a quest for Jaegar.
Woods also has two bunkers, one of them being an extract and requiring a key. Both bunkers have some moderate loot in them, thus worth visiting, though not necessarily worth going out of your way for them. Several quests occur around the sawmill area, which contains a good couple keys that can spawn.

Shoreline

Shoreline Map, with Loot, Exfil, etc
A very large map, notorious for its FPS hit. Generally speaking, one of the better maps for loot. The primary point of interest is the Resort, but scavs spawn there, and is primarily occupied by hatchlings (players only with hatchet, ie melee weapon) and geared players. Resort has great loot, but requires keys to access most of it.
A great map to learn though from new players as the outskirts still contains plenty of loot and combat opportunities with AI scavs. You can hit Villa, Scav Island, Weather station, Docks, etc and come out with a backpack full of valuable gear fairly easily. The Village (Not to be confused with villa) contains a lot of toolboxes which can contain lots of parts used to upgrade your Hideout.
Location of many quests, including a large quest chain where players are required to kill many, many, scavs on Shoreline. For this and other reasons, probably the best map for new players to learn the game with.
A good loot route is to hit the village (caches in it), scav island (2 med bags, 2 toolboxes, 2 weapon boxes, 1 cache), burning gas station (weapon boxes and a safe), pier (potential extract, 2 pcs 2 safes and lots of filing cabinets), and weather station. Scavs may spawn around these areas, but most players just head straight for resort anyway, so you are much less likely to encounter them, especially if you avoid Mylta power (most players hit it on the way to or leaving from the resort). Excellent route as a player scav as well.

Interchange

Detailed map
Great, great loot area, but very complex map. Old computers might face unique struggles with this map. Features a mostly-binary exfil system like Shoreline, but.. kinda worse. Exfil camping is fairly common on this map, but usually avoidable. Huge map with multiple floors and many many different stores. Communication with teammates is a challenge on this map, but the map is also fantastically detailed.
This map features a lot of loot that depends on the kind of store you're in. It's a great place to farm rare barter materials which are valuable to sell on the Flea market or to use for quests or for hideout upgrades. An early quest (from Ragman) sends you here to kill a large amount of Scavs. I'd recommend getting Ragman to level 2 and accepting his quest asap when going to Interchange, as getting this quest done can take a while as it is and you want all scav kills to count towards progress.
Both the tech stores (Techlight, Techxo, Rasmussen) and department stores (Groshan, Idea, OLI) are the primary places to hit. There’s also Kiba (weapons store) as well as Emercom and Mantis. Players have different strategies, but this map is unique in the sense that it really rewards exploring. Most stores will have things you can grab that are worth quite a bit but are often overlooked. Very popular place to go in as a Player Scav.

Reserve

Brand new map, chock full of loot. Has more complex extracts than other maps, save for Labs. Excellent place to farm rare barter items, computer parts, and especially military hardware. PMCs have limited extracts, most being conditional, and the ones that aren’t require activation of ‘power’ to turn on the extract, which alerts the map the extract has been opened and can spawn Raiders (more on them below.)
Additionally, has a scav boss by the name of Glukhar, who has multiple heavily armed guards. He has multiple spawn locations and can arrive with the train.

The Lab ('Labs')

Here's a map.
DISCLAIMER: Labs, like much of Tarkov, is under constant development, so issues may be fixed or created without warning. Always check patch notes!
Labs is a very complex map compared to the rest of Tarkov. There is a great deal more exfiltrations but many of them have requirements or a sequence of events needed to be able to extract from them. It is recommended to read the Tarkov Wiki on Labs before raiding there.

LABS IS NOT LIKE OTHER MAPS. READ THIS SECTION CAREFULLY.

Labs is a lucrative end-game raid location, comparable to 'dungeons' in other games. They are populated by tougher enemies that give greater rewards. In order to go to labs, you need to acquire a keycard, this functions like mechanical keys but instead of opening a door, they unlock your ability to select Labs for a raid.
They may be found in-raid in various locations, most notably in scavs backpacks, pockets, and in filing cabinets. They may be purchased from Therapist at LL4 for 189K Roubles. Labs are populated by a unique kind of AI enemy, Raiders.

Raiders

Raiders are the Labs form of Scavs, or AI enemies. However, unlike other maps, they cannot contain player Scavs. Raiders have a much tougher than your average scav, they are capable of advanced tactics (such as flanking) and throw grenades and use other consumables as a player would. Once 'locked' onto you, they are typically capable of killing you very quickly, even if you are wearing high-end armor.
In Tarkov, Raiders act like the avatars of Death. They are clad in USEC and BEAR equipment, as they are effectively AI PMCs. Many changes have been made to labs and specifically how Raider AI works and to prevent exploits to easily farm them as well as bugs where they could be deadlier than intended.
A general rule of thumb is not to fight Raiders directly. They can and WILL kill you. Raiders can spawn with 7N9, or 'big boy' ammo. This ammunition type is incredibly lethal to players, even those wearing the toughest armor. If you get shot in the head, doesn't matter what kind of helmet, face shield, killa helmet, etc you are wearing, you will almost certainly die.
Because Raiders are controlled by AI, they have zero ping. They may also end to immediately respond as if you were aggressive even if they did not originally know you were there - ESP Raiders effectively will prone and return fire even as you ADS and put them in your sights.
This is why engaging a Raider must be done very, very carefully. There are a few strategies that you may employ, most commonly some form of baiting them towards an area and then killing them when they arrive. Players may accomplish this by generating noise - gunfire, melee weapon hitting walls, crates, etc, player deaths, players Mumbling (F1 by default) can all attract Raiders to investigate your area.
Due to the high power of Raiders, players often go in with minimal loadouts and seek to avoid conflict with other players, especially geared ones. Most players avoid PvP in Labs, though a good portion of the playerbase thoroughly enjoys hunting down poorly-geared players after they kill a few Raiders for them.
As such, players will lay prone in a hallway, or crouch in a room, and attract Raiders to enter their domicile by opening the door, and immediately headshotting them. Few Raiders actually wear helmets (though some do) so most players specialize in 'flesh ammo' or, ammunition that foregoes armor penetration in favor of raw damage in order to kill Raiders more reliably, because Raiders have slightly higher head health than PMCs do.
Raiders spawn with a great variety of equipment, weapons, armor, and materials such as medication or hideout parts. They tend to have chest armor and may have different helmets. Their pockets can contain Labs keycards, morphine, Ifaks, cash, and other items. They're always worth checking.
Raiders are a good source of grenades, they will often have F-1's and Zarya's in their rig or pockets that you can use to fight off players and Raiders alike.
Recently, changes have been made to Labs to make them less profitable so that other maps are more appealing. The cost and rarity of keycards increased, as well as reducing the frequency that raiders spawn, so that they come in more infrequent groups but also tighter in formation, while also lowering the overall output of individual Raiders, so that they are less likely to have a bunch of extra materials, such as grenades and other items.
Experience Farming on Labs
Labs is one of the best places to farm experience in the entire game. Killing a Raider with a headshot awards 1100 Experience. This does not include any looting, inspection (searching bodies), examine, streak, or other experience.
Killing a large sequence of Raiders gives additional bonus experience in the form of Streak rewards, usually 100 bonus exp per additional kill.
Surviving the raid multiplies all of these sources of experience by 1.5x
Changes coming to Labs
Disclaimer: I am not a BSG developer or employee. This is what I have seen on this subreddit and heard elsewhere. Some might be purely rumor, but other points are confirmed by Nikita Labs is undergoing constant changes. Nikita and BSG take feedback seriously, and always consider what the players are telling them. It known that Labs will eventually be accessed via the Streets of Tarkov map, and will require you to enter that map, make it to the labs entrance, and then extract from Labs to return to Streets of Tarkov and exfil from there as well. This will likely add an additional layer of risk to being ambushed for your goodies along your way out, as well as punishing damage taken in labs more severely. Additionally, keycards will have a limited number of uses, and may open more than one room.
The full extent of the changes coming is not known.
Remember, you can load a map in OFFLINE mode to practice against bots or to learn the map without fear of losing gear.

Tarkov's Health System

Tarkov Wiki Article
Tarkov has a very advanced health system, and while it might seem overwhelming at first, you'll get the hang of it rather quickly. It features a very wide variety of effects and injury, including hydration, energy, blood pressure, blood loss, fractures, contusion, intoxication, exhaustion, tremors and more.
Not all of the Health System is implemented yet. Expect changes!
Your character (PMC, or otherwise) has a combined Health of 435. Each of his limbs have separate health. Taking damage to a limb that reduces it to 0 'blacks' that limb. Blacked limbs are a problem. They greatly impair the activities your PMC performs, and taking damage in a blacked limb amplifies the damage by a multiplier and spreads that damage among your other non-black limbs equally. You cannot heal a blacked limb without the use of a Surgical Kit.
Notes: Bloodloss applies damage to the affected limb and can be spread like other damage to a blacked limb. Treat immediately. Also causes significant dehydration! Bloodloss also helps level your Vitality skill, which in turn gives you experience towards your Health skill, which is necessary to reach level 2 of in order to improve your hideout.
Losing a limb applies additional effects. Fractures also apply these effects but not the damage amplification (Except for damage if running on fractured leg.) Fractures require specialized medical kits to heal.
Dehydration is what happens when your Hydration level reaches 0. You can view your Hydration level in your gear page, at the bottom left. Becoming dehydrated is extremely bad. You take constant damage. Taking dehydration damage can kill you if you have a black chest or head. Restoring hydration helps train Metabolism, which improves positive effects from food and drink.
Head/Chest: Bullet damage resulting in losing your head or chest is instant death. Note: Bloodloss resulting in your Head/Chest being black does not result in death, but any damage to them beyond that point will! A back chest will causes you to cough (much like your stomach!)
Painkillers: Prevents coughing that comes from your chest. Doesn't help otherwise.
Stomach: Massively increased rate of dehydration and energy loss. You must find liquids or exit the Raid soon. Additionally, your PMC will cough sputter loudly, attracting attention. A black stomach multiplies damage taken by 1.5 and redistributes that damage across your entire health pool.
Painkillers: Significantly reduces the frequency and volume of the coughs.
Arms: Makes activities like searching, reloading, etc, take additional time, as well as adding a sway, reducing accuracy. Arms have a .7x damage multiplier.
Painkillers: Reduces sway, removes debuff Pain.
Legs: Blacked legs cause your PMC to stumble and be unable to run. Blacked legs have a 1x damage multiplier.
Painkillers: Allows you to walk at full speed and to run.
WARNING: Running while your legs are blacked or fractured WILL DAMAGE YOU.
Health Items
Tarkov features many health items - 'Aid' items, which can be used to restore your characters health and to fix ailments or injuries he receives as the result of combat or mishaps. The two most important health conditions to consider are bloodloss and fractures, which have both been covered above. Some food items may have ancillary effects, such as losing hydration.
Since in the current patch the only ailments to worry about are bleeding and fractures, it changes which health items are most necessary. We'll go over them below.

Health Restoration

Medical Items on Wiki
AI-2 medkit
The newb's medical kit. You receive several of these when you start Tarkov - they'll already be in your stash. Available from Level I Therapist, they are cheap and effective way of healing early in the game. They will not stop bloodloss. Because of this, you also need to bring bandages or a higher-grade medical kit. Affectionately called 'little cheeses' by the Tarkov community. Using it takes 2 seconds, and because of how cheap it is, it's often brought in by higher level players to supplement their healing without draining their main kit (which is capable of healing bloodloss or sometimes fractures). Due to its short use time, it's often very useful during combat as you can take cover and quickly recover damage taken to a vital limb. They're also useful as you can buy them from Therapist to heal yourself if you died in a raid.
Bandages
The newb's bloodloss solution. Available from Therapist at Level I. A better version, the Army Bandage is available at Level II, after a quest. Mostly obsolete after unlocking the Car Medical kit, but some players value them due to the Car's overall low health pool. Activating takes 4 seconds, and removes bloodloss to one limb.
Splint
The newb's solution to fractures. Cheap, takes five seconds to use, and takes up 1 slot. Fractures are much more common this patch, due to them being added back in the game from standard bullet wounds, not just drops. Available from Therapist at Level I, no quest needed. Can be used to craft a Salewa.
Alu Splint
More advanced form of the normal split. Works the same, but has up to 5 uses. Recommended to carry in your container if possible, due to frequency of fractures from gunfire.
CMS (Compact Medical Surgery) Kit
New medical item added in .12, fantastic item. Allows you to perform field surgery, removing the black limb state and allowing you to heal it beyond 0 hp. Takes 16 seconds to use, and cannot be cancelled so make sure you are safe if you are using it! Will reduce the maximum health of the limb it's used on by 40-55%, but will effectively remove all negative effects incurred by having a black limb. Highly recommended to carry in your container for emergencies. Can be bartered from Jaeger LL1, and purchased for roubles LL2.
Surv12 field surgical kit
Same as the compact surgical kit, but takes 4 seconds longer, and the health penalty is reduces to 10-20% max health of the limb. Considering this kit is 1x3, taking up a huge amount of space, it's probably not worth using. It's just too large. Better this than nothing, though.
Car Medical Kit
The newb's first real medical solution. Available LL1 as a barter (2 Duct Tape) and available for Roubles after completing Therapist's second quest. Has a larger health pool than AI-2's (220, vs AI-2's 100), and removes bloodloss. Takes up a 1x2 slot, so requires to be placed in a tactical rig in order to be used effectively. Cheap and fairly efficient, takes a standard 4 seconds to use. Rendered effectively obsolete when the Salewa is unlocked.
Often kept in a player's secure container as a backup health pool, before IFAKs are unlocked.
Salewa
Good medkit for use in mid and end-game. Contains 400 total health and can remove bloodloss. More rouble efficient form of a healing due to its high health pool, costs 13k roubles. Same size as the Car medical kit, so requires a tactical rig to use effectively. Because Tarkov does not currently have effects like Toxication in the game at the moment, this kit is favored by most players who go into a raid with at least a moderate level of gear. With a high health pool and relatively low cost, it's also a more efficient way of healing damage sustained while in raids. Unlocked at Therapist Level II after completing a level 10 Prapor quest, Postman Pat Part II. Required as part of Therapist's first quest, Shortage. This makes Salewas very valuable early on in a wipe as it gatekeeps the rest of Therapist's quests, most of which occur on Customs early on. Can be crafted in your meds station with a painkiller, splint, and bandage.
IFAK
Fantastic medical kit, and is the one preferred by most players. Features 300 health and the ability to remove bloodloss and a host of other negative effects that are not yet implemented into the game. It does not, however, remove fractures. Taking up only a single slot, it is favored by players in all stages of gear, and it is recommend to carry one in your Secure Container in case of emergencies. Is available at Therapist Level II for a barter (Sugar + Sodium), and may be purchased for Roubles at Level III after completing Healthcare Privacy, Part I. It is a fairly expensive kit, but due to its durability, its small size, and ability to remove bloodloss, it is a very common medical item used by players of all levels. Can be crafted in Lvl 2 medstation.
Grizzly
The 'big daddy' medical kit, boasting an impressive total health resource of 1800. It is also a very large kit, taking up 4 slots (2x2) - in order to be able to use this quickly, it would require specialized tactical rigs that feature a 2x2 slot. It removes all negative effects (some costing HP resource), including fractures. Used by highly-geared players who intend on staying in raids for an extended period of time, or by players with additional Secure Container space available in case of emergencies. It is available for barter at Therapist Level II, and purchase at Therapist Level 4. Due to its price point from Therapist at just under 23k Roubles and its healthpool of 1800, it is by far the most efficient method of healing from raid damage, at a 1.3 roubles per health, dramatically lower than other options available. Can be crafted in Lvl 3 medstation.

Pain Management

Using any of these items results in your character being 'On Painkillers' which allows you to sprint on fractured and blacked legs, as well as reducing effects of fractures and blacked limbs, and removing the debuff Pain. Essentially, the only difference between most of these items are the speed of use, price, availability, and duration of the effect. Note that the Hideout has changed how some of these items are used, and because Tarkov is under constant development, it is very likely that these materials may be used to create higher-grade medkits or to upgrade your medstation. That being the case, it's best to hoard the unknown items for now as efficiently as possible until you know you don't need them.
Analgin Painkillers
The holy grail of pain medication. "Painkillers" have 4 total uses. The total duration is greater than Morphine and less risk of waste. Takes a short time to use, and is available from Therapist Level 1 for both barter and Roubles. Makes a loud, distinctive gulping noise. Can be used to craft Salewa kits.
Morphine
Quick application of painkillers. Favored by some highly geared players as it has greater usability in combat then it's typical counterpart, Painkillers. Has a longer duration, but only one use. It is required for a fairly early Therapist (and a late Peacekeeper) Quest, so it is recommend to hoard 10 of them, then sell the rest unless you intend on using them. They are worth a good amount to Therapist and take up little space so they are a valuable loot item. Available from Therapist for Roubles at Level 4, after completing Healthcare Privacy, Part 3.
Augmentin
Basically a cheaper Morphine. One use, 205s. Not recommended over Painkillers due to its cost. No current barter for this item, so usually it's just a fairly expensive, small loot item. Most likely a component of a medstation manufacturing process or upgrade. Keep it.
Ibuprofen
Powerful painkiller. Lasts 500 seconds and has 12 uses. This item is recommended as your long-term solution for painkillers. While it is valuable because it's used to trade for THICC items case, it's the cheapest component and is very useful as a painkiller. It has a long duration and a large amount of uses, so keep it in your container for use as a painkiller if your primary painkillers wear off. Don't use it completely up, though. Keep the 1/12 bottles for the trade.
Vaseline
Powerful medical item. Cannot be purchased from dealers. Has a maximum of 10 uses. Removes Pain, applies Painkillers for 500 seconds (8.3 minutes). Useful to keep in your container as an alternative to Painkillers, though it takes 6 seconds to use, which is longer than other painkillers. Used as part of a barter trade for the Medcase.
Golden Star Balm
Fairly useful medical item. It can remove Pain and Contusion (not a big deal of a debuff, goes away on its own shortly) and provides a small bonus to hydration and energy. It also removes toxication and Radiation exposure, both of which are not yet implemented into the game. Like Vaseline, has a maximum of 10 uses. Painkiller effect lasts for 10 minutes, and takes 7 seconds to apply. Recommended to take only if you are going on large maps and you have extra room in your container. Can be used with Ibuprofen and 5x Med parts to craft 7 Propital.

Continued below in a series of comments, due to character limit.

submitted by dumnem to EscapefromTarkov [link] [comments]

Iq option brilliant Strategy - Never Loss - live binary ... I Am Using Best Binary Options Trading Strategy  No Loss ... Amazing Rise and Fall Binary Bot  Binary Options Strategy ... Matches/Differs Strategy  No Loss 100% Winning Ratio ... How to trade binary options with no losses - YouTube binary options volatility 25 index inout no loss ... Amazing binary Option Free bot v2.0  No Loss  99 % ...

BinaryOptions.net accepts no responsibility for loss which may arise from accessing or reliance on information contained in this site. BinaryOptions.net is not responsible for the content of external internet sites that link to this site or which are linked from it. USA REGULATION NOTICE: Please note if you are from the USA: some binary options companies are not regulated within the United ... Many binary option “brokers” have been exposed as questionable operations. With such binary option brokers, there is no real brokerage; the customer is betting against the broker, who is acting as a bucket shop. Manipulation of price data to cause customers to lose is common. Withdrawals are regularly stalled or refused by such operations. BinaryOptions.net accepts no responsibility for loss which may arise from accessing or reliance on information contained in this site. BinaryOptions.net is not responsible for the content of external internet sites that link to this site or which are linked from it. USA REGULATION NOTICE: Please note if you are from the USA: some binary options companies are not regulated within the United ... BinaryOptions.net accepts no responsibility for loss which may arise from accessing or reliance on information contained in this site. BinaryOptions.net is not responsible for the content of external internet sites that link to this site or which are linked from it. USA REGULATION NOTICE: Please note if you are from the USA: some binary options companies are not regulated within the United ... Most of the time this fact is misunderstood and traders care less about the risk. Binary Options are very risky to trade because you can lose the invested amount of money. That means you have to have a higher hit rate than 50% to make a profit over a long time horizon. Sometimes there are loss stikes for beginners or advanced traders. It always ... Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. Learn more . How to correct unstable loss and accuracy during training? (binary classification) Ask Question Asked 1 year, 4 months ago. Active 1 year, 4 months ago. Viewed 3k times 4. 4. I am currently working on a small binary classification project using the new keras API in ... However, they want you to trade large volumes. You can and will win some trades and experienced traders can stack the deck in their favor by learning winning strategies. If you are new to the idea of trading binaries, read the binary option trading guide for dummies. You can learn more about these brokers by clicking on each review. Broker reviews Blacklist rating Trade now Early expiry Avg ...

[index] [25692] [10015] [24502] [25366] [24200] [12154] [22001] [7445] [19751] [29030]

Iq option brilliant Strategy - Never Loss - live binary ...

How to trade binary options with no losses Please subscribe to the channel for daily binary options content : https://www.youtube.com/channel/UCD4i... Playli... Download bot from here- https://t.me/BullishKingsignals Amazing Rise and Fall Binary Bot Binary Options Strategy 99% Accuracy No loss Binary.com Bot Fo... http://ExpertBinaryTrader2020.Blogspot.com If we Apply Compounding Binary Strategy, then we can make high profits Every Day. If we Follow the Right Money Man... Downlink Link- https://drive.google.com/file/d/1E0nI95H36ulU96ziYHfEYTe1Er5QHb9l/view?usp=sharing Free signals group- https://t.me/BullishKingsignals Get 50%... Matches/Differs Strategy No Loss 100% Winning Ratio Binary Option Strategy Open Demo Account with Top Broker https://record.binary.com/_45dCVQFvCjy6tyDIi... 8 Win 0 lose - Never Loss Strategy - live binary option advance Indicator - Alpha Trons Live iq option real account Trading - Never Loss Strategy [100% Win] ... STEPS Sign up for free trading account to try on demo .using the link below https://record.binary.com/_3xFCHQUC86C6tyDIijdDK2Nd7ZgqdRLk/1/ Subscribe to these...

http://binary-optiontrade.selesohineti.cf