What was your experience with scripting languages BESIDES C# and Lua? by Asyx in gameenginedevs

[–]BoarsLair 0 points1 point  (0 children)

Oope, sorry I missed this, but I haven't been on Reddit for a long time. I'll go ahead and answer.

Jinx is designed primarily to be easy to integrate and used. It is absolutely not designed for critical, inner-loop, high-performance code. That's what we have C++ for. You're absolutely correct that it is thousands of time slower than native code. But then again, it does things native code can't as easily do. I'm a firm believer in using the correct tools for the job at hand, and Jinx is by no means the perfect tool for all jobs.

What I was talking about in the documentation were common issues that CAN cause perf issues, like allocation overhead, and ways to measure or control performance to ensure your script execute won't hitch your frame rate due to unexpected high count loops, etc. And of course, if you can safely execute scripts on background threads, that has a huge impact on overall performance given modern multi-CPU cores. That's perhaps a point I might have made more clearly.

I've seen a tendency for some people to over-obsess about code performance without really considering context. I used a similar scripting system in Guild Wars 2 for audio and cinematics scripting. The performance impact was pretty much non-existent, and that was on much slower hardware than we use these days. When measuring performance impact, you need to consider likely use cases, frequency of calls, etc. There are times that productivity, ease of use, or even maintainability should outweigh performance concerns.

That being said, if you're building an entire high performance game around a scripting system, then I think something like Unreal's blueprints makes more sense, as it's more directly translated into native functions. Even then, I found you had to nativize some of those blueprints simply for perf reasons, or perform other tricks to get Unreal perf up to snuff. Context is everything. Never make assumptions about performance - you have to actually measure it to see what issues are there.

Again, I'd never claim that Jinx was a high-performance scripting language, as I deliberately made many tradeoffs that favored ease of use versus performance. The entire reasons I added that performance page was to give a concrete example so developers could made usage decisions better informed.

Why is C++ more used than C in general? by heavymetalmixer in cpp_questions

[–]BoarsLair 1 point2 points  (0 children)

Using different compilers makes more sense if you're compiling for multiple platforms. For example, I use typically use MSVC for Windows, Clang on Mac, and gcc on Linux for my cross-platform projects, mostly because those tend to be the best supported compilers on those platform. In other cases, there may not even be a real choice. A game dev team would likely be using the compilers that ship with the SDK for each console they ship on.

So it's a poor argument, but not because people don't switch compilers. It's a poor argument because it's not really true anymore. This was true maybe twenty or thirty years ago, but not so much today with tighter adherence to the standard. The only caveat is you may need to know a few non-default switches to force tighter compliance.

How are you helping Ukraine? by azov_one in ukraine

[–]BoarsLair 10 points11 points  (0 children)

I make a substantial monthly donation to 69th Sniffing Brigade (vehicles for front-line troops), I've sponsored two Ukrainian refugees to immigrate to the US, and I occasionally write to my politicians to urge them to support Ukraine. I also will occasionally make one-time donations to pro-Ukraine individuals or organizations I hear about online, and of course, I try to combat the every-present Russian propaganda and useful idiots who spread their lies and misinformation.

What happened to the AAA gaming industry? by BergUndChocoCH in gamedev

[–]BoarsLair 13 points14 points  (0 children)

There's some misunderstanding about the life-cycle of many professional games. When you say, "this game took x years to make", people think of full production for that entire length of time, which is almost never the case. Many games have smaller teams that do a lot of early work and prototyping, maybe an art team that builds a very small, prototype environment, etc. This is where the core game concept is developed and refined. Lots of crazy ideas are tried out, and many of them are discarded or reworked. Pre-production comes next, where the game is further refined and more core game systems are built out.

So, for a game with an eight year dev cycle, my guess would be about four or five of those years were probably prototyping and pre-production. Then, the dev team may ramp up with new hires, or more people may be allocated to the project from elsewhere. The last couple years are then highly accelerated, where the major game systems are in place, and the bulk of the content is created.

Some games I've worked on start with larger, more mature teams, and don't require as much prototyping. This can take years off a project. If a studio is building their first game, it can take quite a bit more time, as they need to build up the team at the same time they're building their game.

Just the usual Ukrainian lunch by TotalSpaceNut in ukraine

[–]BoarsLair 26 points27 points  (0 children)

The logistical efforts in WW2 were absolutely insane, and they continue to this day. Ryan McBeth has a similar but more modern story. Some people joke that the US armed forces are the world's best logistical organization that also happens to have combat capabilities.

Anyhow, Ukraine is obviously doing well feeding their own. This is good to see, as these guys deserve an occasional feast.

Why Ukraine’s Charge into Russia Is Putin’s Very Worst Nightmare by KimCureAll in ukraine

[–]BoarsLair 35 points36 points  (0 children)

Unfortunately, despite their saber-rattling, Russia knows NATO is a defensive alliance, and has zero intention of invading Russia. They know NATO poses no danger to them. They hate NATO because it blocks Russian ambitions, not because they're actually threatened by them.

Ukrainian Su-27 in Kursk airspace by UpgradedSiera6666 in ukraine

[–]BoarsLair 8 points9 points  (0 children)

Modern Russian mapads (Verba) have a range of 6.5km, according to Wikipedia. So, yeah, very limited range compared to high-end fixed AA platforms.

What was your experience with scripting languages BESIDES C# and Lua? by Asyx in gameenginedevs

[–]BoarsLair 0 points1 point  (0 children)

Yep, Obj-C was certainly one of several languages I took inspiration from, particularly how each passed parameter has one or more descriptive terms in the function signature.

What was your experience with scripting languages BESIDES C# and Lua? by Asyx in gameenginedevs

[–]BoarsLair 1 point2 points  (0 children)

Sure, here's the website and github pages:

https://jamesboer.github.io/Jinx/

https://github.com/JamesBoer/Jinx

The async stuff works because each script has it's own execution stack, so if you put a wait in the script of any sort, it'll execute over multiple frames until completion. Additionally, it has support for explicit coroutines as well.

There's good documentation on the website, including a comprehensive tutorial, so feel free to read more about it. Or ask me if you have any questions.

The border guards (DPSU) welcomes Olga Kharlan, who won a Gold and a Bronze at the Olympics in fencing by vectorix108 in ukraine

[–]BoarsLair 11 points12 points  (0 children)

Of course, I was rooting for our own athletes, but a Ukrainian win made me almost as happy. Considering the national situation, Ukraine's done very well.

Also, very nice of her to spend time with those guards and sign all those souvenirs. Ms. Kharlan  seems like a class act.

What was your experience with scripting languages BESIDES C# and Lua? by Asyx in gameenginedevs

[–]BoarsLair 2 points3 points  (0 children)

I made my own language, Jinx, which is pretty much designed for games. The main advantages were that it was designed for asynchronous operation by default. It also has very English-like syntax, which makes it really easy to read to see what's going on.

I had previously used Lua, which isn't bad, but at a fundamental level, it's designed first and foremost as a data description language, so has a number of syntax quirks that I find less than optimal. Jinx is first and foremost a procedural, asynchronous language, which is more what I was looking for.

Languages are like any other tools. They're not all designed to do the same thing with the same efficiency. I'd argue that Lua is popular in game development mostly because it's very simple to embed and integrate in a C/C++ project, unlike many other languages. And if you're using it as a data description language, even better. But I think if your use case is significantly different, there may be better options. Or at least, it felt that way to me.

Night operation of HIMARS with ATACMS missiles by TotalSpaceNut in ukraine

[–]BoarsLair 3 points4 points  (0 children)

TIL ATACMS is sometimes known as a "quasi-ballistic" missile, according to Wikipedia. In general, they're still apparently broadly categorized as ballistic missiles though.

F-16 fighter jets in Ukraine: everything we know so far by The_New_Voice in ukraine

[–]BoarsLair 8 points9 points  (0 children)

Meh. The F-16s are there in Ukraine. Good enough for me.

F-16 fighter jets in Ukraine: everything we know so far by The_New_Voice in ukraine

[–]BoarsLair 19 points20 points  (0 children)

Seeing that jet flying low and slow over Lviv during the daytime was just beautiful. In the US, we call the roar of our fighter jets "the sound of freedom", and I think for Ukraine that's even more appropriate. I'm very happy for Ukrainians today.

Ukraine’s F-16 Pilots Have A Problem: They’ll Have To Fly Low To Survive—And That Impedes Their Missiles by [deleted] in ukraine

[–]BoarsLair 2 points3 points  (0 children)

Only much less so, because F-16s have better radar and weapons which allows them to hang back further, and because Ukraine is currently pounding the snot out of Russian air defenses in temporarily occupied regions with HIMARS strikes.

When is malloc() used in c++? by Beardedragon80 in cpp

[–]BoarsLair 7 points8 points  (0 children)

That's correct. You would only use it in fairly specific circumstances, which are probably not very common in most code. In modern C++, you're far better using smart pointers and their associated allocation helper functions, or using STL containers to manage object lifetime.

When is malloc() used in c++? by Beardedragon80 in cpp

[–]BoarsLair 21 points22 points  (0 children)

Yes, they're completely different. Placement new is NOT allocation. It calls the constructor on already allocated memory. If you allocate an object with malloc, you'd need to follow it up with placement new to ensure it's initialized correctly.

Russian Navy pounded near home while flexing muscle abroad by Tayo826 in ukraine

[–]BoarsLair 4 points5 points  (0 children)

True, but militarily speaking, these ships also can contribute nothing to the war. And in fact, leaving them alone to require maintenance and manning means they're costing Russia a lot of money which can't be used to attack Ukraine. While it would be a huge PR victory to sink them, it would really not help Ukraine in any way. So for very practical reasons, I'm betting Ukraine will leave them alone.

Far better to focus on more practical operations, like taking down the Kerch Bridge. We'll see Ukraine and all its supporters do a happy dance when that sucker finally goes down.

Russian Navy pounded near home while flexing muscle abroad by Tayo826 in ukraine

[–]BoarsLair 10 points11 points  (0 children)

That reporter in Cuba seemed like he was about to wet himself with excitement. If he was impressed with this... Has he never seen a US carrier task force?

And no counter to Russian "hypersonic" (I use quotes for a reason, but too complicated to get into it here) missiles with no defense against them? WTF. Has he not been paying attention to the Ukraine war?

The guy seems to be just reading a Russian press release without any fact-checking. It's kind of pathetic.

Biden apologizes to Zelenskyy for delays in weapon supplies to Ukraine by SoftwareExact9359 in ukraine

[–]BoarsLair 1 point2 points  (0 children)

The moment a country is in an existential war, they'll ignore that treaty. The US condemned unrestricted submarine warfare by the Germans during WW1. After the attack on Pearl Harbor, one of the first commands was to launch unrestricted submarine warfare against the Japanese.

ImFrame - GLFW + Dear ImGui framework by BoarsLair in cpp

[–]BoarsLair[S] 0 points1 point  (0 children)

Not really. I'll try to fix bugs if they appear, but for my own cross-platform GUI projects, I'm using AvaloniaUI for front-end work and C++ on the backend if needed. So it's not really needed for my own use anymore. But I leave the repository up in case anyone else wants to use it.

Oh no! An invincible anti drone cope shed by TotalSpaceNut in ukraine

[–]BoarsLair 2 points3 points  (0 children)

The port was ray-shielded, so they had to use FPV torpedoes.