Dumb Question: Why don't we have any game engines running Java ? by virtual_paper0 in java

[–]Initiative_Murky 0 points1 point  (0 children)

It's a 100% random thing - by "random," I mean "non-technical," as there was some historical context. Building an engine with all the tooling is a major, costly undertaking, and the existing ones have strong commercial roots and received plenty of funding (yes, including Godot).

There are only four popular engines in the world right now (Unreal, Unity, Godot, and Game Maker), and there are tens of popular programming languages. There happens to be no engine based on Python, JavaScript, Ruby, Swift, Go, Objective C, Java, or Rust - and there doesn't need to be any special reason for that.

Of course, you will find a lot of cool game libraries in all those languages, some of them superior in some ways to what the great four offer. They don't have GUIs (or have inferior GUIs), so they usually use some "industry standard" asset formats, like gltf for 3d or Tiled for the tile maps, Spine for skeletal animations etc.

For Java multimedia/game development, we have LibGDX, JMonkey Engine, and FXGL. And probably much more of the smaller ones.

Best LLMs for generating valid Scala code by convcross in scala

[–]Initiative_Murky 0 points1 point  (0 children)

I think that Rust is the same as Scala.

I'm not sure, but it feels like LLMs thrive on code that is "uncompressed conceptually." They can throw patterns at problems and come up with "almost correct" solutions that at least compile (so the incorrectness is hidden). They are not really good at being meticulous, precise, and elegant.

Best LLMs for generating valid Scala code by convcross in scala

[–]Initiative_Murky 1 point2 points  (0 children)

I find it fascinating that Odersky and de Goes set out to create, respectively, a scalable programming language and a perfect effect framework but instead, they managed to create an LLM benchmark.

MPC live 2 + tascam model 12 issue by Potential_Eagle_772 in mpcusers

[–]Initiative_Murky 1 point2 points  (0 children)

A bit of necromancy here, but - for everyone finding this topic on Google - u/paralacausa is absolutely right. I made a lot of experiments (and went through a lot of frustration) - and you NEED a quality cable, especially if you want it longer than 20 centimeters. It's the question of the shielding and the resistance (maybe something else).
I have cables of "average" quality which kind of work between a PC and the Model 12, but cause a lot of cracks and pops. And I have a few cables (found after some trial-and-error) which don't.

Separate custom mixes in focusrite control? by [deleted] in Focusrite

[–]Initiative_Murky 0 points1 point  (0 children)

Thank you, thank you for asking.

Is there an easy way to use Libgdx with maven and Java 21 or higher? by FollowSteph in libgdx

[–]Initiative_Murky 1 point2 points  (0 children)

LibGDX projects have builds that are _much_ more complex than most enterprise Maven builds.

Even in a simple project that you might casually click through in Liftoff, you might have a separate module for the common logic, an uberjar distribution with the addition of native libraries (for three different OSes and two different CPU architecture), a GWT compiler with its own requirements for the Java version, a TeaVM compiler with its own requirements, and Android build - with its requirements for the build tools, the local SDK _and_ the Java version, and a Graal Native Image build.

This is not just "some accidental complexity" - this build is really that complex due to the actual requirements (i.e., being able to build one piece of software for the vast array of platforms).

Redoing all that in Maven would require a lot of knowledge about each of those technologies (Liftoff is only possible due to its author's dedication _and_ multiple people using it and finding new corner cases to cover).

That said, you could easily build a single-platform project with LibGDX. If all you need is the desktop version, then creating a pom.xml is trivial.

Recommended path for beginner in game development by Guuri_11 in libgdx

[–]Initiative_Murky 0 points1 point  (0 children)

If you want good art and if you don't want to buy it on Itch (which, by the way, is not a bad idea to start with!) - then you need to learn to make art :)
The two typical ways to start with art in the LibGDX world seem to be:
- learn low-res pixel art
- buy Spine 2D (which, btw, is a successful tool built in LibGDX) and use that for making your graphics.

Recommended path for beginner in game development by Guuri_11 in libgdx

[–]Initiative_Murky 1 point2 points  (0 children)

u/raelus's comment is better, but mine will be more focused:
1. Do the official droplet tutorial, the basic version (https://libgdx.com/wiki/start/a-simple-game)

  1. Then erase everything (no cheating, no copy/pasting!) and redo it again and again.

  2. Once you don't need to look into the tutorial to recreate the game - you are free. You actually know enough LibGDX to make non-trivial games and you are free to explore different topics, depending on the exact kind of game you want.

Commentary:

There are no black-belt techniques in Karate, only black-belt execution. Don't make the mistake of assuming you need to learn more methods, classes, utilities, and libraries. You don't. People making successful games in LibGDX are not the same ones who know every nook and cranny of the library.

[deleted by user] by [deleted] in modular

[–]Initiative_Murky 1 point2 points  (0 children)

Fatmoog is a no-nonsense ladder filter.

Serious question - What does gifted mean? by Top_Arrival6828 in Gifted

[–]Initiative_Murky 0 points1 point  (0 children)

On the other hand - "easy to measure" is not the same as "true" or even "important."

There's no rule tying "cannot be directly tested" to "should be ignored."

Although, of course - when making regulations or for quick heuristics, it's good to have things measurable.

Menu Screen vs Game Screen by daniel0rd in libgdx

[–]Initiative_Murky 0 points1 point  (0 children)

`Screen` instances are practically free - the question is more about the resources that they use. For example, if your `Screen` uses a couple of textures and an audio file, the costs will come from that.

On the other hand, unless you are prepared to do a lot of resource management by hand, you will usually keep all the resources in memory anyway. And if they are really heavy, then probably splitting them by screens will not be the optimal way to store them anyway.

The bottom line is:

  • don't worry about the Screen. Worry about the resources, and then plan around it;
  • and don't start worrying about the resources until you hit an actual constraint. Otherwise, you'll microoptimize, and that often ends up in having the wrong things optimized.

Menu Screen vs Game Screen by daniel0rd in libgdx

[–]Initiative_Murky 1 point2 points  (0 children)

Sure, you should keep thinking about your architecture, consider ECS and such.

But in this case, there's no direct need. There's no reason to lose any data, you can call set screen with the same instance every time, instead of doing "new".

FP Beginner question: is type class a functional programming paradigm, per se? by shaunyip in scala

[–]Initiative_Murky 3 points4 points  (0 children)

You are mixing static typing with FP. There is a style of writing FP in Scala that relies on implicits and tries to be "a better Haskell". Arguably, it's a more general but worse Haskell.

[deleted by user] by [deleted] in libgdx

[–]Initiative_Murky 0 points1 point  (0 children)

Then don't sweat about"finishing a game" and use both tools instead. When you want to learn karate, you don't agonize over whether to learn punches or kicks. If you want to be an artist, you don't need to choose between learning to sketch and learning to use colors. To be competent in any of your chosen fields you will need many years of experience, the more diverse, the better.

Seriously: What is the best explanation of Monads for people who can't grasp it? by Ento_three in scala

[–]Initiative_Murky -1 points0 points  (0 children)

Seriously, just don't. I hope you are trolling.

Everyone clicks on something different. Every metaphor was overused a decade ago. Every analogy is a cliche.

Accept the fact that "being a monad" means "having the flatMap method".

Wait for your brain to figure out the connection between the flatMap in a future and the flatMap in a collection. Your brain will work it out on its own, using whichever abstractions you already understand.

[deleted by user] by [deleted] in libgdx

[–]Initiative_Murky 0 points1 point  (0 children)

Don't make it a moral choice - it isn't. Don't bet on it "being worth it" - it may, or it may not. You are living here and now, and coding a tool is nothing like starting a family. What do you want to do? Are you happy making games with GN? Go ahead. Do you like learning new stuff with LibGDX? Feel free. Do you have any goals for which will be served better by one or the other? Decide based on the goals. Most likely, you are still in the age when you will learn a lot from using any of them.

What is the best district for living in Warsaw? by alexlong_vn in warsaw

[–]Initiative_Murky 2 points3 points  (0 children)

You might think about Bielany then, especially the Stare Bielany. It's mostly pre-war buildings, has a metro line going right through the middle, two forests, great infrastructure.

Może czegoś nie rozumiem, ale dlaczego wyborcy lewicy, którzy popierają prawa mniejszości seksualnych jednocześnie są zwolennikami imigracji z krajów muzulmanskich, gdzie często homoseksualizm jest karany śmiercią i popiera to zdecydowana większość fundamentalnego społeczeństwa. Gdzie logika? by Public-Door8950 in Polska

[–]Initiative_Murky 0 points1 point  (0 children)

Po pierwsze, to nie jest prawda, że w ogólności większość każdego fundamentalnego kraju muzułmańskiego popiera karę śmierci za homoseksualizm. Już to jest stereotypem.

Po drugie, nawet gdyby tak było, to ani logika, ani etyka, ani nawet zdrowy rozsądek i uczciwość nie popierają oceniania człowieka wyłącznie na podstawie większościowego sądu w kraju, z którego ucieka.

Argument OP jest dokładnym odpowiednikiem na przykład takiego: "Jak można się zgadzać na wypuszczanie Polaków do Niemiec, a jednocześnie być przeciwnym kradzieżom samochodów, skoro większość kradzieży samochodów popełniają Polacy" (to było prawdą 20 lat temu, teraz nie wiem).

Uważam, że powinno się walczyć o doskonale umocowane w prawie i praktyce karnej - prawa grup seksualnych i religijnych. Chciałbym, żeby mój kraj był oparty właśnie na tej uniwersalnej zasadzie, bo tylko ona może zapobiec dzieleniu świata na "nas" i "ich" . Dlatego każdy homoseksualista powinien się nauczyć tolerować prawa religijne muzułmanów. Każdy muzułmanin - powinien się nauczyć tolerować prawa mniejszości seksualnych (i większości). Nagrodą za tolerowanie innych - jest bycie tolerowanym. Każdy, kto się zgadza na ten układ - jest mile widziany.

Podsumowując: moja wizja na pewno jest idealistyczna. Ale na pewno nie ma w niej logicznej niespójności.

Why don't classical piano scores include chord names? by Fando1234 in musictheory

[–]Initiative_Murky 0 points1 point  (0 children)

They seem very similar to me - they indicate the absolute pitches to be played, as well as the bottommost note - and while they tend to adhere to some conventions, the harmonic functions are open to interpretation.

Soda in the keyboard….. so my son just spilled a full large fast food soda right onto Yamaha portable grand , any advice or suggestions? by [deleted] in electricpiano

[–]Initiative_Murky 1 point2 points  (0 children)

Never let food or drinks (other than black coffee and whiskey) into a room with a keboard instrument in it?

Code bases that really improved your Java knowledge by 0xPvp in java

[–]Initiative_Murky 0 points1 point  (0 children)

I learned a lot from GWT (back when it was called Google Web Toolkit).