Remake the game with a different engine

Thoughts on the further development of Haven & Hearth? Feel free to opine!

Re: Remake the game with a different engine

Postby kemil88 » Fri Jun 21, 2019 7:12 am

I mean, of the 2 topics you guys linked me, one is of one year ago (10 months being August but fine), and the other is like "uh idk what I should do but yeah...I'm working on it, also it would just fix some late-game problems".
This game have problems on high-end PCs even when loading the tutorial area! It's not like fixing animated scenes or whatever would fix the game. The main problem is that it's coded in Java.
kemil88
 
Posts: 216
Joined: Wed Jul 18, 2012 7:56 pm

Re: Remake the game with a different engine

Postby pppp » Fri Jun 21, 2019 8:17 am

kemil88 wrote:Guys I am a player, not a developer, and I know few things.

1) Minecraft did run terribly when it was on Java
2) This game ran terribly since when it was released, and it has ben YEARS, also it runs on Java

So yeah, what I know is that this game runs on java and that games that run in java have terrible performances.

If he will be able to make the game run smooth staying on Java, fine, can't wait to see it, but when will that happend?

So basically you are asking to cut off peole running the game on non-windows machines because your PC is misconfigured for Java ?
Not to mention request to do a HUGE rework for nothing.

kemil88 wrote:I mean, of the 2 topics you guys linked me, one is of one year ago (10 months being August but fine), and the other is like "uh idk what I should do but yeah...I'm working on it, also it would just fix some late-game problems".
This game have problems on high-end PCs even when loading the tutorial area! It's not like fixing animated scenes or whatever would fix the game. The main problem is that it's coded in Java.

My 10 years old brick-laptop has no problems running the tutorial area.
Perhaps your problems are related to low quality of your network connection and the fact client loads tons of resources from the server when you start fresh and again some when you encounter new things.
pppp
 
Posts: 403
Joined: Sun Jun 20, 2010 7:30 pm

Re: Remake the game with a different engine

Postby MagicManICT » Fri Jun 21, 2019 8:56 am

This isn't the first time the discussion has come up, and probably won't be the last. Loftar has explained the reason behind the use of Java. It's fairly buried at this point in time. I don't have time to dig it up this evening, but if someone pokes me, I'll make sure to link it before the end of the weekend (assuming someone else hasn't posted one of. Just a brief search found several threads about various APIs and languages, but none were the specific one I was looking for. (My "fast" search" http://www.havenandhearth.com/forum/sea ... hor=loftar) FYI, those links strpk0 gave are the recent "current project" threads for the client updates loftar is currently working on. My search link here has what you're looking for in it somewhere.

kemil88 wrote:Guys I am a player, not a developer, and I know few things.

Then you're assuming you know things you don't. Trust me, you don't know them. A lot of great enterprise code runs Java (which is why Oracle has moved to paid licensing for Java for commercial use). Large corporations wouldn't run their servers with code that was slower than what they could create in other languages.
kemil88 wrote:1) Minecraft did run terribly when it was on Java

Still is on PC last I looked. I haven't touched it since the MS buyout, though, so maybe not? Also, it ran fine as long as you had an "average or better" computer at release. It ran ok on my 6 year old potato (Athlon XP w/ 1GB RAM I had built in 2004).
kemil88 wrote:2) This game ran terribly since when it was released, and it has ben YEARS, also it runs on Java

mostly to do with what other development teams have 3-4 developers working on instead of just one. It's not easy to create a rendering engine from scratch in a language that doesn't do 3D worth a crap. Yes, some of the issue is because it is Java. Some of it is because it's as much a personal project rather than any attempt at a major commercial release, and so wont have the budget to throw money at the problem.

borka wrote:The "game engine" runs on the server (in good old C) ... and i'm not sure if it would run better in C++ or C# like Unreal engine or Unity do ...

Debatable. They'd give some advantages to design with OOP, but C++ and C# tend to slow the code down, too, when it comes to those OOP design paradigms. (Last time I looked at C, it has pretty much embraced as much of the C++ paradigm it can and remain backwards compatible with legacy code.)

shubla wrote:I think we should be thankful that loftar decided to use java, instead of making his own language and compiler from scratch!

Not helpful to the conversation. That's like saying NASA had to design a new rocket to ferry the President from DC to his vacation home. Though probably worth noting that some languages have come out of major projects in the past because the languages current to the time just couldn't do what the developers needed. (If I recall my Unix history properly...)
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18437
Joined: Tue Aug 17, 2010 1:47 am

Re: Remake the game with a different engine

Postby Granger » Fri Jun 21, 2019 9:37 am

The platform, licensing and contingency problems could all be solved by using a state of the art, actively developed full time, MIT licensed engine (*cough* https://godotengine.org *cough*) - would remove having to worry about the details of the rendering engine as someone else is already busy with that part of the (potential new) client.

But that would basically be a complete rewrite of the client. While porting the network stack and widget system should be quite straightforward... there likely will be some interesting problems with some of the shenanigans regarding how the windowing system on the client is controlled by the server (IIRC), so without support on the server side a port would be needlessly difficult (and be likely to break on updates).
⁎ Mon Mar 22, 2010 ✝ Thu Jan 23, 2020
User avatar
Granger
 
Posts: 9263
Joined: Mon Mar 22, 2010 2:00 pm

Re: Remake the game with a different engine

Postby MooCow » Fri Jun 21, 2019 8:44 pm

kemil88 wrote:I know almost nothing about programming

kemil88 wrote:The reason the game runs slow is java!


Java isn't an engine.
Java isn't slow.
You can access and optimize java byte code.

Notch was never a great programmer.
Minecraft wasn't successful because of good coding.

Java is a good language for gaming. Stop talking about stuff you don't understand.
MooCow
 
Posts: 277
Joined: Tue Sep 17, 2013 7:35 pm

Re: Remake the game with a different engine

Postby Kaios » Fri Jun 21, 2019 9:05 pm

Technically he's not wrong the game does run slower because of java but that's more to do with object leaks I think
User avatar
Kaios
 
Posts: 8703
Joined: Fri Jul 30, 2010 2:14 am

Re: Remake the game with a different engine

Postby MooCow » Sat Jun 22, 2019 8:09 am

Kaios wrote:Technically he's not wrong the game does run slower because of java but that's more to do with object leaks I think


Unity is programmed with C#, which, like Java, uses a virtual machine. The Virtual Machine, called CLR, runs in the background translating code, and monitoring memory for unused sections. This ultimately wastes cpu cycles, but the the code is highly optimized, and has a huge number of features which makes programmers like using it. The overhead caused by running the Java VM and CLR (C#) are similar. I am not an expert, but I have never seen any compelling evidence one is specifically better than another. He is both technically and literally wrong because he suggests using Unity instead of Java.

Memory leaks are not a feature of any programming language. Both Java and C# have garbage collection which makes the leaks very unlikely to occur. The #1 cause of programs running poorly is performing tasks in an inefficient or redundant manner, this is also known as shitty code.

One of the reasons shitty code happens is that large structures of commands get put into modular boxes. These boxes get labels like 'sub routines', 'functions', 'objects', or 'methods'. It often isn't clear what these boxes actually do beyond collecting your inputs and giving you useful outputs. Programmers spend most of their time interfacing these boxes to get meaningful outputs, without concerning themselves with that is actually happening inside.
MooCow
 
Posts: 277
Joined: Tue Sep 17, 2013 7:35 pm

Re: Remake the game with a different engine

Postby OtsukiYorauzo » Sat Jun 22, 2019 2:05 pm

nah, stop watching porn and play hafen.
That's the only way to make your game run "faster".
W7 - Crestfall
W8 - Crestfall
W10 - Pueblo Comedia
W11 - Hermit
W11 - Misplaced Caves
W12 - Insulated Gulch
W14 - Hermit
User avatar
OtsukiYorauzo
 
Posts: 124
Joined: Mon Nov 26, 2018 2:11 pm
Location: Philippines

Re: Remake the game with a different engine

Postby shubla » Sat Jun 22, 2019 8:12 pm

1) Minecraft did run terribly when it was on Java

There is plenty of software and games written on C, assembly, haskell, v8javascript, that is running terribly. That does not mean that these languages would be inefficient or bad. (Except for javascript)

2) This game ran terribly since when it was released, and it has ben YEARS, also it runs on Java

This most likely has little to do with java, but with loftars' coding skills. Most of the clients code was written a long time ago for 2d client, which was later made into 3d, and maybe some bad decisions were made. Likely loftar has improved his skills over the years, and could now write a better client from scratch, but effort to make it from scratch would be rather large.

I am 100% confident that if the client was coded like it is, but with C, it would still have equally terrible performance, if not worse. The issue is not language, but how the rendering system has been made.

I think devs originally chose java, because its multiplatform and had the easy jnlp launcher thing. I doubt that they would choose Java as a language anymore, if they started writing the client now, but not because of performance reasons.

Of course, java will never perform as well as some well optimized code on some lower level language like c++ or c. But for making a client for a game like HnH, java is more than enough, if used properly.
Image
I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
User avatar
shubla
 
Posts: 13043
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Remake the game with a different engine

Postby MagicManICT » Sun Jun 23, 2019 5:56 am

shubla wrote:This most likely has little to do with java, but with loftars' coding skills.

I think "outside area of expertise" would be a more precise statement. His coding skills seem just fine from my read-through of the code. Knowing how best to use various APIs, flaws, and potential problems takes a set of skills and experience each. It's hard to become an expert at it all and make well running code everywhere. Budgets being what they are, sometimes you just can't afford experts at everything and have to do the best you can.

I'm not trying to be apologetic for anyone here, but I can tell you it ain't easy coming up with an efficient 3D engine from scratch. Building a 3D engine is easy if you know the linear algebra. Building one that is reliable and capable isn't much harder. Building one that is fast takes some real skills and experience with the API you use. Unreal et al weren't coded in just a couple of years or by a single person.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18437
Joined: Tue Aug 17, 2010 1:47 am

PreviousNext

Return to Critique & Ideas

Who is online

Users browsing this forum: No registered users and 8 guests