Skip to content
View in the app

A better way to browse. Learn more.

Tip.It Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Veiva

Members
  • Joined

  • Last visited

Everything posted by Veiva

  1. Veiva replied to Leoo's topic in Off-Topic
    I don't like JavaScript as a language. It's really not any better than most other dynamic languages. Lua's simplicity enables impressive performance optimizations without costing the user of the language any expressiveness. See the comparison of LuaJIT vs V8 (and LuaJIT is pretty much a one-guy project!). As a web application platform, it's better. We're getting to the point where it would be better and wiser to cross-compile programs written in C or C++ or C# or Java or whatever else to JavaScript to target the web than use JavaScript itself: https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript Also, is it just me or is the input box not wrapping lines? I was forced to write this in Sublime Text because of this.
  2. Veiva replied to Leoo's topic in Off-Topic
    I wish Lua had a good Node-like environment, then I would actually be interested in web development. JavaScript is ok at best (I have many issues with its syntax and design). PHP is an abomination (so is Java, in my opinion). C# is ok at worst but it's pretty much IIS/Microsoft only. I’d like to note there’s solutions out there, but they’re not nearly as tried-and-tested as Node or PHP or others. edit: Actually, OpenResty + Luvit looks pretty interesting... Honestly, for me, the biggest problem with web development is the inefficient languages that are used to build the web. I'm glad Node.js started to change that. Before then, you had... PHP. Somewhere between PHP and Node.js, things using Python and Ruby popped up... but they are also slow for various reasons and when compared to various other languages. I would like my code to not need "MORE HARDWARE" thrown at it. Apparently OpenResty/Luvit are fast (on par with Node) but use considerably less memory. I may look into this.
  3. Maybe he'll give us spawns every 13 hours for a month? This why you write unit tests to catch this "else" condition so that situations like this don't suddenly manifest themselves in production. (Not to say that tests or devs are infallible, but still...) Frequent spawning may make getting this title slightly more reasonable. But... but... uh... well, they can't test it because they can't reliably change their clocks throught the unit test! Yea, that must be it!
  4. Veiva replied to Leoo's topic in Off-Topic
    Learning how to program on your own and then expecting to get a good job is unrealistic. You can't expect someone to pay you $60k/year because you know Python. You'd probably need half a decade of experience as a full-time freelancer to get a job, and, at that point, it would've been better to get a degree. That said, everyone should learn how to program. It's ridiculously easy to get started. You just need a text editor and an interpreter and a good tutorial. Learning how to program is much different than learning how to properly program. I'll start off by saying most programming tutorials are total crap. I am assuming most schools are only somewhat better. For the most part, they glance over important details by using high level languages and promote inefficient usage of language features or syntax. For the most part, they are a basic introduction to a language or topic. Good, alright, cool. Now I can program Python! But can I program software? No, not without having a passion for the field. You need to want to get better! "I wrote this in Python" is not good enough. You should not say, but instead ask, "How can I improve upon my understanding and thus improve my program?" edit: I accidentally deleted a paragraph or two here, hence why the above and below don't make much sense together. The general idea was that people only do what they're taught and rarely try and move outside of this comfort zone, resulting in a difficulty in coming up with better-fit solutions. I see the problem all the time in programming forums. People have a herd mentality. They think the C++ Standard Library is great and that it cannot be surpassed. Exceptions are irreplaceable. Object-orientated programming is crucial to good design. In my case, I enjoy the low level details. You may call it premature optimization. I call it ensuring my program will be able to process 2,000+ unique agents some 60 times a second in a simulation without coming to a crawl, and thus requiring a complete redesign and refactoring of a giant code base. I did not come to enjoy these low level details from tutorials on Python or Java or whatever. They are good once you know how hardware interacts with software, and vice versa. It's also good for quick-and-dirty tools, or scripting, or anything that you know will never require performance (but keep in mind, the reason *you* don't have to care about performance is because the developer of the language runtime cared, but most importantly, because hardware has advanced far enough so you can be lazy; you think your Python program will be usable on low-performance embedded hardware?--think again!). I refer back to the C++ zealots. They have the luxury of not needing to write performant code, otherwise their opinion would change drastically. std::vector has a horrible allocation pattern--std::list fragments memory (and also has a pretty bad requirement of allocating a node on insertion and removal, which eventually boils down to a new/delete--slow!)--std::string is just crap all around ('small string optimization?' more like 'our current design is unfeasible, but it's too late to go back! let's just crap out something that works in a few cases!'). Exceptions are used willy-nilly by OOP addicts (i.e, Java). Do you know how expensive exceptions are when thrown? The simple requirement of exceptions being enabled disallows the compiler from making the best decision possible, as well, resulting in less optimizations (the kind of optimizations that are done the scenes). And then OOP. I cannot stand Java's or C#'s reliance on OOP over composition or simply understanding your data. A virtual table lookup is bad on the cache. One may work out, but with most OOP code, you have hundreds of them for simple tasks! Multiply this by the thousands of tasks that need to be performed to finish a computationally expensive algorithm. This goes hand in hand with standard containers in C++. This is the stuff I think about when I program every day. I need to write code that won't die because of memory fragmentation, or hiccup because of the language imposed garbage collector, or simply just not cooperate with the CPU's cache. Currently I'm working on porting all my previous efforts in C# to C++. This includes a resolution-independent curve renderer in real-time. I am simply tired of the high-level nature of C#. It's good when I don't care about performance. But a game is all about performance. I want to push hardware, not be limited by it. I will admit, I do not have a job in software development. I probably never will unless I somehow (by the grace of some deity) obtain a degree! That's unlikely, considering my economical and mental situation (I suffer from a pretty disabling mental condition--this impacts my getting of a basic job, let alone something more prestigious, and similarly, would make it difficult for me to pursue higher education). But it doesn't stop me from, when possible, improving my programming ability. I don't know why I just wrote this, but here it is. Take it for what it's worth.
  5. Behavior before "responsive combat:" Wild Magic with a staff would hit twice only if the first hit was under 3100 damage (or less than 3100 magic damage had been dealt, i.e. using a wrack + wild magic). If the first hit triggered a prayer switch, the second would splash. This did not happen with dual-wielding. After responsive combat, it doesn't matter anymore. Both hits of wild magic will active at once (so the only way for the second to miss is just a normal defense roll; the demon won't switch prayer until after the second hit).
  6. I am aware of this. Such a nice burst DPS now nerfed. Though, on the bright side, Wild Magic hits twice with a staff now! Thus staff > wand (because of that accuracy boosting basic, IDR its name off hand).
  7. I'm working on updating my TD guide at some point in the future, but just know it was (and maybe still is) possible to get 130-140 with tier 80 gear, which is at least 6.5m gp/hr... Regardless of what method you do though, it will be a long trudge to tier 90 gear and all the fancy expensive stuff.
  8. It may be worth it at TDs. I use it primarily because I'm too lazy to unlock the asylum surgeon's ring, but you'd get like 15k health a trip on average at 150 kph, but at leasser kphs it may still be worth it if you're learning especially (you don't need vigor there, because you primarily use thresholds, otherwise basics, never ultimates). Though at the moment, I already switch the necklace at the end of a kill (blood fury to demon horn) so I don't know if two switches is worth it... but YMMV.
  9. And the third time I'm going to have to rewrite this guide... ._.
  10. Tell that to the dozens of people who have various pets after only a few dozen kills. Err, what? I don't understand your point. Obviously just because a few people get lucky doesn't mean something isn't extremely rare. And I think you know that so I need more explanation to what your point is. It's more than just a few people. In any event, it's stupid - boss pets are prestige items that should be reserved for skilled and dedicated boss hunters, not lucky scrubs. I'd be in favour of minimum thresholds. Exactly this. A simple RNG roll of 0 out of X to get a boss drop is by no means prestige, there must be some sense of dedication required for any pet seeker. Getting a pet should be dedication or skill and not based solely on the RNG.
  11. You have a very odd definition of "realistic" I think it's realistic for people who only play RS. Now to find out find out what 'only play RS' means....
  12. For every improvement, there is an equal and opposite nerf. This update was not an improvement. It's like saying adding an extra 0 all damage/health values is an improvement. There is no change in DPS, only how 'responsive combat feels' which differs between each player anyway.
  13. Bull [bleep]ing shit. GF 160+ KPH at TDs. AND ESPECIALLY, now I'll never get 180 KPH. Bombardment stacking doesn't work and several other methods I successfully did YESTERDAY, now longer work because the attacks hit some tick or ticks faster. Combat is not any faster. It's just some fairy illusion shit. Oooh, Bombardment shows its damage a few ticks sooner!! NOW I CAN FEEL THE POWER... TDs were the only thing on RS that entertained me, only because I pushed myself to be better than most anyone else. And I did accomplish that, but now what's the point if the only strategy at TDs is gone?
  14. It's been done numerous times, and I'd assume we have more than a few people on the forum who have had several platebodies worth of shards. They're not that hard to kill once you know what you're doing :v Like this? Only ("only") 19 platebodies could have been made, though.
  15. All I do in RuneScape is kill Tormented Demons, and Revolution is horrible there. You generally use certain ability rotations/combinations (e.g. Needle Strike - > Bombardment -> Shadow Tendrils or Concentrated Blast -> immediately queue Wild Magic). Basically, you want to only use certain basics, and only at certain times, so revolution is useless unless you want to max at maybe 90 KPH. Other places, even places like Araxxor (well, up to a % of Enrage), revolution is a little worse than full manual for reasons outlined by Arceus.
  16. In regards to revolution vs full manual, I find it funny how a very old "elite combat mob" (IT'S A BOSS) requires full manual for anything above mediocre kills/hour and thus mediocre gp/hour, while most everything else is only slightly worse with revolution and proper threshold usage. In fact, for most people, not using revolution will result in less kills an hour or more grief for general combat...
  17. I just ran a few large simulations. Not like it takes more than 30 seconds to simulate 1000 hours... 1000 simulations of Tormented Demons (1 hour trips, using tier 90 dual-wield of all three styles) is on average 176 kills an hour at peak efficiency. Max kills in an hour during these simulations was 185, min was 168. 1000 simulations of Tormented Demons (1 hour trips, using tier 90 two-handed of all three styles) is on average 173 kills an hour at peak efficiency. Max kills in an hour during these simulations was 182, min was 166. 1000 simulations of Tormented Demons (1 hour trips, using tier 90 dual-wield magic and range weapons) is on average 175 kills an hour at peak efficiency. Max kills in an hour during these simulations was 182, min was 167. 1000 simulations of Tormented Demons (1 hour trips, using tier 90 two-handed magic and range weapons) is on average 169 kills an hour at peak efficiency. Max kills in an hour during these simulations was 179, min was 160. Some notes: 1. The simulation will complete a rotation even if it may not be the most efficient action (i.e., the Tormented Demon switches prayer mid-rotation). Generally, I can't react fast enough in such an event to make this inaccurate. YMMV. 2. I am not sure what are the best melee rotations. I used Stev's advise, some earlier trial-and-error, and some theory-Scapin' to develop the melee rotations. 3. I used superior elite void armour in these simulations. In reality, it's just about impossible to use in-game because if you get piled by the Tormented Demons, it's good game. Keep in mind this is just a simulation. I made it as accurate as possible, but I'm sure, in-game, these records can be beat. edit: I did more research on how Demons switch their weakness. As it turns out, they spawn with a random weakness (either fire or bolts). Every time they switch prayers, they seem to have a 50:50 chance of switching to either a fire or bolts weakness. This means they can keep the same weakness for portions of a fight, or switch it every other swap. In the previous calculations I assumed 'neutral' weakness because I did not know how this worked, and did not want to skew the results too much (e.g., by assuming the best or worst). I updated my calculator to reflect these changes. So here's the new data, where each simulation is again 1000 hours: Tier 90 dual-wield magic, range, and melee: 169 average kills per hour (179 max, 161 min). Tier 90 two-handed magic, range, and melee: 164 average kills per hour (175 max, 155 min). Tier 90 dual-wield magic and range: 168 average kills per hour (178 max, 159 min). Tier 90 two-handed magic and range: 161 kills per hour (170 max, 152 min).
  18. However, if you extrapolate a 30 second sample, then... you'll be there forever. The ride never ends. I still need to get superior elite void...
  19. I wrote a simulator for TDs. Its logic only supports melee/range switching for the calculations at the moment. I am updating it with hit-chance (currently it assumes 100% hit chance, which isn't far from the truth with tier 90s, but alas, I want accurate simulations!) at the moment, and then moving on to support any variable amount of gear (mage/range, melee/mage, mage/range/melee) and will get back to you then. However, I do think noxious is less effective than dual wielding. Needle Strike is a flat 5% DPS boost for things like Bombardment, Shadow Tendrils, and Snap Shot's first hit. Wild Magic also will always hit twice with dual-wielding, resulting in massive damage on average compared to staves. Dual-wield switching should be just as efficienct as two-hand switching if you can count ticks and only equip the stuff at the beginning of a tick, so two-handed weapons are actually worse at peak efficiency. Watch this space!
  20. Cannon can't be used at TDs, at least not anymore.
  21. That makes sense, I guess. The input doesn't reach the server until the next tick, then it gets rejected because the timestamp is too far behind the clock. I can't really blame them, though, because it'd be really easy to abuse if they didn't check for that. As far as solutions go, you could set up 2 metronomes at 100 bpm, one synced with the game clock and the other 100ms early, then avoid doing anything between metronome clicks. I'm probably going to do something like that. I can accurately count ticks by polling for image difference in the prayer points. Going to probably have to rely on an image or color or something of that sort rather than sound since I like listening to music while killing them... but that's just implementation details.
  22. Ok, I found a fix for this issue but it's impossible to implement with Jagex's draconian-but-'fair' 1 input to 1 action rule. Basically, you can only equip armour (and maybe other actions) until the last 1/6 of a tick (generally I figure this number would be your ping rate). If you perform more actions after this value, the input may get dropped. My idea would be to queue my key presses until the beginning of the next tick. E.g., I press A to switch to Mage action bar, and then press -=X to equip off-hand mage weapon, void mage helm, and use the Torment prayer (my main hand weapon I click on in the inventory before I press -=X, and it is always equipped, thus not subject to this issue). Normally, if I do this too close to the end of a tick, equipping one or more the items will fail. I never had the action bar fail to switch or the prayer, so I think these actions are queued differently by the game, but I digress. If I delay the key presses to the beginning of the next tick, then my input would never fail. So in this imaginary keybind-thing, I would have the keys bound to equip my gear delayed until the next tick. I know when the tick elapses in my case because I always use prayers, and whenever my prayer points go down I know a tick has started. However, there's no point in any of this because as far as I can tell delaying key input is against the rules (after all, that's what basic macros do w/e). In the end, this may be just an issue I have on every computer I've tried (lolchances), but it's bullshit regardless. Jagex should really fix their input system (for example, I know equipping multiple items from the inventory not going through is not just an issue I'm facing).
  23. Thanks. In my calculator, I adjusted it for the worst-case scenario which is rounding up (e.g., 5 seconds is 9 ticks, or 5.4 seconds). Doesn't affect the result too much, but it's better safe than sorry I think.
  24. I made a Tormented Demon killing simulator, bwahaha. It's a small program that emulates fighting Tormented Demons given combat parameters: I provide the small ability rotations I use (such as Concentrated Blast -> Wild Magic or Needle Strike -> Bombardment -> Shadow Tendrils), the familiar (Iron Titan, or Steel Titan, or Nihil, or whatever...), the Void/potion bonuses, and the weapon damaage. There's a few parameters that are pretty "IDK let me guess" like the time it takes me to switch gear (e.g., from range weapons/Void helm to mage weapons/Void helm) or the time it takes to go to the next Tormented Demon, but with a little trial-and-error with trial runs at Tormented Demons I can estimate average values for the simulator. And it turns out 260 KPH is possible with utmost skill and no mistakes. It correctly estimates my KPH at the southern spot and plinth (130 and 150, respectively), so I'm guessing it's pretty accurate in general. The logic is pretty simple, so I can't have screwed up too much :). edit: With a few fixes, it turns out 260 KPH is extremely lucky or outright impossible :(. The 'best' KPH is more like 240 KPH (edit2: actually, it's more like 190-200). Sample pseudo-screenshot in 'simple mode': 100 hours of Tormented Demon slaying results in the averages of... ... 132 kills per hour ... 2,234,635 damage per hour ... 282,244 overkill damage per hour Oh, and with those parameters... ...an average of 54 limb drops were simulated. Oh, and it was funny, it once simulated 78 limb drops in 100 hours / 130 KPH. Imagine that luck!
  25. Hey, yet another question. How is cooldown length calculated in the tick-based combat system? I'm trying to develop a simple combat simulator to develop the most effective ability rotations in certain scenarios, but I'm not sure how long a '10 second' (for example) cooldown really is. Is it 16 or 17 ticks? Many abilities align their cooldown on multiples of ticks, but things like Snipe, Firebreath, Needle Strike... don't, so I'm not sure if they round up or down.

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.