News for hackers. Stuff that matters.
Re:Custom Minecraft Classic client written from scratch in C by bragr on Friday September 15, 2023 @11:11AM (#37524279)
I feel like this is one of those projects missing missing an important "Why" section. It's an interesting project, but from the outside, I don't immediately understand why someone has done all this effort. Huge Minecraft classic fans? Programming exercises? Is it about porting to as many platforms as possible? This is the version they are forced to make to not get their pants sued off?
Re:Custom Minecraft Classic client written from scratch in C by starburst on Friday September 15, 2023 @11:40AM (#37524725)
Because they can, programming for many is not only a job but also a hobby and passion. Doing something like this you can learn a tons as well and it is a worthy challenge in itself to push your craft.

People re-create classic games all the time, like tetris, for fun.

Re:Custom Minecraft Classic client written from scratch in C by brucethemoose2 on Friday September 15, 2023 @11:39AM (#37524707)
Yeah.

Its seemingly too big for a programming exercise. Minecraft Classic isnt really broken or super limited like many open source remakes. Its not commercial.

The big selling point seems to be support on really old desktop devices and iOS/Android? Assuming the mobile controls are good.

Re:Custom Minecraft Classic client written from scratch in C by yjftsjthsd-h on Friday September 15, 2023 @01:36PM (#37526540)
> Its not commercial.

Er, isn't it? I'm pretty sure all versions of Minecraft are proprietary software that cost money.

Re:Custom Minecraft Classic client written from scratch in C by Macha on Friday September 15, 2023 @01:49PM (#37526698)
Classic used to be free for everyone as a browser applet on minecraft.net . It was always commercial, but it was free for most of its history. It was shut down for a few years because of the death of browser plugins and java applets, but then Mojang ported an older-than-the-last-classic-version version to wasm and made it available again at classic.minecraft.net (for free again)
Re:Custom Minecraft Classic client written from scratch in C by koil on Monday September 18, 2023 @08:20AM (#37555168)
The version on classic.Minecraft.net was deemed written from scratch to vaguely replicate classic last I heard. There were physics quirks, block textures, and entire blocks that weren’t ever in any version of classic, but were in that release.
Re:Custom Minecraft Classic client written from scratch in C by HanClinto on Friday September 15, 2023 @11:20AM (#37524404)
Yeah, I'm left wondering the same thing. The project page says that there isn't a survival mode, nor will there ever be.

Uhm... why not? If I contributed a Survival mode, and submitted it as a PR, then it would be rejected? If the goal of this project isn't to recreate what we loved about old-school Minecraft, then I don't know if this project is for me or not, and then I don't know who it's for.

Re:Custom Minecraft Classic client written from scratch in C by Macha on Friday September 15, 2023 @01:45PM (#37526647)
Note that the goal is to recreate "old-school Minecraft", but actually even older school than you're thinking of. For the first year or two of the game there was no survival mode, only creative mode. And people played that version for much longer as it was available as a free to play in-browser version for like the first 5 years of Minecraft's life, even as survival mode got developed in the branch that led to one of the current versions. Also the main branch didn't have creative mode at the time (or even multiplayer for some of it), so some people played classic for creative mode or multiplayer too.

It's not like the way modern creative mode is just a game mode in the same engine as modern survival. Classic is quite a different game so what would a classic survival mode be? Either you're inventing rules for a classic survival mode that didn't work, or you're implementing an Indev/Infdev/Alpha clone in the same codebase as the Classic clone, and I think those two things are different enough that you'd still end up just maintaining a fork inside the same codebase with the amount of conditional "if(alpha) else if (classic)" behaviours you'd need. It's like trying to have the same codebase be classic mac os and os x at the same time. I can't blame a maintainer who doesn't want to sign up for that.

Re:Custom Minecraft Classic client written from scratch in C by koil on Friday September 15, 2023 @11:27PM (#37531767)
Fwiw re: lack of survival- mojang has tried (and backed off) to take down cc under the assumption it had crafting/survival. The lack of survival aspects is the only reason it’s still around.

That, and classic v .30 doesn’t have any survival features

Re:Custom Minecraft Classic client written from scratch in C by protoman3000 on Friday September 15, 2023 @12:31PM (#37525628)
I have done something similar for another game.

It started as a fun curious idea to understand more about programming and mechanics in games, but became very quickly extremely addictive.

Paired with big personal problems at that time it provided me with an excellent opportunity to escape and basically not leave my home until I was done.

And I regret none of it. I learned much much much more about engineering than I would have ever done otherwise and with this knowledge I landed very good jobs with good and stable income which eventually brought me out of my personal problems.

Re:Custom Minecraft Classic client written from scratch in C by schemescape on Friday September 15, 2023 @11:10PM (#37531680)
Is that something you have shared online (or would share here)?
Re:Custom Minecraft Classic client written from scratch in C by protoman3000 on Saturday September 16, 2023 @05:40AM (#37533361)
No, I didn’t and won’t. Hope you can understand it, this is too intimate for me to share on the internet :-)
Re:Custom Minecraft Classic client written from scratch in C by hotnfresh on Friday September 15, 2023 @12:37PM (#37525720)
Microsoft’s made account management annoying and shitty and unreliable—like, they make it weirdly hard just to buy the damn game—for MC Classic.

I’d love a way to sidestep them. It’d make my life easier. We already own four or five copies of the game, so I’m not even talking about piracy.

Plus their fucking launcher phones home to any of a whole bunch of IP addresses, refusing to launch the game if those requests fail, which makes allowlist-based management of kids’ connected devices difficult if you want them to be able to play Minecraft and don’t want to have to manually intervene every time they start the game. God damn is that annoying.

(We tried the minecraft-clone plug-in bundle for that one open source engine, and the kids and I both found it off putting and definitely worse in ways that were hard to put my finger on, but were real. Instant rejection by the kids, and I couldn’t blame them)

[edit] though without survival mode or the ability to do multiplayer, this project is also no help to us.

Re:Custom Minecraft Classic client written from scratch in C by ezfe on Friday September 15, 2023 @01:00PM (#37526055)
Minecraft Java can be run fully offline without their launcher, and servers can be run with authentication disabled. There's no need to rewrite the whole game ...
Re:Custom Minecraft Classic client written from scratch in C by hotnfresh on Friday September 15, 2023 @01:04PM (#37526114)
For real? Ok yeah I need to do that. Shit’s obnoxious and just another way for things to go wrong if all you’re trying to do is local games and local-network multiplayer. I assumed they’d made it impossible to run without the launcher—if you can, it seems to kinda defeat the whole purpose of all the phoning-home (though I think a lot of that’s after it starts, too, so am not sure if this approach will end up helping)
Re:Custom Minecraft Classic client written from scratch in C by jakobson14 on Sunday September 17, 2023 @08:44PM (#37550911)
There are lots of 3rd party (mostly open source) launchers.
Re:Custom Minecraft Classic client written from scratch in C by throwaway290 on Friday September 15, 2023 @01:24PM (#37526374)
Can't run it without their launcher last I tried. How? (I own the game since beta but I can't be bothered to deal with MS anymore)
Re:Custom Minecraft Classic client written from scratch in C by Liquix on Friday September 15, 2023 @01:29PM (#37526438)
via third party launchers. some of them can also handle modpacks, shaders, optifine, LAN multiplayer, etc:

https://github.com/huanghongxun/HMCL

https://github.com/PojavLauncherTeam/PojavLauncher

https://github.com/PrismLauncher/PrismLauncher

Re:Custom Minecraft Classic client written from scratch in C by throwaway290 on Saturday September 16, 2023 @10:26AM (#37535042)
Thanks. I only heard about MultiMC before and it apparently required MS login...
Re:Custom Minecraft Classic client written from scratch in C by ezfe on Saturday September 16, 2023 @03:08PM (#37537697)
The version JSON file and JAR are both public. The JSON file describes the dependencies needed (public urls) and how to build the launch command.
Re:Custom Minecraft Classic client written from scratch in C by autoexec on Saturday September 16, 2023 @02:11AM (#37532418)
As far as I could tell, it can't be installed offline or without a MS account. There's no offline installer. If a rewrite corrects this, that's a huge win
Re:Custom Minecraft Classic client written from scratch in C by salawat on Saturday September 16, 2023 @05:07AM (#37533204)
...Ah. Totally can-ish. I helped the RasPi4 community a few years ago with that. I'll go see if I can dig up those scripts. Though I have a sneaking suspicion you might be right in that to generate the initial flurry of download urls you need someone to have had an account to get the urls for version of the client you're downloading, plus the asset packs. Once you have those urls, you should be able to wget to stage/mirror to your hearts content locally, and then you just have to use a shellscript and a bonkers lontg java invocation that the launcher normally generates. You don't need the installer/an account to start the game once you have the clients downloaded, though not having to deal with wrangling lwjgl libs, java classpathery, and the occasional java runtime increment is definitely an increase in ergonomics, I'll give you that.

Didn't maintain it or anything, but another member of the community took the lessons learned from my teardown of it and I think polished it up. Needed a pick me up project at the time. Was around 1.14-ish I think? Also helped them get sound working in Forge.

Found one of the threads, though this either wasn't one of the ones with the gorey details, or they probably snipped the posts as they may not have been super comfortable with me laying out how to vivisect Microsoft's shiny new acquisition for people. I was in a rough headspace back then.

https://forums.raspberrypi.com/viewtopic.php?t=260357

Re:Custom Minecraft Classic client written from scratch in C by ezfe on Saturday September 16, 2023 @03:07PM (#37537684)
You just need to manually install it. The JAR and all the dependencies are public.

There are many installers out there that don’t auth, I wrote one that does auth for Apple Silicon support and it wasn’t difficult.

Re:Custom Minecraft Classic client written from scratch in C by em-bee on Friday September 15, 2023 @07:03PM (#37530129)
are you talking about minetest? my kids play with that just fine. sure, it's different, but it also has features minecraft doesn't have. if you are used to minecraft then of course it may take some time getting used to.
Re:Custom Minecraft Classic client written from scratch in C by whou on Friday September 15, 2023 @12:46PM (#37525858)
why should there be a reason to? if there are people that are interested in developing it (even if you solely is the only one interested), who cares?
Re:Custom Minecraft Classic client written from scratch in C by dpedu on Friday September 15, 2023 @02:11PM (#37527025)
I enjoy writing toy versions of real-world applications. I'd say 90% of the code that makes up a program is there only to provide smooth edges, error checking, safety, etc. If you ignore all of this and focus on the remaining 10% - the core, bit-banging logic - you can learn a lot and have fun.