Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

KickStarter The Wayward Realms - upcoming Daggerfall-like RPG from original Elder Scrolls developers - coming to Kickstarter

Joined
Jan 14, 2018
Messages
50,754
Codex Year of the Donut
DirectX doesn't have Java support,
There's nothing stopping someone from using JNI to access the DirectX API. Nobody does it because one of the advantages of Java is its "compile-once run anywhere" design, using DirectX would lock you into a proprietary OS.
Not even going to bother reading the rest of your post.
 

thesheeep

Arcane
Patron
Joined
Mar 16, 2007
Messages
9,949
Location
Tampere, Finland
Codex 2012 Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Serpent in the Staglands Dead State Divinity: Original Sin Torment: Tides of Numenera Codex USB, 2014 Shadorwun: Hong Kong Divinity: Original Sin 2 BattleTech Bubbles In Memoria A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
Java is just relatively slow, compared to C++.
That said, C++ is only used in most games insofar that engines are written in it. Developers themselves usually use whatever the scripting language is - and usually not the language of the engine itself if it can be avoided.

Java also has a bit of an "old rotten smell" around it, that C++ somehow managed to avoid, despite both being pretty damn old. It's simply not very "hip", if that makes any sense.

Anyway, though, if your game doesn't have crazy high performance requirements (and most games don't, really) - there's no reason not to use Java. Slower than C++ is still fast enough for most games.
There are even some game engines out there for it - or you can roll your own.
None of them can keep up with stuff like Unreal, Unity or even Godot, though.

Still, I wouldn't say it cannot be done.
It just usually isn't because Java simply is not very popular in the gaming industry and thus there isn't exactly much of a "sphere" around it as there is for C++, C#, etc.
 
Joined
Jan 14, 2018
Messages
50,754
Codex Year of the Donut
The reason not to use Java for games is because it's too difficult to near impossible to avoid allocations. The language simply isn't designed for it, it doesn't even have non-primitive value types(Unless it was added in a recent language version, I haven't kept up with it.) Sans primitives and escape analysis done by the JIT to move allocations to the stack, everything else is allocated on the heap.
Allocations are slow, even with a GC that uses a bump allocation scheme — the best case scenario — is relatively slow in performance critical areas. And it simply can't be avoided in Java because it's not designed for it.
Additionally, Java uses all around more memory in general which a) reduces the amount of data you can fit into cache lines incurring more cache misses, and b) causes more page faults/TLB misses.
Can you work around most of the issues? Yeah, probably, but why? It's the wrong tool for the job.
 
Last edited:

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,101
Location
USSR
That's why Julian is right, and shitposters in this thread are wrong.
He had to get to Julian. If only he could make that change, it would all be all right. Otherwise he’d die here, and they’d laugh at him, they’d say he was a fool, trash, all the things they had always said, they’d piss on his grave and laugh at him. He had to get to Mister Julian. Then he would be the one laughing, yes he would.

Sour Billy moved another painful foot and stopped, his body shaking. Blood dripped from his mouth and his nose. “Julian,” he said.

“You’ll have to speak up, Billy. We can’t hear you very well.”

Sour Billy clutched his knife and grimaced. He tried to raise his head as much as he could. “I’m… help me… hurt, I’m hurt. Bad. Inside… inside, Mister Julian.”

Damon Julian rose from his chair. “I can see that, Billy. What do you want?”

Sour Billy’s mouth began to tremble at the edges. “Help…” he whispered. “Change… finish the change… got to… I’m dyin’…”

Julian was watching Billy, and watching Joshua, too. Billy was begging. “.. . live forever… Julian… change me… one of you…”

“Ah,” said Julian. “I’m afraid I have sad news for you, Billy. I can’t change you. Did you really think a creature like you could become one of us?”

“… promised,” Billy whispered shrilly. “You promised.”
 
Last edited:

Max Heap

Arcane
Joined
Jul 21, 2011
Messages
617
The reason not to use Java for games is because it's too difficult to near impossible to avoid allocations. The language simply isn't designed for it, it doesn't even have non-primitive value types(Unless it was added in a recent language version, I haven't kept up with it.) Sans primitives and escape analysis done by the JIT to move allocations to the stack, everything else is allocated on the heap.
Allocations are slow, even with a GC that uses a bump allocation scheme — the best case scenario — is relatively slow in performance critical areas. And it simply can't be avoided in Java because it's not designed for it.
Additionally, Java uses all around more memory in general which a) reduces the amount of data you can fit into cache lines incurring more cache misses, and b) causes more page faults/TLB misses.
Can you work around most of the issues? Yeah, probably, but why? It's the wrong tool for the job.

I actually agree with the tool argument (even though I think for lots of games it ain't that critical - performance-wise 2D games can be done quite nicely in Java, the bigger problem is the lack of frameworks), but what do you mean with non-primitive value types? Do you mean non-primitive data types? Cause strings and arrays have been non-primitive since forever.
There are also native object wrappers for primitive types so you can stuff them into generics (JDK 1.4).
 
Joined
Jan 14, 2018
Messages
50,754
Codex Year of the Donut
The reason not to use Java for games is because it's too difficult to near impossible to avoid allocations. The language simply isn't designed for it, it doesn't even have non-primitive value types(Unless it was added in a recent language version, I haven't kept up with it.) Sans primitives and escape analysis done by the JIT to move allocations to the stack, everything else is allocated on the heap.
Allocations are slow, even with a GC that uses a bump allocation scheme — the best case scenario — is relatively slow in performance critical areas. And it simply can't be avoided in Java because it's not designed for it.
Additionally, Java uses all around more memory in general which a) reduces the amount of data you can fit into cache lines incurring more cache misses, and b) causes more page faults/TLB misses.
Can you work around most of the issues? Yeah, probably, but why? It's the wrong tool for the job.

I actually agree with the tool argument (even though I think for lots of games it ain't that critical - performance-wise 2D games can be done quite nicely in Java, the bigger problem is the lack of frameworks), but what do you mean with non-primitive value types? Do you mean non-primitive data types? Cause strings and arrays have been non-primitive since forever.
There are also native object wrappers for primitive types so you can stuff them into generics (JDK 1.4).
Everything sans primitive types are references to heap allocated objects in Java.
https://en.wikipedia.org/wiki/Value_type_and_reference_type
 

Grotesque

±¼ ¯\_(ツ)_/¯
Patron
Vatnik
Joined
Apr 16, 2012
Messages
9,008
Divinity: Original Sin Divinity: Original Sin 2
I've seen Bester 's name thrown around here but didn't had any incline to read what is all about
but so you know, this retard can code the engine for this project in just one weekend.

He's very resourceful and they should really adopt him on their team.
Or just adopt him.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,101
Location
USSR
I've seen Bester 's name thrown around here but didn't had any incline to read what is all about
but so you know, this retard can code the engine for this project in just one weekend.

He's very resourceful and they should really adopt him on their team.
Or just adopt him.
^

So, there's an algorithm called Perlin noise, there's also simplex noise, cellular noise and Worley noise. And then there's the type of noise this guy makes when he remembers all the butthurt I caused him 5 years ago.
 
Joined
Dec 17, 2013
Messages
5,153
There is a lot of generalizations and assumptions in this thread. Context is very important.

Low level languages like C/C++ are a double edged sword. They are low level, so they give the developer great power over the low level details, which translates into better performance. But the flip side of that, the price that you pay for it, is that they ARE low level, so they kill developer productivity. Whereas in a higher level language like Python or Ruby or Java, the developer can just mostly focus on the business logic, in C/C++ they are thinking about other concerns half the time or more. This translates into a massive boost in productivity, which is very important.

So which one to select really depends on what kind of game you are making. If your game is a cutting edge 3D game, you will probably need to use C/C++ because otherwise, the performance hit will be too much. But if you are an smaller scale and/or indie developer, you might very well be much better off going with a higher level language, and saving a ton of development time. If 2D isometric games ran on late 90s hardware, you can code them in anything today and they should be fine in terms of performance, as long as you don't go full retard.
 

Grotesque

±¼ ¯\_(ツ)_/¯
Patron
Vatnik
Joined
Apr 16, 2012
Messages
9,008
Divinity: Original Sin Divinity: Original Sin 2
I've seen Bester 's name thrown around here but didn't had any incline to read what is all about
but so you know, this retard can code the engine for this project in just one weekend.

He's very resourceful and they should really adopt him on their team.
Or just adopt him.
^

So, there's an algorithm called Perlin noise, there's also simplex noise, cellular noise and Worley noise. And then there's the type of noise this guy makes when he remembers all the butthurt I caused him 5 years ago.

So it took you 40 minutes to come with this lame comeback?
 

Deleted Member 16721

Guest
RPGWatch may be a coven of cucks and Fluent clones, but they are killing it with news posts. They probably post more news in a week, than Inshillicuckitron posts in a year.

No Fluent clones there, and most members are friendly. But yes, they kill it with news, I still check there often (and started posting again) for their news. It's very good.
 

Makabb

Arcane
Shitposter Bethestard
Joined
Sep 19, 2014
Messages
11,753
There is a lot of generalizations and assumptions in this thread. Context is very important.

Low level languages like C/C++ are a double edged sword. They are low level, so they give the developer great power over the low level details, which translates into better performance. But the flip side of that, the price that you pay for it, is that they ARE low level, so they kill developer productivity. Whereas in a higher level language like Python or Ruby or Java, the developer can just mostly focus on the business logic, in C/C++ they are thinking about other concerns half the time or more. This translates into a massive boost in productivity, which is very important.

So which one to select really depends on what kind of game you are making. If your game is a cutting edge 3D game, you will probably need to use C/C++ because otherwise, the performance hit will be too much. But if you are an smaller scale and/or indie developer, you might very well be much better off going with a higher level language, and saving a ton of development time. If 2D isometric games ran on late 90s hardware, you can code them in anything today and they should be fine in terms of performance, as long as you don't go full retard.

just go for assembly :mca:
 

deama

Prophet
Joined
May 13, 2013
Messages
4,411
Location
UK
They definitely shouldn't be going for c/c++. They only have like 1 developer on the team right? Even if we ignore the fact that it's just Julian on the team (no matter how could he is, he's still 1 guy), they still don't have much money, or even really anything to show off to potential investors. This thing is so vaporware it's not even funny.

I think their best bet is to use the daggerfall unity project, branch it and make their own version per sey, then just modify it, add features, whatever, until they get the game they want. Hell, maybe they could even make some deal with Bethesda (maybe julian can cash in on some old favours?) and ask for permission to use daggerfall's/arena's assets + maybe some funding to make a spin off?

Right now this just feels like they all got together and smoked too much weed, and while they were high they posted some stuff on the internet and after sobering up, they decided to just roll with it and see what happens.
 

Makabb

Arcane
Shitposter Bethestard
Joined
Sep 19, 2014
Messages
11,753
They definitely shouldn't be going for c/c++. They only have like 1 developer on the team right? Even if we ignore the fact that Julian is an old man and could die any day now, they still don't have much money, or even really anything to show off to potential investors. This thing is so vaporware it's not even funny.

If you'd take time to read the thread you wouldn't have to write this.

They have an investor, so they don't need to show anything to anyone, they have 3 developers and not 1, a designer a writer and a programmer.

and Julian is not that old, he is 50 something.
 
Last edited:

Makabb

Arcane
Shitposter Bethestard
Joined
Sep 19, 2014
Messages
11,753
I hope they bring back spell crafting and allow to make some outrageous spells.


It will not be balanced? Good, it's a single player game, we want to have fun !

:littlemissfun:
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom