--- Log opened Tue Aug 07 00:00:32 2018 --- Day changed Tue Aug 07 2018 20180807 00:00:32< aeth> loonycyborg: but writing an entire game in C# (just to pick one language at random, I've never personally used it) might be preferable to writing a game in C++ and Lua. 20180807 00:01:09< loonycyborg> I think C# modules wouldn't work with steam workshop either 20180807 00:01:40< aeth> Minecraft mods use Java (but they don't use the Steam Workshop, of course) 20180807 00:02:05< aeth> (I don't know if Minecraft finally got the promised modding API 10 years late, I haven't followed it in a long time) 20180807 00:02:27<+wesdiscordbot> No it hasn't. 20180807 00:03:04-!- Tobbi [~Tobbi@supertux/tobbi] has joined #wesnoth 20180807 00:03:52<+wesdiscordbot> IIRC they essentially said to just keep using Forge. 20180807 00:04:05< celmin> Yeah Minecraft still doesn't have a modding API. 20180807 00:04:16< celmin> AFAIK it's still in the works, though. 20180807 00:04:25< loonycyborg> how do they make mods for minecraft? do they distribute them as java code or as bytecode 20180807 00:04:25< celmin> And there is some customization by now with JSON files. 20180807 00:04:26< loonycyborg> ? 20180807 00:04:35< celmin> Java bytecode I guess? 20180807 00:04:41<+wesdiscordbot> @loonycyborg Both. 20180807 00:04:43< celmin> Jars generally. 20180807 00:04:48<+wesdiscordbot> Some mods are open source some aren't. 20180807 00:04:56<+wesdiscordbot> For end-users obviously only the bytecode versions are useful. 20180807 00:07:37< loonycyborg> it's lot more complex with C++ 20180807 00:07:44< celmin> ...what? 20180807 00:07:49< celmin> Oh, nevermind, misread. 20180807 00:07:50< loonycyborg> because you need to compile it for all supported platforms 20180807 00:09:06< aeth> Anyway, when Wesnoth was started in 2003, C++ was one of the few realistic options for games. In fact, many games were still written in C for the extra performance at the time, and 2003 was right around the time when many were transitioning to C++. (Of course, Wesnoth is a 2D TBS, so it never *really* needed to be as efficient as C++ can make it.) 20180807 00:09:41<+wesdiscordbot> It did actually. 20180807 00:09:41< aeth> But I think the advice that languages with GC need to be avoided in games is incredibly dated in 2018. 20180807 00:09:53<+wesdiscordbot> Because it did (and still does) all its graphics rendering in software. 20180807 00:10:02< aeth> Good point. 20180807 00:10:10< aeth> One of the reasons that CPU usage hasn't climbed in games is because of shaders. 20180807 00:10:25< aeth> (Well, did not climb as high as you might expect.) 20180807 00:12:00< loonycyborg> I think GC should be avoided everywhere 20180807 00:12:29< celmin> I don't really like GC, but I don't think it's something that absolutely needs to be avoided. 20180807 00:12:36< aeth> Not every application is real-time and games are only soft real-time 20180807 00:13:04< aeth> (In this context, I think Wesnoth actually counts as real-time because it has a framerate to keep.) 20180807 00:13:07< celmin> And these days, I'd say most games even in C++ probably use GC, since the Unreal Engine is widely used now, right? 20180807 00:13:57< aeth> celmin: Well most games combine hyper-efficient C++ with GCed scripting of some sort, whether it's some sort of fanciness like UE or just a GCed language like Lua (or in the case of Unity, C# for scripting) 20180807 00:14:03-!- Tobbi [~Tobbi@supertux/tobbi] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 20180807 00:14:29< loonycyborg> but gc's problem isn't performance, but rather non-deterministic destruction 20180807 00:14:31< aeth> You could probably get a similar effect by using a GCed language for the whole thing, but using advanced techniques like object pooling in the hot loop areas 20180807 00:14:33< celmin> Yeah, Unity is C#, isn't C# GCed by default like Java? 20180807 00:14:38< celmin> I'm not actually sure... 20180807 00:14:51< aeth> celmin: Unity is C++. They use C# like Wesnoth uses Lua 20180807 00:15:06< celmin> Fair enough I guess. 20180807 00:15:09< aeth> It's just that you have no source access so you *have* to use C# 20180807 00:15:23< celmin> But unlike UE, you're not gonna be coding in C++ most likely. 20180807 00:15:42< celmin> AFAIK you technically could, but... 20180807 00:15:51< celmin> I'm not actually sure how that would work. 20180807 00:16:34< celmin> loonycyborg: That problem is probably solvable, I'd think? 20180807 00:16:53< loonycyborg> only solution is to use something other than gc 20180807 00:17:23< loonycyborg> There are more fine grained methods to manage memory 20180807 00:17:28< loonycyborg> like RAII 20180807 00:17:53< loonycyborg> and reference counting 20180807 00:18:00< loonycyborg> it's less powerful than gc 20180807 00:18:04< loonycyborg> but more intuitive 20180807 00:19:05< loonycyborg> it will force you to handle circular reference yourself 20180807 00:19:07< aeth> loonycyborg: When you write a game in a GCed language and want maximum performance, you have two separate ways of thinking: in the game loop and out of the game loop. Inside the game loop, you never have to allocate anything at all (assuming the language is capable enough). If you never allocate, the GC never gets called. Preallocate everything that you need ahead of the game loop. 20180807 00:19:19< loonycyborg> but you won't be surprised by sudden gc weirdness 20180807 00:21:17< aeth> Idk, one of the most surprising languages I've ever programmed in was C++ and it has no GC. Sure, you're not surprised by GC weirdness, but there's lots of quirks that a newer language can completely avoid having to deal with by not being backwards compatible, whereas C++ is kind of forced to be backwards compatible. 20180807 00:22:09< aeth> (Of course, every language has advantages and disadvantages. If you're writing a real-time application, absolutely use C++ despite the issues with it.) 20180807 00:22:58< celmin> C++ isn't fully backwards compatible TBH. 20180807 00:23:10< aeth> celmin: Even better! More quirks! :-p 20180807 00:23:40< aeth> I don't think I could be comfortable in C++ unless I worked in C++ full time. 20180807 00:23:42< loonycyborg> at least most of C++ stuff hits you at compile time 20180807 00:24:18< aeth> loonycyborg: On the other hand, most of the rest just becomes "Segmentation fault" and then you have to do things like run valgrind (if the performance is even acceptable enough for it to work) 20180807 00:24:29< celmin> loonycyborg: True I guess? 20180807 00:26:54< aeth> Some C++ I wrote I spent more time debugging than writing. Sure, if I became experienced in C++ that time would be cut down, but it's still probably not a good choice for solo projects. 20180807 00:28:13< aeth> (Of course, C++ got a lot better post-LLVM when GCC had to have more helpful compiler error messages to compete with LLVM) 20180807 00:29:13< celmin> Heh. 20180807 00:29:35< celmin> And cl.exe seems to have similarly improved its error messages, I think? 20180807 00:31:17-!- Haudegen [~quassel@178.115.237.87.static.drei.at] has quit [Remote host closed the connection] 20180807 00:31:33< aeth> I think the proper way to write C++ is probably to write almost everything in another language and move to C++ where the performance is necessary. Then at the very least you have a working prototype (the thing to move into C++) that you can compare against and you reduce the surface of things to debug (which is often more painful in C++ than other languages). 20180807 00:33:59< aeth> The disadvantage is now you have two languages with two different toolsets and possibly even two different editors that offer the best editing experience for each language. 20180807 00:34:00< loonycyborg> C++/python like 20180807 00:35:56< aeth> If you use Python you'd probably have to wind up moving 90% of your application to C++ in the end because Python is so slow :-p 20180807 00:37:20< loonycyborg> it's faster than most of alternatives 20180807 00:37:37< loonycyborg> at least among dynamic interpreted languages 20180807 00:40:48< aeth> loonycyborg: idk, at least here it's one of the slowest, only really significantly faster than Ruby. https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fast.html 20180807 00:42:06< aeth> At least if you're writing a game, you probably want languages from the second graph, the ones that are only 3-5x slower than C. Even if you plan to write parts in C++ 20180807 00:43:12< aeth> The slower scripting languages seem to cluster around 30x-50x, which is 10x what I'd call the "second tier" (3-5x slower than C) languages 20180807 00:44:39< aeth> Obviously there are problems with benchmarks like that, but the general performance clusters of languages (not necessarily the specific numbers) seem to match expectations. 20180807 00:46:57< aeth> I haven't heard of Chapel, but the rest of the 2nd graph (C++, C, Rust, Ada, Fortran, Swift, Chapel, SBCL, Java, C#, FreePascal, F#, Go, OCaml, Haskell, Dart) look acceptable for games except maybe F# and Haskell since pure FP doesn't seem to match the stateful way games operate. 20180807 00:48:36< aeth> On that benchmark page's top graph, the only thing that looks good for games IMO (obviously it's just my opinion since plenty use Lua) is TypeScript and maybe Racket. 20180807 00:49:58< aeth> node.js seems to be the only dynamically typed language that gets acceptable performance there (I bet the Racket is actually TypedRacket and I'm almost certain that the SBCL heavily uses type declarations) 20180807 00:55:42< loonycyborg> Haskell would be nice to try 20180807 00:56:38< loonycyborg> but haskell not too good as scripting language since primarily it's compiled language 20180807 00:57:49< aeth> hmm, nope, Racket isn't TypedRacket in those benchmarks, I just checked. 20180807 00:58:30< aeth> So I guess Racket just is one of the fastest dynamically typed languages. Interesting. 20180807 00:59:23< aeth> loonycyborg: I don't think it's a matter of compiled vs. interpreted but a matter of how fast changes are reflected. 20180807 01:00:30< aeth> If it uses a compiler but it's a fast compiler (perhaps recompiling just one changed function and hotloading the change) then it's probably good enough 20180807 01:00:38< aeth> (And it's probably faster than an interpreted language) 20180807 01:09:44< aeth> All of this is kind of irrelevant for Wesnoth, though. Afaik, Lua was pretty much the only choice because sandboxing was required. 20180807 01:33:45-!- sevu [~sevu@p548546E4.dip0.t-ipconnect.de] has joined #wesnoth 20180807 01:34:27<+wesdiscordbot> thats a wall of text 20180807 01:39:19<+wesdiscordbot> They're philosophers, it's normal. 20180807 01:55:07-!- celmin [~celticmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The minstrel departs, to spread the music to the masses!] 20180807 02:22:36-!- sevu [~sevu@p548546E4.dip0.t-ipconnect.de] has quit [Quit: Verlassend] 20180807 02:47:54-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 02:47:59-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 02:55:34-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 02:55:40-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 04:31:06-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20180807 05:36:19-!- Amany [~gaspar@194.182.72.59] has left #wesnoth [] 20180807 06:04:01-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth 20180807 06:06:49<+wesdiscordbot> So. Why is Java 3 obsolete? What is 'GC'? (I didn't quite catch those.) 20180807 06:06:56<+wesdiscordbot> *Java 2 20180807 06:07:05<+wesdiscordbot> And it was an interesting read. 20180807 06:08:55< Ravana_> java 2 is from 1998 20180807 06:09:08< aeth> Languages can be manual or automatic in how they manage memory. "GC" is garbage collection. 20180807 06:09:45< aeth> Apple doesn't like GC on iOS so they made it fashionable for people to dislike garbage collection. 20180807 06:10:00<+wesdiscordbot> @Konrad2 See https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) 20180807 06:10:22< aeth> The reason why you might not want GC, which makes things much easier, is because it makes things unpredictable, which can be bad if your application needs to be real time. 20180807 06:10:50< aeth> Unpredictable in the sense that most GCs 'stop the world' and pause the application. 20180807 06:11:33< aeth> In a gaming context, this means you could 'drop a frame', i.e. inpredictably get a tick that lasts longer than your desired seconds per frame 20180807 06:12:55< aeth> This matters if you have a very high target framerate (which means a very low amount of milliseconds per frame) like in VR, or possibly if you're targeting hardware with very weak CPUs, possibly phones 20180807 06:14:08<+wesdiscordbot> As a mobile game developer, I'd like to interject. Mobile games almost never have hard performance requirements, and it's perfectly okay to drop frames on occasion. 20180807 06:14:09< aeth> Games are soft real-time. A GC pause isn't the end of the world. Wall Street trading bots could lose a lot of money if their timing is off. Rockets could fail if their timing is off. 20180807 06:15:01<+wesdiscordbot> In our current project, we aren't worrying about GC at all. If we drop a frame once in a while, no big deal. 20180807 06:15:06< aeth> Caring about GC is usually not important in games for this reason. Also, real-time GCs exist, and are probably targeted at custom JVMs for finance firms. 20180807 06:16:03<+wesdiscordbot> (In fact, the main reason why we're getting dropped frames is that the graphical complexity varies while the player drives around the race track. The GC probably accounts only for a small fraction of dropped frames.) 20180807 06:16:51< aeth> Right, at the moment it only really matters in VR where it could make you physically ill... and even that will be solved eventually, even if it's just by Moore's law. 20180807 06:17:49< aeth> (When is VRnoth coming?) 20180807 06:18:14<+wesdiscordbot> Even in cases like VR, the GC probably doesn't cause long enough pauses to cause dropped frames if the developers don't do anything too unpredictable. 20180807 06:18:44<+wesdiscordbot> For example, if all allocations are short-lived, a generational garbage collector only ever needs to handle the youngest generation. 20180807 06:19:25< aeth> It would afaik only be noticable if your application is CPU bound, since the GC pause just effectively lowers how much you can do in a frame in the worst case. At least afaik 20180807 06:19:50<+wesdiscordbot> CPU-bound and only barely hitting the target framerate. 20180807 06:20:05< aeth> If your game is 2% of the CPU (not impossible on today's machines), it won't matter at all 20180807 06:21:05<+wesdiscordbot> Even if you're CPU-bound, if there are a couple of spare milliseconds in each frame, the GC pause can usually easily fit there. 20180807 06:21:48<+wesdiscordbot> And java 2 didn't get updated since 1998? 20180807 06:22:01<+wesdiscordbot> It was replaced with newer versions. 20180807 06:22:16<+wesdiscordbot> Java is currently at version 10. Java 11 is coming in September. 20180807 06:22:45< aeth> A couple? There's 10 in 100 FPS. You can easily not utilize most of that. 20180807 06:23:09<+wesdiscordbot> Gosh. I can't type. 20180807 06:23:17<+wesdiscordbot> I meant Python 2. 😂 20180807 06:23:45< aeth> Python 2 is being officially retired soon. 2020, I think. 20180807 06:23:53<+wesdiscordbot> Python 2 is still getting security updates for now. 20180807 06:24:10<+wesdiscordbot> But like aeth said, they will stop relatively soon. 20180807 06:24:18< aeth> Python 2 stopped getting feature updays maybe in 2010-2012 range 20180807 06:24:24< aeth> *updates 20180807 06:29:51<+wesdiscordbot> But still, the only argument for Python 2 being obsolete I've heard up to now, is that it is from 1998. Which, without context, doesn't mean anything to me. 20180807 06:30:28<+wesdiscordbot> Java 2 is from 1998. Python 2 is from 2000. 20180807 06:31:17<+wesdiscordbot> Oh. I missyped over there as well. 20180807 06:31:19-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 06:31:25<+wesdiscordbot> What a great day for me. 😂 20180807 06:31:34<+wesdiscordbot> The main reason why Python 2 is obsolete is that Python Software Foundation doesn't want to spend its resources to maintain old versions forever. 20180807 06:31:58<+wesdiscordbot> Once Python 2 is retired, security issues will eventually be found in it and they won't be fixed. 20180807 06:32:46<+wesdiscordbot> No one should be writing new Python 2 code today, and existing codebases should be migrated to Python 3, unless they have no security impact and would be too expensive to upgrade. 20180807 06:35:30-!- Tobbi [~Tobbi@supertux/tobbi] has joined #wesnoth 20180807 06:43:12<+wesdiscordbot> I think in most cases code rewriting is too expensive 😄 20180807 06:43:42<+wesdiscordbot> android code f.e sucks 20180807 06:43:49<+wesdiscordbot> Getting hacked can be even more expensive. 😛 20180807 06:45:04<+wesdiscordbot> better make new project from scratch 😄 20180807 06:45:54< aeth> Security issues will be found and they will be fixed in RHEL and a few other distros, possibly for 5+ more years past the 2020 point. Everything is supported if you pay enough, even e.g. very old Windows versions (XP?) 20180807 06:46:39< aeth> You'll no longer be able to widely distribute Python 2 to all platforms, though 20180807 06:46:55<+wesdiscordbot> Yeah, but it gets increasingly more expensive over time, and you would be just postponing the inevitable. 20180807 06:47:26< aeth> People pay for Oracle so some companies just don't care about software expenses at all, apparently. 20180807 06:48:12<+wesdiscordbot> Besides, Python 3 has also brought improvements to make programming faster and easier, and the developers wouldn't be able to use them (assuming that the software is still being changed, of course). 20180807 06:49:31< aeth> Looks like XP is totally dead 2019-04-09, btw. https://en.m.wikipedia.org/wiki/Windows_XP#Support_lifecycle 20180807 06:50:04<+wesdiscordbot> As a more radical example, you could imagine some company maintaining, say, a COBOL codebase today. There are very few engineers left, and they demand very high salaries. On top of also being unproductive in that ancient language. Such shops have at this point lost far more money than they "saved" back in the day by deciding not to rewrite the software in a newer language. 20180807 06:51:09< aeth> RHEL 7 is supported into 2024, so Python 2 will last at least that long. 20180807 06:52:27<+wesdiscordbot> hah well, this must to meet every language, java will soon die since kotlin is better 20180807 06:53:01<+wesdiscordbot> "soon" 20180807 06:53:09<+wesdiscordbot> couple of years 20180807 06:53:11<+wesdiscordbot> I think 20180807 06:53:41<+wesdiscordbot> I think it's much more than that. Java isn't that dated. 20180807 06:53:58<+wesdiscordbot> It's quite similar to C#, which is doing very well. 20180807 06:54:01< aeth> RHEL 7 was released in 2014, 4 years after RHEL 6, 4 years after RHEL 5. With 10 years of support and that cycle, RHEL might support Python 2 through 2028-2030 or so. 20180807 06:54:18<+wesdiscordbot> When everything that work in java work in kotlin 20180807 06:54:20<+wesdiscordbot> so why not use it 20180807 06:54:36<+wesdiscordbot> like C and C++ 😄 20180807 06:55:31< aeth> I suspect with 10 years support, Python 2 will live to 2030 in some places, if not a bit more. 20180807 06:55:47< aeth> It's all about timing 20180807 06:55:51<+wesdiscordbot> @FeniksFire I think you underestimate how much companies don't want to spend money. 20180807 06:56:37<+wesdiscordbot> that's why they employ students 20180807 06:56:46< aeth> Wrong. Companies love status quo. They will gladly spend millions to avoid a smaller expense on a rewrite. Uncertainty, I guess. 20180807 06:57:06< aeth> Rewrites never perfectly capture the old version bug-for-bug. 20180807 06:57:19<+wesdiscordbot> anyway I wait now for C++20 20180807 06:57:25<+wesdiscordbot> for reflections 😄 20180807 06:58:05-!- Haldrik [~Haldrik@unaffiliated/haldrik] has joined #wesnoth 20180807 07:01:04<+wesdiscordbot> why in most C++ opensource repos, tests sucks :c 20180807 07:01:38<+wesdiscordbot> Because no one wants to write unit tests. 20180807 07:01:48<+wesdiscordbot> :C 20180807 07:02:23<+wesdiscordbot> (Myself included. I only add tests when they're the easiest way to verify that something I'm working on works correctly.) 20180807 07:02:47<+wesdiscordbot> sure, you will then sometimes fix one bug and make another 20180807 07:03:45<+wesdiscordbot> To be blunt, I don't care. I'm not being paid, and I'll rather focus on things I like doing, instead of writing tests. 20180807 07:04:02<+wesdiscordbot> hah but this show what programmer you are 20180807 07:04:08<+wesdiscordbot> 😄 20180807 07:04:10<+wesdiscordbot> (Of course, I'm willing to fix bugs or even revert my commits depending on what kind of regressions I cause, once they are found.) 20180807 07:05:03< aeth> I think in C++ private stuff are truly private (I could be wrong) 20180807 07:05:15-!- Tobbi [~Tobbi@supertux/tobbi] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 20180807 07:05:30<+wesdiscordbot> in any case, this approach is sad 20180807 07:05:37< aeth> In many languages privacy is either a convention or at least something you can override, which makes *unit* testing much easier 20180807 07:06:02<+wesdiscordbot> aeth: Not quite. You can reinterpret_cast to a char array and read all private member variables that way. 20180807 07:06:07<+wesdiscordbot> Can I edit github stuff while I'm on my phone? 🤔 20180807 07:06:21<+wesdiscordbot> (Although you deserve a special circle in hell if you do that. 😉 ) 20180807 07:06:43< aeth> That doesn't sound like something that you'd want to write unit tests with 20180807 07:08:34<+wesdiscordbot> westnoth tests sucks 20180807 07:08:38<+wesdiscordbot> (Yes/no/maybe? xD) 20180807 07:08:46<+wesdiscordbot> also boost sucks 20180807 07:09:10<+wesdiscordbot> And telling me what is actually meant with tests would be cool too. :D 20180807 07:09:11<+wesdiscordbot> in test branch 20180807 07:09:12< aeth> Games in general have a history of not having many good tests. And some things are hard to write tests for, like GUIs and rendering. 20180807 07:09:31<+wesdiscordbot> you don't write tests 20180807 07:09:34<+wesdiscordbot> for client lul 20180807 07:09:41<+wesdiscordbot> you write for logic most times 20180807 07:10:04< aeth> Don't look at games for software engineering. They're like Sonic. They have to go fast. What's fast? Old stuff. 20180807 07:10:12< aeth> Most games are probably years behind trends 20180807 07:10:24<+wesdiscordbot> just gamedev is based on C++ where programmers are lazy 20180807 07:10:27<+wesdiscordbot> 😄 20180807 07:10:30< aeth> e.g. FP is probably not yet fast enough for most games 20180807 07:10:34<+wesdiscordbot> in some way 20180807 07:10:53<+wesdiscordbot> For the record, the project I'm developing at work is at the bleeding edge of what game development tools allow. 20180807 07:10:55<+wesdiscordbot> when tests make that you write code faster 20180807 07:10:56<+wesdiscordbot> safer 20180807 07:11:01<+wesdiscordbot> not longer 20180807 07:11:07<+wesdiscordbot> We are on Unity 2018.2.2, the latest stable version. 20180807 07:11:08<+wesdiscordbot> FeniksFire, I don't think anyone would oppose you writing more/better tests. 20180807 07:11:20<+wesdiscordbot> I write 😃 20180807 07:11:21<+wesdiscordbot> all time 20180807 07:11:36<+wesdiscordbot> Use of LINQ (C#'s functional library) is allowed and encouraged. (I'm the lead programmer, it's my decision.) 20180807 07:13:46<+wesdiscordbot> (Right, could anyone give me an easy to understand explanation how pull requests work when you are the project leader?) 20180807 07:14:04<+wesdiscordbot> ee, you make PR 20180807 07:14:11<+wesdiscordbot> then can merge it thanks to button 20180807 07:14:14<+wesdiscordbot> 😄 20180807 07:17:56<+wesdiscordbot> I'm not sure if my brother will understand that. XD 20180807 07:18:06<+wesdiscordbot> what you use? github? 20180807 07:19:10<+wesdiscordbot> Wesnoth does 20180807 07:20:45<+wesdiscordbot> then you open pr by 20180807 07:20:45<+wesdiscordbot> https://cdn.discordapp.com/attachments/231976805987385345/476288568692834304/Przechwycenie_obrazu_ekranu_2018-08-07_09-20-24.png 20180807 07:21:00<+wesdiscordbot> and if you are repo owner 20180807 07:21:59<+wesdiscordbot> you go into PR and on bottom there is another button 20180807 07:22:00<+wesdiscordbot> https://cdn.discordapp.com/attachments/231976805987385345/476288881281466369/Przechwycenie_obrazu_ekranu_2018-08-07_09-19-23.png 20180807 07:22:14<+wesdiscordbot> Merge pull request 20180807 07:26:09<+wesdiscordbot> anyway for everything, even if you are owner, create own fork from where you will pushing PR 20180807 07:28:52<+wesdiscordbot> Are there any unit buff/nerf patch notes anyone has put together? 20180807 07:39:49-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 07:39:55-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 07:54:32<+wesdiscordbot> You mean, except the changelogs? 20180807 08:58:12-!- You're now known as lobby 20180807 09:03:20-!- louis94 [~~louis94@109.49-136-217.adsl-dyn.isp.belgacom.be] has joined #wesnoth 20180807 09:35:51-!- louis94 [~~louis94@109.49-136-217.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 240 seconds] 20180807 10:20:21<+wesdiscordbot> wait wesnoth uses unity? 20180807 10:31:31<+wesdiscordbot> No, it doesn't. 20180807 10:31:51<+wesdiscordbot> When I was talking about Unity, it was about the mobile game I develop at work. 20180807 10:55:34<+wesdiscordbot> ah 20180807 11:46:05-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 11:46:10-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 12:24:33-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 260 seconds] 20180807 12:45:17-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 12:50:47-!- WesnothServerFan [~WesnothSe@wesnoth.gameplayer.club] has quit [Ping timeout: 244 seconds] 20180807 12:53:39-!- Haudegen [~quassel@178.115.237.87.static.drei.at] has joined #wesnoth 20180807 13:38:09-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 248 seconds] 20180807 14:28:19-!- hk238 [~kvirc@unaffiliated/hk238] has joined #wesnoth 20180807 14:34:21-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 14:34:26-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 14:54:44<+wesdiscordbot> What. 20180807 15:28:05-!- Haudegen [~quassel@178.115.237.87.static.drei.at] has quit [Ping timeout: 244 seconds] 20180807 15:28:32-!- Tobbi [~Tobbi@supertux/tobbi] has joined #wesnoth 20180807 15:29:17< hk238> server having some problems? 20180807 15:29:42< Soliton> yes. 20180807 15:45:36-!- Tobbi [~Tobbi@supertux/tobbi] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 20180807 15:47:02-!- mode/#wesnoth [-r] by shadowm 20180807 15:48:01-!- WesnothServerFan [~WesnothSe@wesnoth.gameplayer.club] has joined #wesnoth 20180807 15:49:08<+wesdiscordbot> @shadowm The way I understood it would work would be that the translators can translate a path or url to the image. And, in case they don't create new ones, that they can just take over the english version for the translation 20180807 15:50:56<+wesdiscordbot> This isn't #development. :< 20180807 15:52:11<+wesdiscordbot> happens… 20180807 16:07:25-!- Haudegen [~quassel@178.115.237.87.static.drei.at] has joined #wesnoth 20180807 16:18:31-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 16:37:42-!- gfgtdf [~chatzilla@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 16:41:26-!- tallguy9 [~tallguy@118.176.120.104] has joined #wesnoth 20180807 16:42:06-!- tallguy9 [~tallguy@118.176.120.104] has quit [Remote host closed the connection] 20180807 16:44:17-!- gfgtdf [~chatzilla@x4dba4ca7.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.93 [Firefox 52.9.0/20180621064021]] 20180807 16:44:35-!- gfgtdf [~chatzilla@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 16:48:53-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth 20180807 16:49:57-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Client Quit] 20180807 16:57:43-!- Tobbi [~Tobbi@supertux/tobbi] has joined #wesnoth 20180807 16:58:22<+wesdiscordbot> what is the great fall 20180807 17:13:29<+wesdiscordbot> like the thing that's mentioned in UtBS? 20180807 17:17:15-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 17:17:16<+wesdiscordbot> yes 20180807 17:17:32<+wesdiscordbot> (spoilers) 20180807 17:18:12<+wesdiscordbot> basically the human magi raised a second sun in the past to make the night shorter 20180807 17:18:23<+wesdiscordbot> symbol of their power and wesnoth's grandeur, etc. 20180807 17:18:41<+wesdiscordbot> after some generations they got lazy and weaker, so when one king wanted to raise a third sun 20180807 17:18:47<+wesdiscordbot> it failed and destroyed weldyn 20180807 17:18:57<+wesdiscordbot> then wesnoth fell in to anarchy basically 20180807 17:19:25<+wesdiscordbot> and then the 2 suns dried up the land and made things into deserts 20180807 17:19:30-!- gfg [~androirc@port-13657.pppoe.wtnet.de] has joined #wesnoth 20180807 17:19:40<+wesdiscordbot> oooh cool 20180807 17:20:13<+wesdiscordbot> <Ѕcar> I'm not sure UtBS ever mentions that specifically however 20180807 17:21:28<+wesdiscordbot> which part? 20180807 17:21:38-!- gfg [~androirc@port-13657.pppoe.wtnet.de] has quit [Read error: Connection reset by peer] 20180807 17:21:44-!- gfg [~androirc@port-13657.pppoe.wtnet.de] has joined #wesnoth 20180807 17:22:41<+wesdiscordbot> <Ѕcar> I only remember it mentioning a meteor shower 20180807 17:22:53<+wesdiscordbot> that's at teh very start 😮 20180807 17:23:05<+wesdiscordbot> I'm pretty sure they do. Zhul and Elyssa talk lots. 🤔 20180807 17:23:27<+wesdiscordbot> the history is given when you meet the merfolk priestess 20180807 17:23:41<+wesdiscordbot> <Ѕcar> Oh, they talk about the fall later 20180807 17:23:44<+wesdiscordbot> yah 20180807 17:23:44<+wesdiscordbot> <Ѕcar> I see 20180807 17:23:51<+wesdiscordbot> UtBS does not cover the fall 20180807 17:23:54<+wesdiscordbot> it only refers to it 20180807 17:24:06<+wesdiscordbot> if that's what you meant 20180807 17:26:28-!- gfg [~androirc@port-13657.pppoe.wtnet.de] has quit [Ping timeout: 256 seconds] 20180807 17:26:49<+wesdiscordbot> So...some (kinda) programming queostions. 20180807 17:29:12<+wesdiscordbot> What's the floating(?) average value of a set of numbers (data points) with arbitrary differences between each other that apparently arbitrarely change? 20180807 17:29:57<+wesdiscordbot> Like in the stock market. 🤔 20180807 17:31:17< Soliton> https://en.wikipedia.org/wiki/Moving_average 20180807 17:38:30-!- Tobbi [~Tobbi@supertux/tobbi] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 20180807 17:40:59-!- gfgt [~androirc@port-13475.pppoe.wtnet.de] has joined #wesnoth 20180807 17:42:00<+wesdiscordbot> Thanks. 20180807 17:46:21-!- gfgt [~androirc@port-13475.pppoe.wtnet.de] has quit [Ping timeout: 240 seconds] 20180807 17:52:27-!- Turska-3 [~Turska-@98-189-255-138.netbarra.net.br] has joined #wesnoth 20180807 17:52:54-!- Turska-3 [~Turska-@98-189-255-138.netbarra.net.br] has quit [Killed (Unit193 (Spam is not permitted on freenode.))] 20180807 17:54:04-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 18:04:49-!- louis94 [~~louis94@109.49-136-217.adsl-dyn.isp.belgacom.be] has joined #wesnoth 20180807 18:14:42-!- hk238 [~kvirc@unaffiliated/hk238] has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/] 20180807 18:16:31<+wesdiscordbot> hi 20180807 18:16:36<+wesdiscordbot> will wesnoth 1.6 be 3d? 20180807 18:17:01< Soliton> wesnoth 1.6 was already released. 20180807 18:17:09<+wesdiscordbot> 1.16, then 20180807 18:17:21<+wesdiscordbot> it will be 4d 20180807 18:18:28<+wesdiscordbot> @Yumi what do you mean? 20180807 18:20:03<+wesdiscordbot> even if you wont use actual 3d models, 20180807 18:20:21<+wesdiscordbot> 3d would let you rotate the wesnoth sprites randomly when they get hit 20180807 18:20:46<+wesdiscordbot> to signify their panic at getting hit 20180807 18:21:46<+wesdiscordbot> similarly, the floating "how much damage did you take" boxes could become 3d, becoming bigger and bigger, under a 3d angle, until they disappear 20180807 18:22:43-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has quit [Ping timeout: 244 seconds] 20180807 18:23:56-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has joined #wesnoth 20180807 18:24:40<+wesdiscordbot> and when they do, they could burst into an explosion of particle effects 20180807 18:25:42-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has quit [Read error: Connection reset by peer] 20180807 18:25:50-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has joined #wesnoth 20180807 18:28:21<+wesdiscordbot> here is what i have been thinking, 20180807 18:28:55<+wesdiscordbot> people like 2d games because they like to see the characters they play with trapped in 2 dimensions 20180807 18:29:04<+wesdiscordbot> so as to feel superior. 20180807 18:29:39<+wesdiscordbot> what's the point making wesnoth 3d 20180807 18:29:46<+wesdiscordbot> there is an entire dimension of space which is obvious to you, but not to the characters in 2d games 20180807 18:29:54<+wesdiscordbot> @Cord it will give them freedom 20180807 18:29:56<+wesdiscordbot> we will have wesnoth 4d 20180807 18:30:00<+wesdiscordbot> instead of hexagons 20180807 18:30:04<+wesdiscordbot> we will have tesseract tiles 20180807 18:30:05<+wesdiscordbot> then they too can know what 3d feels like 20180807 18:30:14<+wesdiscordbot> like we do, as we play wesnoth 20180807 18:30:48<+wesdiscordbot> @Yumi serious question, 20180807 18:30:48-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has quit [Ping timeout: 268 seconds] 20180807 18:30:55<+wesdiscordbot> what would tesseract tiles even look like? 20180807 18:31:00<+wesdiscordbot> i at least cannot visualize it 20180807 18:31:03<+wesdiscordbot> tesseracts 20180807 18:31:09<+wesdiscordbot> next to each other 20180807 18:31:10<+wesdiscordbot> do you just tile them as cubes 20180807 18:31:11<+wesdiscordbot> 😮 20180807 18:31:18<+wesdiscordbot> thats cheap 20180807 18:31:19<+wesdiscordbot> no a cube is in 3d 20180807 18:31:21<+wesdiscordbot> a tesseract is in 4d 20180807 18:31:31<+wesdiscordbot> ... i dont think you understand what a tesseract is 20180807 18:31:46<+wesdiscordbot> it is not a cube within a cube 20180807 18:32:07<+wesdiscordbot> no it's a projection of a cube in an extra dimension 20180807 18:32:10<+wesdiscordbot> yes 20180807 18:32:22<+wesdiscordbot> so how do you tile it 20180807 18:32:30<+wesdiscordbot> you put them next to each other 20180807 18:32:32<+wesdiscordbot> in 4d 20180807 18:32:37<+wesdiscordbot> put what next to each other exactly 20180807 18:32:54-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has joined #wesnoth 20180807 18:37:18-!- gfgt [~androirc@port-13434.pppoe.wtnet.de] has quit [Ping timeout: 256 seconds] 20180807 18:38:23-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 18:39:44-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 18:50:41-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 18:53:10-!- louis94 [~~louis94@109.49-136-217.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 256 seconds] 20180807 19:02:06-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 19:07:47-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 19:16:23-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 19:16:44<+wesdiscordbot> Aaayyyyy 20180807 19:16:59<+wesdiscordbot> Does anyone know 20180807 19:17:08<+wesdiscordbot> If bob the mighty is still around? 20180807 19:17:43<+wesdiscordbot> And if not, who maintains the lab of champions 20180807 19:22:42<+wesdiscordbot> definitely still around: https://forums.wesnoth.org/viewtopic.php?f=15&t=18919&p=632029#p632029 20180807 19:23:07<+wesdiscordbot> I don't know if he's still maintaining that specifically though 20180807 19:31:19-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 19:35:54-!- louis94 [~~louis94@109.49-136-217.adsl-dyn.isp.belgacom.be] has joined #wesnoth 20180807 19:37:23-!- sevu [~sevu@p54855848.dip0.t-ipconnect.de] has joined #wesnoth 20180807 19:37:31<+wesdiscordbot> <Ѕcar> It appears a unit with regenerates cannot remove poison on itself if it is next to a healer with heals +8 but not cures of the same side 20180807 19:39:04<+wesdiscordbot> <Ѕcar> but its not consisent 20180807 19:39:15<+wesdiscordbot> <Ѕcar> sometimes it works, sometimes it doesnt 20180807 19:43:55<+wesdiscordbot> strange. please make some more testing and fill a bug at bugs.wesnoth.org 20180807 19:47:09-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 19:48:32<+wesdiscordbot> <Ѕcar> I'm not really sure how to recreate it consistently 20180807 19:56:04-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has joined #wesnoth 20180807 20:00:32-!- tsp16 [~tsp@ip199c111.banglalionwimax.com] has joined #wesnoth 20180807 20:00:35-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has quit [Ping timeout: 240 seconds] 20180807 20:00:41-!- tsp16 [~tsp@ip199c111.banglalionwimax.com] has quit [K-Lined] 20180807 20:02:18-!- Sigals [~Sigals@109.169.215.109] has joined #wesnoth 20180807 20:03:07-!- Sigals [~Sigals@109.169.215.109] has quit [Remote host closed the connection] 20180807 20:03:46-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has joined #wesnoth 20180807 20:04:56<+wesdiscordbot> If you can recreate it that's good too 20180807 20:05:33<+wesdiscordbot> some bugs do not happen consistently… 20180807 20:08:32-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has quit [Ping timeout: 256 seconds] 20180807 20:09:42-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has joined #wesnoth 20180807 20:14:05-!- gfgt [~androirc@port-13315.pppoe.wtnet.de] has quit [Ping timeout: 240 seconds] 20180807 20:14:59-!- SporkWitch14 [~SporkWitc@pppoe.178-65-238-55.dynamic.avangarddsl.ru] has joined #wesnoth 20180807 20:15:20-!- SporkWitch14 [~SporkWitc@pppoe.178-65-238-55.dynamic.avangarddsl.ru] has quit [Remote host closed the connection] 20180807 20:16:13-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 20:18:38-!- Turner92 [~Turner92@46.102.31.18] has joined #wesnoth 20180807 20:19:28-!- Turner92 [~Turner92@46.102.31.18] has quit [Killed (Unit193 (Spam is not permitted on freenode.))] 20180807 20:19:38-!- thomasb9511 [~thomasb95@2a03:f680:fff2::1029] has joined #wesnoth 20180807 20:25:32-!- thomasb9511 [~thomasb95@2a03:f680:fff2::1029] has quit [Ping timeout: 265 seconds] 20180807 20:34:05-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has quit [Ping timeout: 240 seconds] 20180807 20:39:05-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 20:39:11-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 20:41:07-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 20:58:51-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has quit [Ping timeout: 240 seconds] 20180807 21:02:36-!- JStoker4 [~JStoker@59.red-83-32-125.dynamicip.rima-tde.net] has joined #wesnoth 20180807 21:04:09-!- Appleman1234 [~quassel@121.222.137.147] has joined #wesnoth 20180807 21:07:11-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has joined #wesnoth 20180807 21:08:21-!- JStoker4 [~JStoker@59.red-83-32-125.dynamicip.rima-tde.net] has quit [Ping timeout: 240 seconds] 20180807 21:14:56-!- Tobbi [~Tobbi@supertux/tobbi] has joined #wesnoth 20180807 21:23:53-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 21:23:58-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 21:35:26-!- sevu [~sevu@p54855848.dip0.t-ipconnect.de] has quit [Ping timeout: 244 seconds] 20180807 21:45:26-!- gfgt [~androirc@x4dba4ca7.dyn.telefonica.de] has quit [Ping timeout: 256 seconds] 20180807 21:47:59-!- mode/#wesnoth [+r] by shadowm 20180807 22:16:53-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 22:16:59-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 22:35:51-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 22:49:42-!- TheJJ is now known as jj 20180807 22:50:00-!- jj is now known as TheJJ 20180807 22:58:27-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180807 22:58:33-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20180807 23:12:15-!- Tobbi [~Tobbi@supertux/tobbi] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 20180807 23:13:23-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth 20180807 23:39:36-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20180807 23:39:47-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth 20180807 23:43:35-!- Haldrik [~Haldrik@unaffiliated/haldrik] has quit [Remote host closed the connection] --- Log closed Wed Aug 08 00:00:41 2018