• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

HIVE

D
Deleted member 219079
Hmm, IIRC LuaJIT maintainer doesn't want to move from Lua 3.1? It's unfortunate, since JIT is a panacea for hot code spots.

I'm quite impatient when it comes to setting up a system. Windows Update installed all the necessities automatically and keeps the system up-to-date. I was in on-the-job learning at a computer repair shop where setting up a Windows machine was a matter of running Windows Update. This pampering philosophy is evident in Visual Studio too; with a click of a button I can opt for C++ Desktop Development workload which'll get the runtimes and tooling necessary. They're even making GUI settings screens for CMake, because they know de facto standard for build generators is CMake. There's also a GUI config endeavor on VS Code. VS Code is available for Linux too, I encourage you to try it!

Have you seen this famous clip?
https://www.youtube.com/watch?v=IVpOyKCNZYw
Malhorne
Malhorne
It's 5.1. And it is even worse than that, the guy does not want anybody to modify anything on it. He keeps the repository and stops modifying it because of personal reasons (time, lazyness and such).

I don't like Windows Update because it is fucking intrusive and forces you. This is not a good user experience by any mean ^^
Concerning the system: I'm a fan of operating system, I like to know what's going on. I don't want to be an assisted user that does not know how works an OS or what is a boot loader, or how does an OS boot, etc...
The problem with this mindset is that you're closing yourself inside the Windows environment and have trouble doing multiple platform friendly code. The Windows compiler is SO SLOW. CMake is not the defacto build generator. It is often used for C/C++ project/Makefile generator but CMake is not scalable so it can be a trouble (I benchmarked it ^^).
Malhorne
Malhorne
Also please don't try to make me switch from Vim. You're clearly not the first one, and it is always the same arguments, and it is always to show some "fancy" thing that I plainly don't care about. I feel that every other thing is slow, not configurable as I would like, need a graphical thing. Naaaah let me use my vim and let my edit quickly my stuff. I used to use these kind of stuff. Nowadays I use only terminal and command line tools, and it is wayyyyyyy faster and way more efficient when you know what you're doing. And that's the key: you actually know what you're doing.

Oh yes mah boi.

EDIT: Split because of the word maximum count.
D
Deleted member 219079
Ooops >< was off by 2. Sorry, still a Lua pleb, lol.
What an obstinate person. But aren't there any forks?

Well, I'd be hesitant to use anything else than CMake in my open source projects and expect community contributions. Feel free to cast your own nomination for the de facto standard mean of build file generation.

I guess we just differ in dispositions. I can't bring myself to caring for the intricacies of OS's workings. I want my pampering, extravagant GUIs and automatic updates.
"[...] trouble doing multiple platform friendly code" I can just use Travis CI to ensure cross-platform compatibility, can't I?
Malhorne
Malhorne
Ahaha don't worry to be honest I discovered it like 4 years ago. But I wasn't yet aware of the shitstorm. Hum.. let's say it was a lot of arguments and shitstorm with a stubborn guy haha

Depends on your usecase, I agree that for C/C++ it is one of the best. But it surely depends on why you use CMake. If you only use it as a Makefile/project generator yeah okay. But you can do a lot more, and this lot more is not amazing in CMake.
I do tools based on build system at work and I can tell you we forgot what CMake is haha

Oh please tell the guy developing the Hive Editor to use CMake at least, because his codeblocks project file is like... wut mate?
Malhorne
Malhorne
Oh for sure. I don't like having to be open a graphical stuff each time I've got to do something, how do I work in ssh then?
I love knowing how low level system works. I mean I spent countless hours learning how to setup/live with Archlinux and I don't regret anything x)
This just means you're doing a lot of tests that are then deployed in Linux. But it depends on your tests and not necessarily the continuous integration tool :)
And also the Microsoft compiler (MSVC IIRC) is not standard, or used to not be, I had trouble with code written on Windows that couldn't compile on Linux and was perfectly running on Windows. Quite a hassle because at the time I was a beginner in Linux and C++
D
Deleted member 219079
I was talking about CMake with strictly C++ in mind. I've no idea how projects in other languages are built.

I've developed a conception that a decade or two ago you would've been looked askance for using version controlling. Nowadays DevOps tools reign à la mode and you need to learn them to get traction for your open source endeavor.

The Visual C++ team has indeed scrambled to catch up on standards conformance. Perhaps your struggle with MSVC was with an older version?
https://en.cppreference.com/w/cpp/compiler_support
https://devblogs.microsoft.com/cppblog/c-standards-conformance-from-microsoft/
Malhorne
Malhorne
With strictly C++ CMake is fine even if I would prefer a Makefile to not have any dependencies, but this is not really Windows friendly (which I don't really care tbh).

What do you mean? I did not really get this paragraph ^^

It was in 2014 or 2015 something like this. So yeah the MSVC version was way older, it might not be relevant but still it was a problem and I hope it is solved. Because what a pain it was.
D
Deleted member 219079
I mean that the advent of convenient open source collaboration platforms such as GitHub incentivized programmers to learn means of DevOps such as version controlling and CI/CD. One would use publicly acclaimed tooling like CMake so as to attain more traction for their repository.

That's very old. It's before they implemented two-phase name lookup (feature from C++98, lol).
Malhorne
Malhorne
Ah oh since the end of my second year of uni I was already interested in these tools so it wasn't a major change for now.
But it helps your projects to get contributions if the environment is so nicely set up.
To be honest as long as your repository does not take thousands of dependencies and can be set up in 10m maximum without prior knowledge then you're good.
And that is what stopped me to contribute to the Hive Warcraft Editor haha


Oh my god. Back in the days C++14 was implemented in gcc, such lateness is impressive.
D
Deleted member 219079
Probably depends on how well the tool is documented. CMake's docs is so lugubrious a display of disregard for proper documentation that you simply can't learn CMake that way. For a counterexample, MSDN has splendid documentation over WinAPI. I got into C programming with WinAPI and MSDN. I never needed to resort to an external source. Filesystem, windowing, threading, you name it.

That actually leaves me wondering, how should I import dependencies into a Lua project? I've been eyeing over this thing: https://github.com/hishamhm/f-strings
After learning about Python's f-strings, I can't live without them. But I don't know what's the idiomatic way of importing that over. Do I copy the F.lua over to my ./lib/ ?
Malhorne
Malhorne
True, documentation is important when you want people to learn/use your tool/language. CMake documentation is quite painful indeed.
To be honest I never used MSDN documentation so I can't voice any opinion on that, especially because I never did anything system related in Windows because it's painful compared to Linux haha.

To be honest I'm not sure, I never did a real full Lua project, I always messed around back in the days doing some stuff and it's been a long time since I've done anything with it.
I guess submodule it into ./lib if you want to upload in on a git sharing system like Github, otherwise just plainly copy it into your lib is fine imo.
D
Deleted member 219079
Hmm, when I try to use an f-string from the repo, it gives me an obscure 'attempt to index a nil value (global 'debug')'. I dunno what to do, but I reckon '..' concatenation is faster anyway, so I guess I should just drop f-strings.

Well, I hope you get the latest patch working with the Reddit guide, so you can experiment with Lua too!
Malhorne
Malhorne
That's strange maybe there's some bug in the library or the import documentation isn't up to date.
For now dropping them might be the call ^^

Yeah I'll try this week-end I don't have much time during work week between the different kind of stuff I'm doing.
I hope it'll work so I'll have access to all these new cool stuff and it will be better to test these bytecode stuff.
Furthermore I've got some project (map/campaign) ideas, but I need some time and to learn how to terrain, I'm an awful artist for sure but I guess I can do some decent stuff with practice if I've a base to start with.
D
Deleted member 219079
That's weird, I always took you for the kind who's strictly interested in coding, not making entire maps, let alone campaigns, lol.
I, too, have developed interest in making a map or a campaign. Campaign would probably end up being just a short story and the map niche to the point that only I'll like it, hehe (thinking of Ice Escape + rhythm game hybrid).
Malhorne
Malhorne
I always had interest in map/campaign and I played quite the amount of custom maps/campaigns ^^
I used to plan some stuff with friends but it never really came true haha

Right now I'm planning to base my storyline upon a concept album. I've got a good grasp of the record since I've listened to it quite some years and I've read many times the lyrics. I just need to level my terraining skills by doing some small maps and then I'll probably start this project.
Malhorne
Malhorne
I plan to really stick to the "less is more" philosophy, doing small/medium sized maps straight to the point, without much side quests/secrets. I really liked the approach of the TTBE campaign for instance. The guy isn't the greatest terrainer at all, nothing is extremely flashy, but everything is consistently well done. That is my plan: keeping it simple and effective.

For now I just need to find some mini maps ideas to train myself, when I'd feel confident enough I'll start to make the maps of this medium sized campaign. I've got way more projects but I'd need to level up my skills in this smaller projects before attempting to realize them.
D
Deleted member 219079
Perhaps, with Reforged right around the corner, you should focus on scripting while waiting for the new assets for terraining (trees, rocks, foliage...). Everything the community has churned out this far, insofar as visual assets are only concerned, will be deprecated by the release of Reforged.
Malhorne
Malhorne
If I design a map it will still be possible to play it even with Reforged that does not change. If I use Vanilla models it will not be a problem since they will be automatically changed.

It is only if I use custom model that the transition would be harder. In that case I will just replace the path with vanilla ones or new ones when they will be ready ;)
Malhorne
Malhorne
Moreover terraining is a skill that will not fade once reforged is out.
Top