My binary options strategy - Binary Options - BabyPips.com ...

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]

Escape from Tarkov - New Player Guide!

Introduction

NEW VERSION: https://www.reddit.com/EscapefromTarkov/comments/ffyynf/escape_from_tarkov_new_player_guide_20_75_pages/

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)
Disclaimer: I haven't played Tarkov regularly in a couple months. It's possible there has been extensive changes that I have not kept up with. If there is anything I have gotten wrong or may have omitted, please let me know.
This is Primarily directed towards Tarkov Novices. 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

WORKING ON UPDATING FOR .12, HANG TIGHT.
6/2:
  • Added Veritas chart
  • Fixed Vaseline/Star Balm stats, lab key card.
  • Adjusted formatting slightly, spelling adjustments.
  • Added additional resource, updated old ones.

Table of Contents

  • Tarkov Overview - What is Escape from Tarkov?
  • Tarkov Resources - Useful links
  • Tarkov's Maps
  • Tarkov's Health 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
  • 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 'Scavs' (Scavengers) 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.
It features beautiful and immersive environments, intricate and in-depth weapon modification system, a complex health system, attention to detail with loot placement, and options for combat. 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 to 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

Created by SirKilljoy, you can find it here. Note: As of 6/2/19, Outdated. Searching for updated file. Send if you have one!
An updated ammo chart can be found here. It's not fancy or quick reference though. Sorry!

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
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.

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 exfils 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.
You can load Raids in an OFFLINE status, which allows you to explore the map or practice against AI without losing gear.
You do not keep any EXP or gear you find in the OFFLINE Raid, though.
To access OFFLINE Raids, head into a Raid normally until you see this screen.
Simply check 'Enable OFFLINE mode for this 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.)

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 recommend NOT to bring in a lot of gear to Factory until you are experienced.

Customs

Extract map
A fairly large map that was recently expanded. Essentially, players spawn either on 'warehouse' or 'boiler (stacks)' side. If you see a large red warehouse near you (Customs Warehouse), then you spawned on the warehouse side. If you don't, you likely spawned near Boiler side.
The location for most quests in the game. Finding geared players here is very easy, so if you are low level attempting to complete early quests (like The Bronze Pocketwatch) it's recommend to AFK in the raid for 20 mins or so, as most players will have moved out of spawns and hit the 'hot' areas already, so it's less likely to be contested, so you may grab your quest item(s) and proceed immediately to Exfil.
Contains a Scav Boss, which is a group of scavs with above-average to high-tier gear that has a chance to spawn in Dorms or Gas Station.

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 is the only known location to find the Arsenal Key, which is the rarest and most valuable key in the game at the moment.
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.

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.
Location of many quests, including a large quest chain where players are required to kill many, many, scavs on Shoreline.

Interchange

Detailed map
Great, great loot area, but very complex map. Doesn't run very well on old computers. Features a mostly-binary exfil system like Shoreline, but.. kinda worse. Exfil camping is fairly common on this map. 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. 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 before 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.

The Lab ('Labs')

Here's a map.
This is a very complex map, so I highly recommend you read the Wiki article and look at all the maps to get an idea of what it's like.

INSURANCE DOES NOT WORK ON THIS MAP.

If you purchase insurance and lose your items on this map, doesn't matter from whom, you will not get them back.

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

Labs is by far the most lucrative map to play at the moment. You can easily earn several million roubles per hour by killing Raiders (Juiced-up scavs that are ONLY on Labs), looting their equipment, then running to one of the many, many extracts. Extract camping is hard to pull off and pretty much not viable on Labs.
DISCLAIMER: Labs, like much of Tarkov, is under constant development, so issues may be fixed or created without warning. Always check patch notes!

Raiders

Raiders are the avatars of Death in Tarkov, clad in USEC and BEAR hats, high-end armor, and plenty of firepower to boot. Do not fight Raiders directly. They WILL kill you. Raiders are absolutely broken this patch, and are getting fixed next patch to help fix their exploits of both poor AI and how they're a little.. insane. At the moment, the only way to kill raiders is to camp a hallway, room, or door, and attract the scavs to you, headshotting them the moment they enter before they have a chance to lock onto you.
Raiders can see you through and shoot you through surfaces you cannot.
This means you have to be very careful when engaging them. They are also often equipped with very high-end ammo, meaning that most faceshields (even Killa helmets) can be useless vs a Scav who spawned with 'big boy' ammo, 7N39. They can shoot your head if it's even slightly visible. They can prone instantly, as they have no ping. If they drop without slumping over, get to cover immediately.
Typically, strategies to farm Labs (barring rushing certain rooms for static loot) involve rushing a camp-spot and baiting raiders to your location and taking them out quickly, efficiently, and with no mercy. There are many locations to camp, and since there's so many exfiltrations, it's ultimately up to personal preference.
Raiders often spawn with armor (often Troopers and Gen4s) a rig (Sniper or Ana Alpha rig, usually) and a variety helmets and weapons. Always check the ammo the raiders spawn with. If they spawn with ANYTHING other than PS (and 12 gauge) LOOT IT! You can right click their magazine and hit 'unload ammo' to get the ammo without having to grab the mags, which saves space.
BS, BT, BP, 7N39, etc can be worth several hundred roubles a round on the market. They're extremely valuable.
Additionally, Raiders spawn IFAKS, Morphine, and grenades (F-1 & Flashbangs (Zarya)) with regularity. They can also spawn with random consumables and large clumps of cash in their pockets as well. They can spawn several backpacks, most of them being rather large, if relatively uncommon.
Additionally, Raiders can have American names, breach doors, and mumble as if they are a USEC PMC because some of the Raiders are actually USECs. You will learn with experience what the Scavs will or will not say.
Experience Farming on Labs
Labs is perhaps the best place to farm experience on the current patch.
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 currently undergoing an overhaul. At the moment, you require consumable Keycards to enter Labs, which may be purchased from Therapist or bartered Mechanic in exchange for 1 Bitcoin starting at Loyalty Level II. They can also be found in drawers and jackets. Scavs can drop permanent keycards that replace most keys used in the previous iteration of labs.
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.
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!
Losing a limb applies additional effects. Fractures also apply these effects but not the damage amplification (Except for damage if running on fractured leg.)
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.
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.
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.
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. 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. Not generally recommended to take because fractures effects can be greatly mitigated with the use of Painkillers. Available from Therapist at Level I, no quest needed.
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.
Salewa
Good medkit for use in mid and end-game. Contains 400 total health and can remove bloodloss. Relatively expensive at 13k roubles per kit, though. 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.
Unlocked at Therapist Level II after completing a level 10 Prapor quest, Postman Pat Part II.
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.
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.

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.
Analgin Painkillers
The holy grail of pain medication. With the recent changes, "Painkillers" now have 4 total uses, not 1. The total duration is now 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.
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. 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, 260s. 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 to sell to Therapist when found.
Ibuprofen
Powerful painkiller. Lasts 600 seconds and has 12 uses. However, it is not recommended to use it as a Painkiller. It is very valuable because it cannot be purchased from Dealers, it must be found, and it is a barter component to late-game containers, the Keytool and THICC Items Case.
Vaseline
Powerful medical item. Cannot be purchased from dealers. Has 10 uses. Removes Pain.
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. However, because Hydration is usually easy to restore (Liquids are easy to find as 'common' or 'trash' tier loot), and Energy at the moment can't run to 0 within current Raid timers, it is Recommended to just to sell to Therapist as a Loot item.
Medical Injectors are not covered here. Essentially, they are powerful but niche items with strong side effects. Most recommended use is to store them in your Secure Container and sell them either on the Flea Market or to Therapist for roubles.
To be able to Hotkey a medicine item, they must be in a tactical rig or your pockets.

Tarkov's Quest, Progression, and Experience Systems

Tarkov features a very immersive progression system where your main character (PMC) is going into raids to acquire loot - goods that can be sold for a profit to other players, to Dealers (NPC Merchants), or used to fulfill quest requirements in order to complete them and receive your rewards. Additionally, your main character will increase their prowess in a number of skills, which increases everything from how much they can run, increases the ease of which recoil can be controlled, and even how far you can throw grenades. These are referred to 'soft skills.'
Additionally, your PMC is assigned a Level. You can increase your Level by earning Experience - which is rewarded by performing numerous tasks throughout the Raid, completing quests, examining new items, killing other players and Scavs, etc. Successfully extracting from a raid will increase the experience you earn from the raid via a multiplier.
Increasing your PMC's level will allow you to complete additional quests, which increases your Reputation with certain Dealers (and may reduce your Reputation with others) allowing you access to better equipment to purchase. Additionally, completing quests will often reward you with large sums of currency and sometimes equipment, and certain quests unlock items for purchase from that dealer.
A Dealer's arsenal of available weapons, ammo, mods, medication, containers, and etc to purchase by you is determined by their Loyalty Level - or LL, for short. Certain Dealers specialize in different kinds of equipment, and they will pay different rates or straight up not buy particular items. In a future release, eventually Dealers will offer discounts to the player based off their Loyalty Level.
Article on Dealers

Increasing Loyalty Level

Increasing your Trader's loyalty level is extremely important to your progression and overall success in Tarkov. Being able to purchase better Ammo and Equipment is essential to being able to fight other players and secure their loot for your own. Owning Prepare for Escape and Edge of Darkness (EoD) editions of Escape from Tarkov will increase your starting Reputations with Traders. It is unclear if this change will stay after the game's full release.
Typically though, you need three things to increase your Trader's level.
  • Reputation
This is accomplished via quests. Completing a quest will reward you with an increase in the quest givers' reputation, sometimes an increase in another trader's reputation, and sometimes will reduce the Reputation of another trader. Not all Traders need a certain level of Reputation to increase their loyalty Level to II. Peacekeeper and Ragman, for example, just need you to spend a certain amount of money with them.
  • Character Level and Experience Gain
The primary gate behind your trade level (and thus your overall economy and gear leverage) is your Character Level. You increase this by gaining Experience. The easiest way to gain experience is to Loot high value areas, fight players, and kill scavs while completing quests. Generally speaking, your level will advance as you play the game at a moderate pace. One way to farm experience though is to avoid looting all-together and just focus on killing a large number of scavs from a safe distance, after learning where they tend to spawn on any given map. This patch however, labs is fantastic for experience gain. (See above.) Another strategy (albeit one that takes longer) is to loot everything, then drop what you don't want. You gain experience for finding items and picking them up, so picking them up to drop them is technically the best way to gain the most exp per kill.
You can receive additional bonuses to Experience earned. Successfully extracting will increase your experience by a multiplier, typically 1.5x the experience gained during the raid, escaping also rewards a 300 exp Escape bonus which is added to your total before the multiplier is applied.
You can also receive experience bonuses for Exploration, so visiting different parts of the map will reward you with sums of experience, usually 100 to 300 or so. Killing multiple enemies in a row will reward you with Streaks, whose rewards increase as you get more kills. Getting a kill with a Headshot also significantly improves experience gain from kills. You also receive a (very small) bonus when you survive consecutive raids.
Note: Completing a Raid too early (via extraction) will cause you to receive a Run-Through status, which reduces experience earned in that raid by 50%.
Most Quests require you to be a certain level to unlock, and upon completion rewards you with a lot of exp and usually the ability to purchase specific equipment.
  • Money Spent
This is pretty self-explanatory. As mentioned above, Peacekeeper and Ragman can be increased easily just be selling and buying from them. If you need to artifically inflate the amount spent, a good idea is to purchase a large amount of cheap items from them and sell them back to the Trader. You still take a significant loss, usually around 50-60% per purchase, but since the money spent counts both items sold to the vendor and purchases, you get about 140-150% credit per item at about half the cost.

Selling Efficiency

Not all dealers pay the same for certain items. It is important to note that a lot of this is my personal experience, and prices can fluctuate as the Developers may change them for any reason. Use your own common sense and check various dealers before selling particularly lucrative items.

Prapor

Sells AKs, Magazines, many different Ammo types, Grenades, and weapon modifications. I don't tend to sell to him very often, as he doesn't pay the highest for any items that I have personally seen and because you tend to buy most Ammo and mags from him it's not a particular issue to level him up with money spent.

Therapist

Sells medical supplies, food and drink, and storage cases, which are items that effectively increase the size of your stash because they have more space inside than they take up. Most storage items are restricted to certain item types. Pays most for items like Keys, Statues, Rolers, Bitcoin, etc. Many of these items should be sold on the market instead of to her, but often times it's not worth the hassle.

Fence

Pays least for items, sells items for more than other Dealers. Items other players have sold will appear here. Only sell items to Fence that other dealers will not take! Basically a placeholder for an expanded Market.

Skier

Sells various weapons, mods, ammo, Euros, and containers. Pays most for items like Armor, backpacks, headgear, facemasks, flashlights, sights, etc. It is important to note, that Skier will not buy Weapons or most Mods. That means for things like flashlights, you have to take the flashlights/sights off the mount or rail in order for him to buy them, but he pays the best.

Peacekeeper

Deals entirely in Western equipment, UN armor, helmets, etc. Will buy most items, but will pay USD for them. Deals entirely in USD. One good way to get his money spent requirement is just to buy USD, which is used for a later quest from Skier, which unlocks his quest chain. He has a lot of good deals, experiment for yourself. At the moment his MP5 for 10 'bars' knives (scav knives) is an exceptionally good deal and easy to accomplish for new players.

Mechanic

Sells mostly completed weapons with various modifications and unique names, and mods. Sells magazines and some ammo. Offers containers as you progress. His quests are easy to complete, but often are money dumps in exchange for large sums of EXP more than anything else. Pays the most for modifications (except for sights and suppressors) and stripped guns.

Ragman

Sells backpacks, armor, tactical vests, and helmets mostly. Offers aesthetic clothing. Can obtain LL2 by just purchasing from him, does not require reputation. In fact, his first quest tasks you with that very objective. As far as I can see, he does not pay the most for any items in particular. But he is a very useful merchant once you have him at level 2. He will sell Scav Backpacks, which are an extremely efficient backpack to use as it's fairly large but very cheap.
Rule of Thumb for selling items at most value
Weapons: Strip the weapon! Take apart ALL pieces of it (including gas tubes, separating flashlights from ring mounts, etc), sell what you can to Skier. For the rest, sell to Mechanic.
Keys, Food, Medical Items, Statues, Bitcoin, Rolers, etc: Therapist or the Market. For items like this, ALWAYS check the Market first! A lot of these kinds of items are in valuable trades or are required for quests; this means that other players are often willing to pay more for them, above trader prices.

Continued below in a comment, due to character limit.

submitted by dumnem to EscapefromTarkov [link] [comments]

2019 Report - 89 games down!

2018 report
2017 report
Despite the solid number, this was a bit of a mixed year. Free/nominal fees for subscription services meant I spent a fair bit of time on games which were not on my backlog (albeit most were on my wishlist, so I can treat them as a preemptive elimination!). I also had a few timesinks which I regularly went back to as I found many new games to be unsatisfying.

Completed Games

Game Hours
The Lion's Song 4
AER Memories of Old 3
Mad Max 35
Quantum Break 11
Hitman - The Complete First Season 12
Grim Fandango Remastered 6
The Deadly Tower of Monsters 5
Overfall 12
Rock of Ages 2 5
Battlefield 1 6
Soul Gambler 1
Stikbold 3
Cultist Simulator 14
Ziggurat 5
Tyranny 18
Orwell: Ignorance is Strength 3
Tesla Effect: A Tex Murphy Adventure 10
Train Valley 8
Rakuen 6
Dangerous Golf 7
Mutant Year Zero 13
Dishonored 2 18
Finding Paradise 5
The Witcher 3: Wild Hunt GoTY 85
SteamWorld Dig 2 6
Batman: Arkham Knight 30
West of Loathing ~15
The Flame in the Flood 7
Monster Prom 7
Yakuza 0 38
Dominique Pamplemousse 1.5
South Park: The Fractured But Whole + DLC ??
Hellblade: Senua's Sacrifice 8
Pizza Express 8
Yoku's Island Express 6
The Darkside Detective 4
Tales of Berseria 47
The Outer Worlds 21
Agents of Mayhem: Day One Edition 26

Other Games

Game Hours
PixelJunk Nom Nom Galaxy 4
Action Henk 2
Shantae and the Pirate's Curse 4
Castlevania: Lords of Shadow Ultimate Edition 5
Sheltered 12
Sid Meier's Civilization VI 31
Porno Studio Tycoon 3
Aarklash: Legacy 2
Intergalactic Bubbles 2
Tom Clancy's The Division 21
Kingdom: New Lands Royal Edition 4
Halcyon 6: Lightspeed Edition 9
FIFA 18 22
Seven: The Days Long Gone 7
Age of Wonders 3 12
The Dweller 1.4
Out of the Park Baseball 19 30
Niche: A Genetics Survival Game 3
Royal Heroes 4
Endless Space 2 - Digital Deluxe Edition 41
Monster Slayers 11
Dark Train 0.5
State of Decay 2 ~5
The Banner Saga 3 ~2
Gremlins, Inc 5
Warhammer 40,000: Space Wolf 8
Strider 2
Warhammer 40K: Dawn of War 2 9
The Painscreek Killings 2
Road Redemption 8
Moonlighter 7
Shelter 1
Mainlining 2
Reassembly 5
12 Labours of Hercules V: Kids of Hellas 3
Aaero 2
Purrfect Date 5
Space Hulk Ascension 3
Super Daryl Deluxe 8
Think of the Children 2
Legend of Grimrock 2 4
FIFA 19 18
Out of the Park Baseball 20 1
Oriental Empires 6
Iratus: Lord of the Dead 9
Into The Breach 5
There Came an Echo 1.3
World of Mixed Martial Arts 5 ~120
Star Trek Timelines ~180
Football Manager Touch 2019 ~80

Favourite games of the year

1) Rakuen
2) Finding Paradise
3) Monster Prom
4) Witcher 3 GotY
5) Yakuza 0

Most disappointing games of the year

1) The Outer Worlds
2) State of Decay 2
3) Warhammer 40,000 – Space Wolf
4) Purrfect Date
5) Tom Clancy’s The Division

Thoughts on each game

The Lion’s Song
Quite an interesting little game. It manages to link stories about music, painting, mathematics and war in a clever and engrossing way. The choices are genuinely impactful and make for tough decisions at times.
AER: Memories of Old
A short game, but quite relaxing and pretty – especially in the flight sections. I had no interest in the story, but the relatively gentle puzzles and enjoyable flights made it worthwhile.
Mad Max
Much like Mafia III, this is a 10-hour game elongated into a 30+ hour game by copy-pasting tasks. While in theory most tasks are optional, the slow progress and gating of upgrades essentially requires completion of much of them. This becomes a grind, and the gameplay isn’t quite enough to keep it interesting.
Quantum Break
A mediocre story and a mediocre shooter, yet somehow more than the sum of its parts. Maybe I’m just nostalgic for the days of FMV integration in games, but this wound up being quite entertaining.
Hitman – season 1
My first and only other Hitman game is Absolution, which apparently was a departure for the series. That leaves me in the position of finding this return to normality for the series as rather jarring. I prefer the linear and tighter nature of Absolution – since I don’t care enough to go back and complete them in different ways, it felt like a bit of a thin and shallow experience with a threadbare story.
Grim Fandango Remastered
I’m dreadful at P&C puzzle games, and quickly realised I wasn’t going to get far without a guide. As such, I cheated my way through most of it and just played it for the writing. Thankfully, the writing is so good that it was still fun. I wasn’t keen on Full Throttle, which I played last year, but this was amusing throughout.
The Deadly Tower of Monsters
A fun concept – a B-movie spoof – combined with surprisingly forgiving platforming mechanics. I’m not a fan of platformers generally, but the frustration-alleviating features and general sense of humour in the game made for a good experience.
Overfall
Solid roguelike tactical combat, marred by some sloppy writing [I don’t think English is the first language of the writers, but at least a spell-check would have helped], a wonky interface [pertinent information like resistances is obscured] and a strangely harsh unlock system. Not a bad game by any means, but could have been better with a bit more care.
Rock of Ages 2
Bizarre concept, even more bizarre writing, but entertainingly so. It’s surprisingly good-looking and quite fun, but five hours was quite enough for me.
Battlefield 1
I haven’t played a Battlefield game since Vietnam, so this took a bit of adjusting. The campaign is very well presented and offers a nice bit of variety, but it’s over so fast. I had no interest in multiplayer, so this made for a brief, if fun, experience.
Soul Gambler
A very brief visual novel, but at least it had distinct story paths. The writing was decent, if a bit awkward. My main gripe was that you had to individually click through each line on subsequent playthroughs, which is something many visual novels these days manage to avoid.
Stikbold
A rather strange dodgeball game. I didn’t find the strangeness nearly as amusing as Rock of Ages 2, but it was a moderately entertaining experience with a bit of variety through the different settings and objectives.
Cultist Simulator
I’m a bit mixed on this. On one hand, it had a surprising amount of content and complexity to it. On the other, it drastically inflated the complexity by veiling basic gameplay aspects. That could mean a lot of wasted time – or worse, inadvertently wrecking a multi-hour playthrough - because it wasn’t clear what you should be doing next. Walkthroughs and guides were essential. While there’s merit to a game which rewards experimentation and discovery of mechanics, there is a point at which it’s just too obtuse, and at times the game did go a bit too far in that respect.
Ziggurat
A quite clever blend of roguelike and FPS. I’m not much of a fan of the latter, but the gameplay was fun and the roguelike elements softened the blow of failure.
Tyranny
I disliked Pillars of Eternity and went into this with some trepidation. Fortunately, it was a more enjoyable and accessible experience. Where Pillars just threw a mindnumbing amount of lore at me, this offered a relatively comprehensible story doled out in appropriate chunks. While it did have some of Pillars’ mechanical issues, like poor pathfinding in combat, they did not seem nearly as bad (perhaps due to the smaller scale of battles). The base management stuff seemed tacked on, confusing and wholly unnecessary. It was far from my favourite RPG, but solid enough – and didn’t overstay its welcome.
Orwell: Ignorance is Strength
I enjoyed the first Orwell game and initially found this a similarly good experience. The few changes were worthwhile ones, and the story seemed to be building up well. Then it suddenly ended. Surely I done something wrong and met an early endgame? Nope, that was it – a mere few hours of gameplay, with an ending so abrupt that I had no idea it was one until the credits rolled. There are different endings, requiring additional playthroughs, but after that disappointment I wasn’t interested in going back to it.
Tesla Effect: A Tex Murphy Adventure
This was my first game in the series, and I found it enjoyable. I only had to cheat a few times (which is remarkably good by my standards!) and the cheesiness of it was all rather endearing. The sequel is now on my wishlist (though it seems to be a fair way off).
Train Valley
A decent puzzle/strategy game, which quickly escalates from rather placid to chaotic. The simple concept still requires a fair bit of thought to succeed, and while I bumbled through somewhat, it was fun.
Rakuen
Beautiful. One of my favourite games, evoking the spirit of To the Moon by dealing with weighty topics in a whimsical manner. Wonderful soundtrack and great design.
Dangerous Golf
I enjoyed this more than I’d expected. It’s all a bit messy, as one would expect from a heavily physics-based game, and almost throws in too many variations, but it is fairly satisfying. In some levels it’s all too easy to get a platinum medal through sheer luck, but in other levels it takes a fair bit of skill and thought to get a good score, which is rather more satisfying.
Mutant Year Zero
This was frustrating. It has the ingredients for a solid game – great presentation, imaginative world, decent writing and voice acting and the core of a solid tactics game. The problem is that it is structured essentially like a puzzle game. The odds are so intensely stacked against you in a group battle that you must pick off enemies one by one. This makes for a slow and tedious process, especially when combined with the impact of RNG and the unsatisfying ending.
Dishonoured 2
I felt a little let down by this. Presentation was good, story was fine, but the powers were mostly unengaging and the combat was frustrating. The combat issues were partly my fault in that I tried a non-lethal run, but while there were a few more non-lethal options, I would have loved an option to just punch someone in the face rather than having to stand around waiting to parry in order to launch a non-lethal attack.
Finding Paradise
This had a lot to live up to – To the Moon and A Bird Story are among my favourite games – but once again Kan Gao delivered. Touching, funny, surprising and engrossing.
The Witcher 3: Wild Hunt – GotY Edition
I went into this with a bit of trepidation, having strongly disliked the first two games in the series. While I am a big fan of the books, the gameplay never clicked with me. This was an improvement to some degree, but I still found the combat in particular frustrating and relatively shallow. I wound up just playing it as a story, and it delivered in that respect – even many of the side quests were more memorable than the main storylines of a lot of other RPGs I’ve played. While I certainly won’t be joining the “Praise Geraldo” crew, I at least had a better experience than I did with the other games in the series.
SteamWorld Dig 2
I loved the first game. This was certainly enjoyable but did not reach quite the same heights; perhaps through lack of ambition if nothing else. Solid enough, but lacking the impact of its predecessor.
Batman: Arkham Knight
This felt like the weakest of the three main Arkham games (I didn’t like Origins much at all, but that is somewhat separate). The combat, setting and presentation were all as interesting as ever, and the story got genuinely interesting towards the end, but the damned car seemed to drag down everything it was involved in. From puzzles to battles, it always felt a bit wonky to me – a particularly sharp contrast to the famously smooth and refined movement and combat the series is known for. Unlike Asylum and City, I didn’t complete the Riddler challenges. This was primarily due to the car, which I was thoroughly sick of by the end. Perhaps I was rendered a bit grumpier than usual by that, but I also found the Rocksteady tendency to lead the player by the nose at some points, and then leave things utterly oblique at other times, to be particularly grating.
West of Loathing
Genuinely funny at times, and I loved the art style, but it did drag on a little.
The Flame in the Flood
Quite an atmospheric and appealing game. The presentation is gorgeous, albeit marred by irritating pop-in even on a GTX 1080. The gameplay is pretty easy to pick up, and while it can be frustrating in the way that a survival game with randomisation inevitably can be (and why the hell can’t I boil water to remove the bugs?!), the checkpoint system is generous enough to ameliorate this.
Monster Prom
I am not usually one for VNs, but this is great. Entertaining characters, often hilarious (and oh so wrong) writing and easy enough to play through in 15 minutes (it says the short game is 30 minutes, but it doesn't take me anywhere near that). There is plenty of content, some of which is unlockable, meaning there is substantial replayability.
Yakuza 0
The first in the series for me, and quite enjoyable. It was funny at times, though the main plot did cause me to drift off towards the end – I wound up doing crosswords during some of the interminable cutscenes. The combat got a bit repetitive, but it was easy enough to get the hang of. I didn’t enjoy it enough to get stuck into the numerous side activities, but the main game was decent enough.
Dominique Pamplemousse
This is a curious game. It is brief (barely an hour long) and linear. The puzzles are simple. Much of the dialogue is sung, for no apparent reason - and not particularly well. The art style has been described as "claymation noire"; there's little er..."mation", and it all looks a bit muddy. Writing is fine. I chuckled at a few bits, but it's hardly memorable.For all that, I quite liked it. It's original and there's heart to it. In a sea of lazy asset flips, generic AAA games with no respect for your time and visionless projects, here's an example of people actually daring to have a go with a unique vision.
South Park: The Fractured But Whole
Not nearly as well-written as its predecessor, but with significantly better combat. The badge progression system was clumsy, and at one point I was left with a stack of grinding to do. Generally a solid experience, though.
Hellblade: Senua’s Sacrifice
Wonderful presentation, with some of the best voice acting I’ve heard in games. The gameplay itself was decent. Combat was a little too simple, and puzzles could be frustrating at times, but it’s really all about the experience.
Pizza Express
I feel a little silly having spent a lot of money on a gaming rig when I use it to play stuff that looks like something out of the early ‘90s. Nonetheless, this was good fun – amusing story, addictive gameplay and a surprising amount of content.
Yoku’s Island Express
Cutely presented and an interesting concept. It can be infuriating at times, requiring a degree of precision which is perhaps best not associated with pinball, and getting around can be a bit confusing. Overall, though, it’s quite fun.
The Darkside Detective
A pretty simple point & click adventure (aside from one strangely hard instalment), broken into small episodes to make it easy to get through a portion at a time. Nothing exceptional, but a decent way to spend a few hours.
Tales of Berseria
A surprisingly engrossing tale. It's frequently funny and features likeable characters. The voice acting is excellent - it's a tour de force for Cristina Valenzuela in particular.
That helps mitigate a convoluted combat system. It was still throwing tutorials at me after 15 hours; I wound up ignoring them and button mashing, which seemed to work fine on Normal difficulty anyway.
Performance is rock solid. Smooth FPS, fast loading and limited pop-in.
I have never played a Tales game before, and may not play another one, but it doesn't take a love for the series to enjoy this game. Perhaps the group best warned to stay away are achievement hunters - some of them seem to take a heck of a lot of work.
The Outer Worlds
Disappointing. The simplistic combat not only makes that portion of the game dull, but also weakens the RPG aspects since you can pour all your upgrade points into speech skills, making those challenges a breeze. The writing is one-note (everyone is quirky, snarky or both), the choices are binary and rarely provoke thought (indeed, the hardest choice was one of the very first) and the characters aren't particularly interesting - nor are they given much chance to be in their shallow quests. It also performed poorly on a decent rig - though that's to be expected from Obsidian.
Agents of Mayhem
It's...not that bad. Sure, it's flawed - repetitive quests, buggy at times and nowhere near the level of Saints Row's writing - but it has an enjoyably distinct set of characters (sadly enough, the character missions were more interesting than those of Outer Worlds) and the combat is enjoyably free-flowing.
PixelJunk Nom Nom Galaxy
I liked the idea of discovering ingredients and turning them into various products, but it quickly became centred around ever more complex process designs which were of no interest to me.
Action Henk
A fun runner; gorgeously presented. I sucked at it though!
Shantae and the Pirate’s Curse Presented in an enjoyably light-hearted manner, but it felt like it was dragging on even after four hours.
Castlevania: Lords of Shadow Ultimate Edition
I was quite excited to play this, since it featured three of my favourite actors – Patrick Stewart, Robert Carlyle and Jason Isaacs. That’s the only reason I managed to last five hours. I hated pretty much everything about it; the shoddy fixed camera, the tedious fighting, the cringeworthy writing… The sad thing is that I bought another two games in the series.
Sheltered
A solid little survival management game. I didn’t enjoy it nearly as much as Zafehouse Diaries or Dead State, mainly because the RNG was a bit too impactful. It’s far too common for a game to simply be unwinnable due to a lack of rain and/or the distribution of resources in nearby locations. When things are fairer (or the difficulty is lowered) it becomes quite a grind – with no real winning condition and little in the way of variety (there are a few shallow quests of minimal value or interest) tedium ensues.
Civilization VI
Quite liked the new mechanics and enjoyed playing as Australia (though Walzing Matilda is so distinctive that it gets a bit grating). Having spent many hours in its predecessors though, there was nothing particularly groundbreaking which compelled me to play more than a few games.
Porno Studio Tycoon
I’ll give pretty much any management game a go! Unfortunately, things weren’t particularly well explained and while there seemed to be a bit of depth, a lot of it was blocked off (to add to the confusion, the tutorial focused on mechanics which were blocked off for much of the early game).
Aarklash: Legacy
I normally like tactical games, but this was just too unforgiving and there was no ability to grind to reduce the difficulty.
Intergalactic Bubbles
It’s basically Bubble Bobble, which is fine. It’s quite nicely presented. The problem is that each level is meant to be completed in a certain number of moves, but since the bubble colours are randomly generated, it’s mostly down to luck – you might be able to wipe out half the bubbles on your first move, or might struggle to get any matches at all.
Tom Clancy’s The Division
I got fairly close to the end of this game but was just so fed up with it that I couldn’t push myself to get through it. The story was forgettable, the shooting mechanics were mediocre, all the extraneous gameplay elements were just an annoyance and I felt the game was balanced against me as a solo player (only twice did I find a co-op partner, and both of them screamed in Korean throughout). It looked impressive, at least.
Kingdom: New Lands Edition
I really thought I’d like this game, and had it on my wishlist from release. I love management games, and have no issue with passive management. It also looked gorgeous; this is one of the best-looking pixel-art games I’ve played. Unfortunately, it did not click at all. The AI was not bright, which is inevitably a source of a lot of frustration in a passive management game. Further, the gameplay was just dull. I felt like I was running back and forth endlessly for little reward – pretty though it may have been, I found myself wishing for a button to speed up time. The positive reviews suggest it is a relaxing and chill game – I just found myself frustrated with the AI and bored by the gameplay.
Halcyon 6: Lightspeed Edition
For some reason I thought this was more of a starbase management sim rather than a tactical space battle sim. The starbase elements are there, but they are pretty thin. Most of the game is about the tactical space battles, which were interesting and varied enough early on, but after nine hours and no end in sight I was sick of them.
FIFA 18
I haven’t played a FIFA game since ’98, so it was interesting to give this a go. The story mode was okay – quite well presented, but the player rating system was infuriating at times (the out-of-position penalties in particular). I did find that there was a huge gap in the difficulty settings – one was ludicrously easy (insultingly so; the AI kept missing from close range), but the next was a bit too steep for someone essentially new to the series. An option between the two would have been nice, or at least an easier difficulty which at least tried to mask how easy it was making things! I also tried management mode, but having been used to Football Manager’s detail I was not able to get into this.
Seven: The Days Long Gone
This was a frustrating experience. I really liked the concept of an isometric thief RPG, and did my best to give it a fair chance. It had its positive aspects; freedom of movement, decent voice acting and reasonable graphics. However, the freedom of movement also worked against it; confrontations with enemies often spiralled into circular chases suited to Benny Hill music and I lost count of the number of times I plunged to an untimely death through a misstep. Moreover, it didn’t really work to its premise. The game started with a tutorial centred around a stealthy heist, which seemed to be the central premise of the game. The next time I encountered a situation close to that was six hours later.
Age of Wonders 3
I loved Shadow Magic many years ago but struggled to get into this. Maps seemed to take an inordinately long time to the point that armies were monstrously large and there was no research left. Maybe I was too defensive, but the AI was very passive.
The Dweller
A decent little puzzle game with minimal assets.
Out of the Park Baseball 19
A slight improvement on its predecessor. The main addition was an online card-game mode, but I’m not sure that works well in a management game. My squad was rapidly full of high-end talent and I felt no real connection to the team.
Niche: A Genetics Survival Game
Nice concept, but a rather wobbly execution. The genetics aspect tended to be lost due to the fast paced and tough nature of the game; the focus was so much on just keeping any creature alive that genetics didn’t come into my thinking. Apparently the best strategy is to sit on the first island for ages and build up a tribe, but the tutorial didn’t make that clear at all.
Royal Heroes
A grindy and buggy mobile game.
Endless Space 2 – Digital Deluxe Edition
I thought I was falling out of love with the space 4X genre, having been very disappointed with the last few I placed – particularly Stellaris – but this hit the mark. The alien races are distinct, making for significantly different gameplay. The gameplay itself is always interesting; unlike Stellaris, it doesn’t hit a dead patch mid-game. I found the combat a little frustrating – seemingly even contests would often have completely one-sided results for no apparent reason – but aside from that it was a solid game.
Monster Slayers
An enjoyable little rogue-lite deck builder. While I normally prefer a bit more flexibility in deck building, tying cards to characters meant that each one had a distinctive feel which gave the game plenty of replayability.
Dark Train
This sounded interesting in concept, but was way too oblique for me.
State of Decay 2
This seemed like the perfect game for me – I love survival management and settlement building. Unfortunately, it wound up feeling rather like a shallow MMO – trite dialogue, grindy tasks and no real sense of purpose or direction. I just found myself engaging in long, dull runs between locations, engaging in the same shoddy combat over and over again.
The Banner Saga 3
I played the first two games in the series to completion and seem to recall enjoying them, but something about this did not click at all. I had zero interest in the story – the time between instalments has dulled my memory of it – and the gameplay just felt so flat. I’m not really sure what changed between playing the last two games and now, but I had no motivation to keep playing.
Gremlins, Inc
A reasonably enjoyable but forgettable board game.
Warhammer 40,000 – Space Wolf
This is a game plagued by odd design choices. It has turn-based combat (which I love), but it is deprived of so much of its strategy by the way it is designed. Enemies appear at arbitrary moments from arbitrary locations (including amid your troops) without warning or logic, meaning that success requires either a degree of fortune or grinding missions to know when and where enemies will appear. Perhaps this is to compensate for the weak AI, which is prone to boneheaded acts, but it just makes things irritating and dull.
It also has a card collecting and deck building mechanic (again, which I love). The distribution of cards, however, is bizarre – completing tasks in missions (which can take 30+ minutes each) will give a couple of low-level cards. In contrast, activating one of numerous codes from the forums provides a pile of high-level cards. “Legendary” cards are so readily available in this form that a deck can be filled with them with a few minutes’ effort. There is a clumsy system for upgrading each card, none of which is explained in the shallow tutorial.
There is also an upgrade path for your squadmates – again poorly explained – which is reliant on grinding missions. They don't use your custom decks, so while you're flooded with Elite and Legendary cards for the leader, you have to grind just to eke out a few more Uncommons for the rest of your squad.
There's really nothing else to recommend the game. Graphics and sound are serviceable and the story is barely there. It just feels like yet another Warhammer game pushed out for the sake of it.
Warhammer 40,000 – Dawn of War II
Another disappointing Warhammer game.
Again this had things I liked – a strategic layer with character progression, equippable loot, choice of missions and ebb and flow of the wider battle. However, I found this constrained by the limits placed on that strategy, with constant time pressure funnelling me into the key missions . I’m not sure how much that time pressure would have impacted on the outcome – would doing side missions result in overall failure – as it was never properly explained.
Moreover, I found the RTS gameplay really quite dull and repetitive, such that I didn’t feel compelled to continue.
Road Redemption
Incredibly dumb – horrible dialogue, clumsy gameplay (trying to aim guns while riding was a nightmare) and buggy (the one round which I won was as a result of a bug which caused me to be invincible for most of it), but it did have some entertainment value.
Moonlighter
Having spent 125 hours in Recettear, it's fair to say I am very much open to the burgeoning shopkeeper-by-day/dungeon-crawler-by-night genre. Unfortunately, this fell flat. Even after a relatively short period it became a dull grind.
Much of that is due to a distinct lack of charm; it looks nice in screenshots, but lacks any real character or presence in game. The absence of any decent writing is another problem; what there was of the story didn't interest me in the slightest. In contrast to a game like Recettear, filled with charm and heart, this was utterly bland. Add in the clumsy storage system, shallow shopkeeping, sluggish combat and irritatingly repetitive music, and seven hours was more than enough for me.
Shelter
Was rather surprised to dislike this. I found myself getting lost far too easily, which given that it was a very linear game meant a lot of frustration. The visual presentation was grating and confusing.
Mainlining
Moderately interesting hacking game, but too shallow, linear and not particularly well written.
Reassembly
Took a while for this to click, but once it did it was decent enough. I could have spent many hours playing this in the ‘90s, but it didn’t have enough of interest for me to do so now.
12 Labours of Hercules V: Kids of Hellas
Cute enough, I suppose, but quickly became repetitive.
Aaero
A music-based shooter with poorly explained shooter mechanics and music which was very much not to my taste. One track really stood out as effectively blending the music and game mechanics, but that should have been the standard rather than the exception.
Purrfect Date
This game is presented as a cutesy, tongue-in-cheek game and for the most part it pulls that off pretty well. If that was the sum of it, I'd be reasonably satisfied. Instead, there is a dark, unpleasant story underneath, with numerous descriptions of animal abuse.
It's utterly jarring - a game which is presented as being for cat lovers (not that kind of lover), yet featuring descriptions of them being victims of torture, experimentation and killing.
The closest thing to a warning on the store page is a reference to "black humour", which doesn't cover it in my view. There is no humour in these scenes, so it’s not “black humour”. I don’t know what it is, other than a simply bizarre choice. Even putting aside the lack of warning, it's an unpleasant and jarring experience. I'm at a loss as to what on earth the devs were thinking.
The writing is otherwise reasonably good. The structure of the game, however, is poor. It requires multiple playthroughs to get a proper ending, and there is no way to quickly skip the text. Prepare for RSI, clicking through page after page of dialogue, if you ever want to get to the ending.
Suffice to say, going through this once is quite enough for me.
Space Hulk Ascension
I normally love turn-based combat, especially with RPG progression, but this was just dull and frustrating. Not having a good year with Warhammer games.
Super Daryl Deluxe
All very QUIRKY, and constantly at pains to remind you of how QUIRKY it is, without ever being particularly amusing. The art style is at least eyecatching, and some of the music is decent, but the writing didn’t grab me at all. The combat was a grindy battle of attrition – the only thing worse than “kill x monster” quests are “collect x items which randomly drop from only a small percentage of monsters after you kill them” quests. Add in the ever-frustrating boss fights where you had to win through repeating an unintuitive set of actions several times, and I didn’t feel like going much further.
Think of the Children
Nice idea, and it’s good to play a locally-made game, but it’s dreadfully designed for a single player. Although it can have up to three co-op partners, it doesn’t adjust the difficulty in the slightest to cater for a solo player rendering it near-impossible.
Legend of Grimrock 2
Obtuse puzzles, clumsy combat and bland design made this quickly unappealing.
FIFA 19
I mainly just played for the story mode, which was fine. Didn't notice much of a difference from 18.
Out of the Park Baseball 20
No discernible improvement upon its predecessor.
Oriental Empires
Some nice ideas, but thoroughly dull. In six hours I was attacked three times by bandits and spent the rest of the time painstakingly building farms.
Iratus: Lord of the Dead
An enjoyable little strategy game. I will probably go back to it since it's in early access and is constantly being rebalanced.
Into the Breach
Moderately interesting strategy, but not enough to keep me coming back.
There Came An Echo
Iridium's previous game, Before the Echo (aka Sequence) was a flawed but enjoyable hidden gem.
There Came an Echo has a similar level of charm, but two fundamental problems.
The first is that it was simply unplayable on my PC. A black screen after loading; no way past it. Apparently it was due to an incompatibility with my microphone which is rather problematic when I don't HAVE a microphone.
The second is that (having used my partner's computer to run it) ultimately it's a very raw proof of concept. Like its predecessor it has charm in the voice acting and writing, but unlike its predecessor it is just not a lot of fun to play. Put aside the gimmick of giving voice commands and you're left with a short, clumsy, shallow and frustrating experience.
World of Mixed Martial Arts 5
As usual for the series (indeed, the dev in general), a stack of good ideas marred by fundamental flaws. Good as a hypnotic experience between other games.
Star Trek Timelines
I tried this briefly a few years ago and didn't get into it, but I certainly did this year. It's all pretty shallow, but as a fan-friendly timewaster it's decent enough.
Football Manager Touch 2019
Endlessly infuriating, and a bit buggy, but always manages to draw me back in.
submitted by Donners22 to 12in12 [link] [comments]

Weekly news review (November 16-22)

Weekly news review (November 16-22)
Hello, everyone! Happy Monday! Let's dive into last week's news highlights ;)
https://preview.redd.it/9aogvhaket041.png?width=1200&format=png&auto=webp&s=1d4bc9b6c06f1864aaa9aa50deb1c251f0d629f4
Earlier on Thursday, the National Assembly's Amendment Subcommittee on Parliamentary Affairs passed a legal amendment to the still-in-development Special Financial Transactions Information Act to force virtual asset exchanges to register with the Financial Services Commission (FSC). Those failing to do so would face up to five years in prison or a fine of up to 50 million won ($42,460).
Under the amendment, aimed to align the industry with international anti-money laundering guidance from FATF, crypto exchanges must also have so-called real name virtual bank accounts – sub accounts for users within an exchange's primary account – to avoid falling foul of the legislation.
Opposition lawmakers had expressed concerns that that exchanges without real-name virtual accounts would be forced to close, bringing further contraction of the domestic cryptocurrency industry.

Someone hacked the official website of the Monero cryptocurrency project and quietly replaced legitimate Linux and Windows binaries available for download with malicious versions designed to steal funds from users' wallets. The latest supply-chain cyberattack was revealed on Monday after a Monero user spotted that the cryptographic hash for binaries he downloaded from the official site didn't match the hashes listed on it.
At this moment, it's unclear how attackers managed to compromise the Monero website and how many users have been affected and lost their digital funds.

Having dropped to one-month lows below $8,000, bitcoin is now eyeing the first test of a key average support, now at $7,714, since April.
The top cryptocurrency by market value fell more than 2.4 percent in the 60 minutes to 08:00 UTC on Thursday to hit a low of $7,875 – a level last seen on Oct. 25, according to Bitstamp data. The drop marked a downside break of a 48-hour narrowing price range seen above $8,000.
Notably, with a slide to levels below $7,900, bitcoin has erased 80 percent of the rally from $7,293 to $10,350 seen in the second half of October.
On a month-to-date basis, the cryptocurrency is now reporting a loss of over 13 percent. Further, the cryptocurrency is trading in the red for the fourth straight week.
The dismal performance contradicts the positive seasonality factor: bitcoin has put on a good show in November in six out of the last eight years. Notably, prices gained for six straight years in November, starting from 2012 to 2017, before falling hard in November 2018.

The United Kingdom Jurisdiction Taskforce of the Lawtech Delivery Panel published a statement concerning the status of cryptocurrencies, distributed ledger technology (DLT) and smart contracts under English and Welsh private law.
U.K. entrepreneur network Tech Nation announced the paper’s publication on Nov. 18. The document attempts to address the legal uncertainties of cryptocurrency and recognizes crypto assets as tradeable property and smart contracts as enforceable agreements under local law.
Lawtech Delivery Panel director Jenifer Swallow noted that the worldwide smart contract market is expected to reach $300 million by 2023 while the World Economic Forum predicts that one-tenth of the global GDP will be stored on a blockchain by 2027. Due to this, she thinks adapting regulations on these new technologies is particularly important.

Institutional investors are aware of the risks that come with allocating a large percentage of their funds to a particular asset or market indices. For one, the downturn of such a market or asset would have a crippling effect on their returns. The same is true for investors that allocate the majority of their portfolio to asset classes that have strong correlations to one another. Hence, adopting a strategy that allows the allocation of funds to different asset classes, with little or no correlation, is the appropriate solution. This is where Bitcoin excels.
While other markets had moderate correlations to one or two traditional asset classes, Bitcoin maintained a very weak correlation to all of the asset classes examined. In other words, Bitcoin could fit nicely into an investment portfolio and boost returns.
VanEck’s study went further to prove Bitcoin’s eligibility as an investment option. This investigation entailed the assessment of the asymmetric return of portfolios allocated to varying percentages of equities, bonds and Bitcoin from January 2012 to July 2019. A portfolio with 58.5% of the fund distributed to equities, 38.5% to bonds and 0.5% to Bitcoin generated returns that surpassed that of a portfolio allocated solely to the S&P 500 by over 150% as of July 2019.

Have anything to say? Do so in the comments section down below!
submitted by rokkex to Rokkex [link] [comments]

An Open Letter to DE On Balance

Okay DE. I'm going to step back from the actual decisions being made here. I want to talk about the philosophy behind them, and what you, as developers, need to be thinking about when you make these changes. They smack of kneejerk reactions, without understanding the deeper meanings of why things happen the way they do. So as someone who's worked in game development myself, I'm going to help you bridge the gap between player's-eye viewpoint and dev's-eye viewpoint.
Now, with any content you make, people are going to look for strategies that beat it. That's the nature of the game. It's the nature of every video game - to overcome the challenges the devs have put before you and reap the rewards, then use those rewards to meet and overcome the next set of challenges. Your goal, as a developer, is to provide a challenge to your playerbase that is difficult enough to require strategy and tactics and preparation, but is also winnable within a margin of error that is humanly achievable.
Warframe's highest-end content has a serious problem with that. Once enemy levels get into the 60s, 70s, 80s+, survival becomes increasingly binary. You are either alive and strictly invulnerable, invisible, or sheltered behind tens of thousands of intervening effective health points, or you are dead the moment you are exposed to enemy fire. First it's the bombards, who deal ridiculous damage over huge AoE. Then you notice that seekers and eviscerators are one-shotting you too, and soon enough you fear stepping outside that Frost's bubble for even a half second lest you catch a stray Grakata round and spontaneously evaporate into a cloud of gore.
Some people look at that and go 'nope, not playing that, that's not fun.' In the interest of full disclosure, I'm one of 'em, typically. I've never been fond of games where one slight mistake will end you. This is why I don't play sorties, despite the rewards. I don't know a lot of people, I don't like trying to put together a team for it, and it has such strict requirements on what you can and cannot bring to the table that most of my arsenal is useless in it.
Others, however, look at that and go 'challenge accepted.' They will look for ways to overcome even this extreme difficulty. Like Ivara surviving while invisible and using sleep arrow and covert lethality to score kills regardless of armor and HP. Or Blind Mirage rendering entire spawns comatose across an entire map and then merrily obliterating them one after another. Or Ash using a combination of invulnerability and finisher damage to kill enemies he could never take in a straight fight. Or Excalibur utilizing EB's range and blind-spin to get free finishers and stay out of reach of enemies while still benefitting from his sword boost passive.
The fact is, players look for ways to trivialize content because there's content that's very good at trivializing players. It is, in fact, using content-trivializing strategies is the only way to survive player-trivializing content.
When health and armor don't matter, and shields are merely a formality between enemies and your health, your best guns take off mere slivers of enemy health, and all the buffs in the world won't fix either of those situations, that's when players reach for the nuke options - invulnerability, invisibility, scaling damage absorption, finisher damage, finisher openers, and instant-kills.
What's important to remember is that players are right to do this. You made the content capable of obliterating anyone without these tools; therefore, players are going to use the tools you gave them that work. And they're going to keep using them, until you either take the tools away (nerfing), or the tools are no longer necessary and there are more efficient and less-drastic means of accomplishing the mission. If my guns started to deal damage again, and my shields and health could actually survive a bullet or two, I might decide to use them over wtfhax bladestorm/stacked snowglobes/BLIND BLIND BLIND SLEEP SLEEP SLEEP FINISHER FINISHER FINISHER.
So here's what you, as game devs, need to do. Ask yourselves the question, "What are players SUPPOSED to do to defeat this content?" And gear your changes towards THAT. You need to make a hard decision as to what gear and what methods players are allowed to use, and which are exploitative and need to be either nerfed-out or compensated for. The answer "Players aren't supposed to defeat this content" isn't an acceptable answer; it's a terrible GM that measures success in trashed character sheets, and likewise it's a terrible developer that measures success in Game Overs.
Finally, you need to look at rewards in the light of the effort required to get them. If defeating a piece of content is supposed to be a difficult task and a momentous event when you and your cell succeeds, then the rewards should be commensurate. The rewards need to be something immediately good and useful. If you throw out player-trivializing content, and then say to those who beat it "Congratulations, now run it five hundred times more if you want a reasonable chance to get the actual good rewards from it" then they're going to look at you, scoff, and walk out.
This is how you make good gameplay. I've posted it on the forum: https://forums.warframe.com/topic/653050-an-open-letter-to-de-on-balance/
Boost this on the forums, we need them to see it and respond to it. Nothing will change if we sit idly by.
submitted by Zaexithos to Warframe [link] [comments]

Help setting up Cetus3D MkII with TinyFab CPU for Smoothieware and Cura

Help setting up Cetus3D MkII with TinyFab CPU for Smoothieware and Cura
First of all, apologies for the massive post.
I have my Cetus3D MkII with TinyFab CPU installed. I have now spent days getting the BLTouch installed and 3 point leveling working.
I am at the stage of trying to get a 20mm cube printed and have decided to use Cura for slicing and producing the G-Code and then issuing the GCode via Repetier-Host which I think TinyFab himself uses.
I not using Up Studio to print the GCode
I am totally willing to experiment to get print quality to match / exceed what I was getting in Up Studio but I am having a lot of difficulty getting started.
There are various posts re. Cura and the Cetus3D but I am not sure if they involve the TinyFab CPU or if they are just for printing GCode in UpStudio as most of the posts are over a year old now.

I'm so stuck and would appreciate any assistance. I'm a bit surprised there isn't more info on the TinyFab support site to allow a new user to get started.

My Smoothieware settings are down the bottom of the page - note gamma_max of 185.

I then calibrate the Z axis using a piece of paper under the nozzle in the center of the build plate using the following GCode:
G28 #Home all axis G1 X90 Y90 Z10 #Move nozzle to middle of plate at 10mm above zero MOVE NOZZLE DOWN GRADUALLY TO ALLOW PAPER TO FIT UNDER M306 Z0 #Set new zero location M500 #Store new zero location permanently (M500). This writes the setting in the config-override file G28 #Home axis 
This results in the axis set to X180.00, Y0.00 and Z180.10 due to the 4.90mm offset when callibrating. This can be seen by issuing an M114 command:
M114 ok C: X:180.0000 Y:0.0000 Z:180.1000 E:0.0000 

Stepper positions after performing G28 home on all axis
This is what I believe the coordinates to be in reference to the build plate before messing with any axis offsets:
https://preview.redd.it/7b4gk6u24iv21.png?width=800&format=png&auto=webp&s=b2b6134a097790546b1de8018b69580d79bfc158
Now... I have seen the Cura GCode config on Reddit and another on the Cetus3D forums and it has a couple of commands that I am quite confused by:
M206 X-180 ; offset X axis so the coordinates are 0..180 M206 Z-182.3 ; nozzle offset (TUNE before using!!) 
I don't know why I have to offset these axis. Is it to move 0,0 to the front left of the build plate as shown by origin in Cura below ? Do I have to do this if I'm printing via GCode through Repetier-Host ? Are these settings only for using Cura GCode in Up Studio ?
What is the Z axis nozzle offset doing ? I tried this thinking that it would make the origin at 0,0,180 - when I did this and issued a G1 Z180 it tried to run the Z axis off the top ie. it went up and not down to 180 as I expected.

Is this position in Cura supposed to be 0,0,180 as Smoothieware sees it ? At the moment it would be 180,0,0 in Smoothieware.
If I move to 0,0,0 this is where the print head is - this looks fine to me.
Does this mean I don't have to worry about offsetting the X and Z axis ?


https://preview.redd.it/vad6plrpyiv21.png?width=450&format=png&auto=webp&s=d65be9a9f6cbaad2afdc63ae6a1b495849794f67

The Cura GCode settings I have found are varied:


https://preview.redd.it/brems6a67iv21.png?width=703&format=png&auto=webp&s=66c07b5af5592cef9368e8d5f956a08277a966d1


https://preview.redd.it/4o6fvbb77iv21.png?width=736&format=png&auto=webp&s=14e6d0285e9270bdc3508fba8151b13711d664f5

https://preview.redd.it/1zzblj1c7iv21.png?width=763&format=png&auto=webp&s=5cfb1a15dbcc590da5425ceb1aa72abcb3d362d5
# Smoothieboard configuration file, see http://smoothieware.org/configuring-smoothie # NOTE Lines must not exceed 132 characters, and '#' characters mean what follows is ignored ## Robot module configurations : general handling of movement G-codes and slicing into moves # Basic motion configuration default_feed_rate 4000 # Default speed (mm/minute) for G1/G2/G3 moves default_seek_rate 4000 # Default speed (mm/minute) for G0 moves mm_per_arc_segment 0.0 # Fixed length for line segments that divide arcs, 0 to disable #mm_per_line_segment 5 # Cut lines into segments this size mm_max_arc_error 0.01 # The maximum error for line segments that divide arcs 0 to disable # note it is invalid for both the above be 0 # if both are used, will use largest segment length based on radius # Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions alpha_steps_per_mm 160 # Steps per mm for alpha stepper beta_steps_per_mm 160 # Steps per mm for beta stepper gamma_steps_per_mm 160 # Steps per mm for gamma stepper # Planner module configuration : Look-ahead and acceleration configuration # See http://smoothieware.org/motion-control acceleration 3000 # Acceleration in mm/second/second. #z_acceleration 500 # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA junction_deviation 0.05 # See http://smoothieware.org/motion-control#junction-deviation #z_junction_deviation 0.0 # For Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA # Cartesian axis speed limits x_axis_max_speed 30000 # Maximum speed in mm/min y_axis_max_speed 30000 # Maximum speed in mm/min z_axis_max_speed 300 # Maximum speed in mm/min # Stepper module configuration # Pins are defined as ports, and pin numbers, appending "!" to the number will invert a pin # See http://smoothieware.org/pin-configuration and http://smoothieware.org/pinout alpha_step_pin 2.0 # Pin for alpha stepper step signal alpha_dir_pin 0.5 # Pin for alpha stepper direction alpha_en_pin 2.4! #0.4 # Pin for alpha enable pin alpha_current 1.5 # X stepper motor current alpha_max_rate 30000.0 # mm/min beta_step_pin 2.1 # Pin for beta stepper step signal beta_dir_pin 0.11 # Pin for beta stepper direction beta_en_pin 2.4! #0.10 # Pin for beta enable beta_current 1.5 # Y stepper motor current beta_max_rate 30000.0 # mm/min gamma_step_pin 2.2 # Pin for gamma stepper step signal gamma_dir_pin 0.20! # Pin for gamma stepper direction gamma_en_pin 2.4! # 0.19 # Pin for gamma enable gamma_current 1.5 # Z stepper motor current gamma_max_rate 300.0 # mm/min ## Extruder module configuration # See http://smoothieware.org/extruder extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false extruder.hotend.steps_per_mm 230 # up 640*1.53 Steps per mm for extruder stepper extruder.hotend.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves extruder.hotend.acceleration 500 # Acceleration for the stepper motor mm/sec² extruder.hotend.max_speed 50 # mm/s extruder.hotend.step_pin 2.3 # Pin for extruder step signal extruder.hotend.dir_pin 0.22 # Pin for extruder dir signal extruder.hotend.en_pin 2.4! # 0.21 # Pin for extruder enable signal # extruder offset #extruder.hotend.x_offset 0 # x offset from origin in mm #extruder.hotend.y_offset 0 # y offset from origin in mm #extruder.hotend.z_offset 0 # z offset from origin in mm # firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults #extruder.hotend.retract_length 3 # retract length in mm #extruder.hotend.retract_feedrate 45 # retract feedrate in mm/sec #extruder.hotend.retract_recover_length 0 # additional length for recover #extruder.hotend.retract_recover_feedrate 8 # recover feedrate in mm/sec (should be less than retract feedrate) #extruder.hotend.retract_zlift_length 0 # zlift on retract in mm, 0 disables #extruder.hotend.retract_zlift_feedrate 6000 # zlift feedrate in mm/min (Note mm/min NOT mm/sec) delta_current 1.5 # First extruder stepper motor current # # Second extruder module configuration # extruder.hotend2.enable true # Whether to activate the extruder module at all. All configuration is ignored if false # extruder.hotend2.steps_per_mm 140 # Steps per mm for extruder stepper # extruder.hotend2.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves # extruder.hotend2.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio # extruder.hotend2.max_speed 50 # mm/s # extruder.hotend2.step_pin 2.8 # Pin for extruder step signal # extruder.hotend2.dir_pin 2.6 # Pin for extruder dir signal # extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal # extruder.hotend2.x_offset 0 # x offset from origin in mm # extruder.hotend2.y_offset 25.0 # y offset from origin in mm # extruder.hotend2.z_offset 0 # z offset from origin in mm # #epsilon_current 1.5 # Second extruder stepper motor current ## Laser module configuration # See http://smoothieware.org/laser laser_module_enable false # Whether to activate the laser module at all. All configuration is # ignored if false. #laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26 # can be used since laser requires hardware PWM #laser_module_maximum_power 1.0 # this is the maximum duty cycle that will be applied to the laser #laser_module_minimum_power 0.0 # This is a value just below the minimum duty cycle that keeps the laser # active without actually burning. #laser_module_default_power 0.8 # This is the default laser power that will be used for cuts if a power has not been specified. The value is a scale between # the maximum and minimum power levels specified above #laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds ## Temperature control configuration # See http://smoothieware.org/temperaturecontrol ######################################## ntc not used for up/cetus ## First hotend configuration #temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all. #temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read #temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater, set to nc if a readonly thermistor is being defined #temperature_control.hotend.thermistor EPCOS100K # see http://smoothieware.org/temperaturecontrol#toc5 ##temperature_control.hotend.beta 4066 # or set the beta value #temperature_control.hotend.set_m_code 104 # #temperature_control.hotend.set_and_wait_m_code 109 # #temperature_control.hotend.designator T # #temperature_control.hotend.max_temp 300 # Set maximum temperature - Will prevent heating above 300 by default #temperature_control.hotend.min_temp 20 # Set minimum temperature - Will prevent heating below if set # ## Safety control is enabled by default and can be overidden here, the values show the defaults ## See http://smoothieware.org/temperaturecontrol#runaway #temperature_control.hotend.runaway_heating_timeout 900 # How long it can take to heat up, max is 2040 seconds. ##temperature_control.hotend.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds #temperature_control.hotend.runaway_range 50 # How far from the set temperature it can wander, max setting is 63°C # ## PID configuration ## See http://smoothieware.org/temperaturecontrol#pid #temperature_control.hotend.p_factor 30 # P ( proportional ) factor #temperature_control.hotend.i_factor 0.3 # I ( integral ) factor #temperature_control.hotend.d_factor 300 # D ( derivative ) factor # ##temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v. ####################################### # First hotend configuration temperature_control.hotend.enable true temperature_control.hotend.sensor pt100 temperature_control.hotend.thermistor_pin 0.23 temperature_control.hotend.ampmod1_pin 1.20 # UP! printer uses this to "energize" the RTD temperature_control.hotend.ampmod2_pin 1.21 # set as nc if you don't need to energize RTD temperature_control.hotend.slope 0.0257604875 temperature_control.hotend.yintercept -18.54 temperature_control.hotend.heater_pin 2.7 temperature_control.hotend.set_m_code 104 temperature_control.hotend.set_and_wait_m_code 109 temperature_control.hotend.designator T temperature_control.hotend.max_temp 300 temperature_control.hotend.min_temp -10 # Safety control is enabled by default and can be overidden here, the values show the defaults # See http://smoothieware.org/temperaturecontrol#runaway temperature_control.hotend.runaway_heating_timeout 1200 # How long it can take to heat up, max is 2040 seconds. #temperature_control.hotend.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds temperature_control.hotend.runaway_range 50 # How far from the set temperature it can wander, max setting is 63°C ## PID configuration ## See http://smoothieware.org/temperaturecontrol#pid temperature_control.hotend.p_factor 22 #23.0 temperature_control.hotend.i_factor 1.047 #1.104 temperature_control.hotend.d_factor 115 #120 temperature_control.hotend.max_pwm 200 # 160 # max pwm, 64 is a good value if driving a 12v resistor with 24v. ####################################### optional use underside port as 2nd extruder # second hotend configuration temperature_control.hotend2.enable false # Whether to activate this ( "hotend" ) module at all. temperature_control.hotend2.thermistor_pin 0.26 # Pin for the thermistor to read temperature_control.hotend2.heater_pin 0.4 # Pin that controls the heater, set to nc if a readonly thermistor is being defined #temperature_control.hotend2.thermistor EPCOS100K # see http://smoothieware.org/temperaturecontrol#toc5 temperature_control.hotend2.beta 3950 # or set the beta value temperature_control.hotend2.set_m_code 104 # temperature_control.hotend2.set_and_wait_m_code 109 # temperature_control.hotend2.designator T1 # temperature_control.hotend2.max_temp 300 # Set maximum temperature - Will prevent heating above 300 by default temperature_control.hotend2.min_temp 20 # Set minimum temperature - Will prevent heating below if set # Safety control is enabled by default and can be overidden here, the values show the defaults # See http://smoothieware.org/temperaturecontrol#runaway temperature_control.hotend2.runaway_heating_timeout 900 # How long it can take to heat up, max is 2040 seconds. #temperature_control.hotend2.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds temperature_control.hotend2.runaway_range 50 # How far from the set temperature it can wander, max setting is 63°C # PID configuration # See http://smoothieware.org/temperaturecontrol#pid #temperature_control.hotend2.p_factor 30 # P ( proportional ) factor #temperature_control.hotend2.i_factor 0.3 # I ( integral ) factor #temperature_control.hotend2.d_factor 300 # D ( derivative ) factor ##temperature_control.hotend2.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v. ####################################### ###################################### Cetus use the underside port as bed control enable for tinyfab heatbed driver temperature_control.bed.enable false # Whether to activate this ( "hotend" ) module at all. temperature_control.bed.thermistor_pin 0.26 # Pin for the thermistor to read temperature_control.bed.heater_pin 0.4 # Pin that controls the heater #temperature_control.bed.thermistor Honeywell100K # See http://smoothieware.org/temperaturecontrol#thermistor temperature_control.bed.beta 3950 # Or set the beta value temperature_control.bed.set_m_code 140 # M-code to set the temperature for this module temperature_control.bed.set_and_wait_m_code 190 # M-code to set-and-wait for this module temperature_control.bed.designator B # Designator letter for this module # Bang-bang ( simplified ) control # See http://smoothieware.org/temperaturecontrol#bang-bang temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis ################################ # when using bang bang ################################ UP plus/mini use internal bed control # temperature_control.bed.enable true # temperature_control.bed.sensor pt100 # temperature_control.bed.slope 0.0234092253 # temperature_control.bed.yintercept -2.85 # temperature_control.bed.thermistor_pin 0.24 # temperature_control.bed.heater_pin 2.5 # temperature_control.bed.set_m_code 140 # temperature_control.bed.set_and_wait_m_code 190 # temperature_control.bed.designator B # temperature_control.bed.bang_bang true # temperature_control.bed.hysteresis 1.0 # #temperature_control.bed.p_factor 13.7 # #temperature_control.bed.i_factor 0.097 # #temperature_control.bed.d_factor 24 ################################# ## Switch modules # See http://smoothieware.org/switch switch.psu.enable true # turn atx on/off switch.psu.input_on_command M80 # switch.psu.input_off_command M81 # switch.psu.output_pin 2.4 # open drain, inverted switch.psu.startup_state false switch.psu.output_type digital # on/off only switch.psu.failsafe_set_to 1 # so the ATX turns off on a system crash switch.psu.ignore_on_halt true # so the ATX does not turn off on a HALT condition (like limit trigger) # However leave commented or set to false if you want the ATX to turn off for an over heat fault condition switch.buzzer.enable true ## true # switch.buzzer.output_pin 0.25 # #switch.motor.enable false # true #switch.motor.output_pin 2.4 #switch.motor.startup_state true ## Switch module for fan control switch.fan.enable true # switch.fan.input_on_command M106 # switch.fan.input_off_command M107 # switch.fan.output_pin 2.5 # 2.15 # 1.18 switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand switch.fan.max_pwm 255 # set max pwm for the pin default is 255 #switch.misc.enable true # #switch.misc.input_on_command M42 # #switch.misc.input_off_command M43 # #switch.misc.output_pin 2.4 # #switch.misc.output_type digital # just an on or off pin switch.buzzer.enable true # switch.buzzer.output_pin 0.25 switch.servo.enable true switch.servo.input_on_command M280 #97.0 # 100 - 3% switch.servo.input_off_command M280 #93.0 # 100 - 7% switch.servo.output_pin 1.18 # Pin connected to the aux-port switch.servo.output_type hwpwm # H/W PWM output settable switch.servo.pwm_period_ms 20 # Default is 50Hz ## Temperatureswitch # See http://smoothieware.org/temperatureswitch # Automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes # Useful to turn on a fan or water pump to cool the hotend #temperatureswitch.hotend.enable true # #temperatureswitch.hotend.designator T # first character of the temperature control designator to use as the temperature sensor to monitor #temperatureswitch.hotend.switch misc # select which switch to use, matches the name of the defined switch #temperatureswitch.hotend.threshold_temp 60.0 # temperature to turn on (if rising) or off the switch #temperatureswitch.hotend.heatup_poll 15 # poll heatup at 15 sec intervals #temperatureswitch.hotend.cooldown_poll 60 # poll cooldown at 60 sec intervals ## Endstops # See http://smoothieware.org/endstops endstops_enable true # The endstop module is enabled by default and can be disabled here #corexy_homing false # Set to true if homing on a hbot or corexy #alpha_min_endstop 1.25^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground alpha_max_endstop 1.24^ # Pin to read max endstop, uncomment this and comment the above if using max endstops alpha_homing_direction home_to_max # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop alpha_min 0 # This gets loaded as the current position after homing when home_to_min is set alpha_max 180 # This gets loaded as the current position after homing when home_to_max is set beta_min_endstop 1.26^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground #beta_max_endstop 1.27^ # Pin to read max endstop, uncomment this and comment the above if using max endstops beta_homing_direction home_to_min # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop beta_min 0 # This gets loaded as the current position after homing when home_to_min is set beta_max 180 # This gets loaded as the current position after homing when home_to_max is set #gamma_min_endstop 1.29^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground gamma_max_endstop 1.28^ # Pin to read max endstop, uncomment this and comment the above if using max endstops gamma_homing_direction home_to_max # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop gamma_min 0 # This gets loaded as the current position after homing when home_to_min is set gamma_max 185 #This gets loaded as the current position after homing when home_to_max is set alpha_max_travel 190 # 190 # Max travel in mm for alpha/X axis when homing beta_max_travel 190 # 190 # Max travel in mm for beta/Y axis when homing gamma_max_travel 190 #9 # 190 # Max travel in mm for gamma/Z axis when homing # Optional enable limit switches, actions will stop if any enabled limit switch is triggered (all are set for delta) #alpha_limit_enable false # Set to true to enable X min and max limit switches #beta_limit_enable false # Set to true to enable Y min and max limit switches #gamma_limit_enable false # Set to true to enable Z min and max limit switches # Endstops home at their fast feedrate first, then once the endstop is found they home again at their slow feedrate for accuracy alpha_fast_homing_rate_mm_s 50 # Alpha/X fast homing feedrate in mm/second alpha_slow_homing_rate_mm_s 25 # Alpha/X slow homing feedrate in mm/second beta_fast_homing_rate_mm_s 50 # Beta/Y fast homing feedrate in mm/second beta_slow_homing_rate_mm_s 25 # Beta/Y slow homing feedrate in mm/second gamma_fast_homing_rate_mm_s 4 # Gamma/Z fast homing feedrate in mm/second gamma_slow_homing_rate_mm_s 2 # Gamma/Z slow homing feedrate in mm/second alpha_homing_retract_mm 5 # Distance to retract from the endstop after it is hit for alpha/X beta_homing_retract_mm 5 # Distance to retract from the endstop after it is hit for beta/Y gamma_homing_retract_mm 5 # Distance to retract from the endstop after it is hit for gamma/Z # Optional enable limit switches, actions will stop if any enabled limit switch is triggered (all are set for delta) #alpha_limit_enable false # Set to true to enable X min and max limit switches #beta_limit_enable false # Set to true to enable Y min and max limit switches #gamma_limit_enable false # Set to true to enable Z min and max limit switches # optional order in which axis will home, default is they all home at the same time, # if this is set it will force each axis to home one at a time in the specified order #homing_order XYZ # X axis followed by Y then Z last #move_to_origin_after_home false # Move XY to 0,0 after homing #endstop_debounce_count 100 # Uncomment if you get noise on your endstops, default is 100 #endstop_debounce_ms 1 # Uncomment if you get noise on your endstops, default is 1 millisecond debounce home_z_first true # Uncomment and set to true to home the Z first, otherwise Z homes after XY # End of endstop config # Delete the above endstop section and uncomment next line and copy and edit Snippets/abc-endstop.config file to enable endstops for ABC axis #include abc-endstop.config ## Z-probe # See http://smoothieware.org/zprobe #zprobe.enable false # Set to true to enable a zprobe #zprobe.probe_pin 2.13 #2.13!^ # Pin probe is attached to, if NC remove the ! (2.13 = door check port) #zprobe.slow_feedrate 5 # Mm/sec probe feed rate #zprobe.debounce_count 100 # Set if noisy #zprobe.fast_feedrate 100 # Move feedrate mm/sec #zprobe.probe_height 10 # How much above bed to start probe #gamma_min_endstop nc # Normally 1.28. Change to nc to prevent conflict, zprobe.enable true zprobe.probe_pin 2.13 zprobe.slow_feedrate 5 zprobe.fast_feedrate 100 zprobe.probe_height 10 gamma_min_endstop nc # Normally 1.28. Change to nc to prevent conflict, # Levelling strategy # Example for 3-point levelling strategy, see wiki documentation for other strategies leveling-strategy.three-point-leveling.enable true leveling-strategy.three-point-leveling.point1 10,10 # # first probe point leveling-strategy.three-point-leveling.point2 170,10 ##second probe point leveling-strategy.three-point-leveling.point3 170,170 #ird probe point leveling-strategy.three-point-leveling.home_first false # home the XY axis before probing leveling-strategy.three-point-leveling.tolerance 0.03 leveling-strategy.three-point-leveling.probe_offsets 40,-20,0 #37.6,-19.5,0 #based on the bracket leveling-strategy.three-point-leveling.save_plane false ## # Panel See http://smoothieware.org/panel panel.enable 0 # true # set to true to enable the panel code # Example viki2 config for Re-ARM with IDC cable panel.lcd viki2 # set type of panel panel.spi_channel 0 # set spi channel to use P0_18,P0_15 MOSI,SCLK panel.spi_cs_pin 0.16 # set spi chip select panel.spi_frequency 200000 panel.encoder_a_pin 3.26!^ # encoder pin panel.encoder_b_pin 3.25!^ # encoder pin panel.click_button_pin 2.11!^ # click button panel.a0_pin 2.6 # st7565 needs an a0 panel.contrast 4 # override contrast setting (default is 9) panel.encoder_resolution 4 # override number of clicks to move 1 item (default is 4) panel.pause_button_enable true #panel.button_pause_pin 1.22!^ # kill/pause set one of these for the auxilliary button on viki2 panel.back_button_pin 1.22!^ # back button recommended to use this on EXP1 panel.buzz_pin 0.25 # pin for buzzer on EXP2 panel.red_led_pin 2.8 # pin for red led on viki2 on EXP1 panel.blue_led_pin 4.29 # pin for blue led on viki2 on EXP1 panel.external_sd true # set to true if there is an extrernal sdcard on the panel panel.external_sd.spi_channel 0 # set spi channel the sdcard is on panel.external_sd.spi_cs_pin 1.23 # set spi chip select for the sdcard panel.external_sd.sdcd_pin 1.31!^ # sd detect signal (set to nc if no sdcard detect) panel.menu_offset 0 # some panels will need 1 here panel.reverse false # reverse the lcd ## Custom menus : Example of a custom menu entry, which will show up in the Custom entry. # NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands custom_menu.power_on.enable true # custom_menu.power_on.name Power_on # custom_menu.power_on.command M80 # custom_menu.power_off.enable true # custom_menu.power_off.name Power_off # custom_menu.power_off.command M81 # custom_menu.fan_on.enable true # custom_menu.fan_on.name Fan_on # custom_menu.fan_on.command M106_P0_S255 # custom_menu.fan_off.enable true # custom_menu.fan_off.name Fan_off # custom_menu.fan_off.command M107_P0 # custom_menu.Suspend.enable true # custom_menu.Suspend.name Suspend # custom_menu.Suspend.command M600 # custom_menu.Resume.enable true # custom_menu.Resume.name Resume # custom_menu.Resume.command M601 # ## Network settings # See http://smoothieware.org/network network.enable false # Enable the ethernet network services network.webserver.enable true # Enable the webserver network.telnet.enable true # Enable the telnet server #network.ip_address auto # Use dhcp to get ip address # Uncomment the 3 below to manually setup ip address network.ip_address 192.168.0.100 # The IP address network.ip_mask 255.255.255.0 # The ip mask network.ip_gateway 192.168.0.1 # The gateway address #network.mac_override xx.xx.xx.xx.xx.xx # Override the mac address, only do this if you have a conflict ## System configuration # Serial communications configuration ( baud rate defaults to 9600 if undefined ) # For communication over the UART port, *not* the USB/Serial port uart0.baud_rate 115200 # Baud rate for the default hardware serial port second_usb_serial_enable false # This enables a second USB serial port leds_disable true # disable using leds after config loaded #play_led_disable true # disable the play led # Kill button maybe assigned to a different pin, set to the onboard pin by default # See http://smoothieware.org/killbutton kill_button_enable true # set to true to enable a kill button kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice) #msd_disable false # disable the MSD (USB SDCARD) when set to true (needs special binary) #dfu_enable false # for linux developers, set to true to enable DFU # Only needed on a smoothieboard # See http://smoothieware.org/currentcontrol currentcontrol_module_enable false # Control stepper motor current via the configuration file 
submitted by thecaptain78 to cetus3d [link] [comments]

60 second binary option Strategy 2019 iq option strategy ... ⚡60 Second Strategy: Learn how to trade binary options for ... binäre optionen 60 sekunden strategie - binäre optionen hütchen strategie 60 sekunden Guide ║ 60 seconds binary options strategy forum - YouTube BINARY OPTIONS: profitable strategy 60 seconds - YouTube 60 Sekunden Optionen - YouTube

United nations legal order, cambridge, 1995, grotius, binary these changes require no trade of forex an message position. Losses capable as vangnet and clearing alike apply to the small institutions. Foreign exchange forwards and forex binary option forum forward pricing. See Also; binary options calendar broker 60 seconds The Best Binary Options Strategy. Our team at Trading Strategy Guides is ready to share with our beloved trading community our 60-second binary options strategy. We don’t just hope this strategy will make you money, we're certain it will. The mathematical model behind this binary options trading strategy has a proven market edge. Binary Options 60 second strategy using Iq Option. MakingMoney Posts: 8 July 2016 in Binary Options Strategy. Hello everyone, as suggested I'm here to post a strategy I've tested for 3 months now and it looks to work. Basically, using the Bolinger Bands and the moving average, I found almost a between 80 and 90% of success on binary options. Following the trend when a candle breaks, you have ... Similar Threads - Seconds Binary Options Forum Date; Buy Method of earning on binary options 4 seconds: Binary Options Trading systems and strategies: Dec 24, 2019: Download 60 SECONDS BINARY OPTIONS SIGNALS: Indicators: Sep 23, 2019: Recruitment of participants 2019 binary option 60 seconds indicator & strategy: Forex Trading systems and ... 60 SECONDS BINARY OPTIONS Metatrader 4 Windows indicator For metatrader 4 Binary options M1 best (work in others TF) Have only POPUP ALERT [ATTACH]... Page 1 of 2 - My revision of "GOD" Strategy 60 seconds, 120 seconds (and maybe 5M too) - posted in 60 Second Strategies: Took HolyFire developed indicators set and added into it few stuff: 1. MACD Trend Line 2. Heiken Ashi Candles 3. Damiani Market Conditions Detection Signal Arrow Types: 1. Gold Arrow can be taken alone without Dot 2. 60 Seconds Strategy – Quick and effective trading I am well aware that many of you expect the fastest possible results and real profits from transactions on Binary Options. So I prepared a brief description of a strategy, which I find not only very effective, but also simple to use. It is based on the … For some time my friend wanted to try trading binary options, but he couldn’t come to some common system. So, I show him this post. Now he’ll definitely try it in action somehow. He may even try to improve and personalize it somehow to make it more suitable for himself. Keep posting on the forum, I’ll wait for updates from you. Strategy; Scams; Forum; My 60 Second Binary Options Strategy. I have been toying around with 60 strategies for a long time. In general I think trading 60 seconds profitably is near impossible but that is what provides a lot of the challenge. That and the fact that trading is just plain challenging by itself. Over the past almost three years I have read a lot of strategies, reviewed a lot of ... Basic 60 Second Strategy. My basic strategy toward 60-second options goes as follows: 1. Find support and resistance levels in the market where short-term bounces can be had. Pivots points and Fibonacci retracement levels can be particularly useful, just as they are on other timeframes while trading longer-term instruments. 2. Take trade set ...

[index] [7677] [10504] [12506] [19524] [23506] [27683] [18742] [7199] [17753] [7227]

60 second binary option Strategy 2019 iq option strategy ...

Binäre Optionen Anbieter Banc de Binary Erfahrung - Binäre Optionen Anbieter Banc de Binary Erfahrun - Duration: 12 minutes, 41 seconds. 60 Sekunden Optionen 6,491 views Spider Strategy World Best IQ strategy ** Spider Strategy ** 60-second binary option Spider strategy 2019 indicator spider Strategy indicator TO get this str... Mail: [email protected] telegram and whatsapp 3460784176 *link stars binary: https://starsbinary.com/ref/sb542 1-minute (“60-second”) Binary Options Strategy Download App... https://app.appsflyer.com/com.iqoptio... https://affiliate.iqoption.com/redir/... binäre optionen lernen iq option strategie deutsch iq option strategie 60 sekunden trades strategie deutsch iqoption iqtradede broker optionen lernen iq tradede handel mit binären optionen ... Hello everyone!:) My name is Anastasia, but it's too hard to pronounce, that's why you may call me just ANA. I'm a pro trader for more than 2 years already a... Learn to trade 60 second binary options for money with this simple strategy. Time Chart: Candlesticks display a unit of time. Example: On a 1 minute chart ea...

http://arab-binary-option.doribtai.tk