8 ms·
Custom Minecraft Classic client written from scratch in C
- deleted 3y ago[deleted]
- tda 3y agoFrom the readme: > It does not support logging in with Mojang/Minecraft accounts They almost make it sound like a bad thing
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- axus 3y agoIt's cool that they are intending to port it to old gaming systems: PSP, 3DS, Wii, GameCube, Xbox, Dreamcast. The readme notes all say "The <console> port needs assistance from someone experienced with <console> homebrew development - if you're interested, please get in contact with me." , it's got entries in the Makefile for all of them at least.
- koil 3y agoIt actually already almost fully works on all of those but the Xbox! Several players play on the Wii, GameCube, and 3ds. Most servers don’t work (due to ram and processing limitations) but they’re totally functional and mostly-stable.
- bragr 3y agoI 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?
- HanClinto 3y agoYeah, 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.
- Macha 3y agoNote 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.
- koil 3y agoFwiw 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
- brucethemoose2 3y agoYeah. Its seemingly too big for a programming exercise. Minecraft Classic isnt really broken or super limited like the targets of 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.
- FrustratedMonky 3y agoThis is great. It would be cool to do this in Rust and run on WASM.
- Joker_vD 3y agoOr in Malbolge and run on MMIX.
- hbn 3y agoMinecraft was officially playable in the browser from the website back in the day!
- throwaway74902 3y agoUsing Java applet...
- jakobson14 3y agowhat did you expect? the game is written in java
- throwaway74902 3y agoJust saying that it's not really running in the web browser, merely displayed within it. And won't run today.
- jakobson14 3y agoTo "run in the web browser" you mean rewriting the game in javascript. No, webassembly wasn't a thing yet at the time (arguably still isn't). I'm not sure emscripten existed, and even when it works it turns 20KB C++ binaries into 3MB of broken javascript. Non-starter for a performance-sensitive game engine.
- wiseowise 3y agoLiterally on the README: https://github.com/UnknownShadow200/ClassiCube#web https://github.com/UnknownShadow200/ClassiCube#web
- protoman3000 3y agoI’m a bit short on time and can’t dig into the code, but maybe somebody can answer this for this or the original version: In what data structure are the blocks in Minecraft actually stored? And by which mechanism are they quickly retrieved to check which block the player was hitting? I would think the model partitions the space with an octree and their position jumps from parent node to parent node. Then at each bit we just have to go through 8 elements to find a block and all the entities for this partition.
- garba_dlm 3y agothis is the kind of question a co-pilot programming assistant AI should be able to answer with direct quotations of the relevant code
- lelandbatey 3y agoA bit of searching implies that they are not stored as Octrees due to "performance reasons": > [...] To understand why octrees are slower for Minecraft games, it isn’t really necessary to invoke such exotic explanations. The underlying reason for the worse performance is purely algorithmic: each time an arbitrary voxel is touched, either when iterating or performing a random access, it is necessary to traverse to the entire height of the octree. Since octrees are not necessarily balanced, this can be as much as log(maximum size of game world)! Assuming the coordinate system is say 32 bit, this brings an added overhead of 32 additional non-coherent memory accesses per each operation that touches the map (as opposed to the flat array, where everything is simply constant time). https://0fps.net/2012/01/14/an-analysis-of-minecraft-like-engines/ https://0fps.net/2012/01/14/an-analysis-of-minecraft-like-en...
- protoman3000 3y agoThanks a lot! Posts like yours are exactly what make this community great.
- Tuna-Fish 3y agoWhy would you need a tree? You always know the location of the player in x,y,z. The world is extremely regular, first you figure out the co-ordinates of what you are hitting, then you do a direct lookup of that from the world, with like a single top-level hashtable that links to large fixed-size segments. This will be dramatically faster than any tree.
- toinetoine 3y agoGreat project, why though the insistence on no survival mode? > It does not have a survival mode (nor will such a mode be added) https://github.com/UnknownShadow200/ClassiCube#what-classicube-isnt https://github.com/UnknownShadow200/ClassiCube#what-classicu...
- unleaded 3y agoBecause it is a recreation of classic 0.30 that used to be on the minecraft website, which did not have survival
- NDizzle 3y agoI mean, the only mode was survival… at least that’s what I recall playing the prerelease versions.
- plonk 3y agoThe very first version was just a creative-mode browser game without any health or fight mechanics, I think. (Never played it as I started in alpha)
- OkayPhysicist 3y agoThis is based on a version that predates those versions you're thinking of. It went Classic -> Indev -> Infdev -> Alpha -> Beta -> full release. Indev was the introduction of survival mode.
- koil 3y ago1 because the target version didn’t have any survival features, 2 because mojang absolutely would not appreciate it.
- mechagodzilla 3y agoI love this project! My kid plays ClassiCube on an old 400 MHz G3 iMac and it's perfectly adequate performance-wise.
- accrual 3y agoVery cool! And I thought running it on my 600 MHz K6-3+ was impressive. :)
- simonw 3y agoHere's their WebAssembly playable single-player version: https://www.classicube.net/server/play/?warned=true https://www.classicube.net/server/play/?warned=true
- koil 3y agoI don’t think the provided webclient uses webasm, it’s just transpiled to js. It can be transpiled to webasm but there’s no benefit right now (and worse performance iirc)
- hospitalJail 3y agoI love minecraft so much, that I wonder if this is the right avenue to take for the future. (Maybe its a fun project for them, I'm not criticizing the authors) If you code a replica, can you get sued from M$? I feel like I've seen similar happen to Nintendo replicas. I'm so afraid of M$ and what they will do to Minecraft. I have seen the open source variants that give me some uncanny valley feelings, but I imagine this is the long term solution. In a different life or when we achieve post scarcity, I'd love to contribute to one of these.
- giancarlostoro 3y ago> I feel like I've seen similar happen to Nintendo replicas Nintendo is probably the most aggressive about this.
- achandlerwhite 3y agoM$... That aside, no a replica is not a problem unless it uses any actual IP like Steve or the actual Minecraft art.
- koil 3y agoThe author of the client just likes writing it. The owner of the website just likes running it too. Both have decent day jobs that cover the costs easily, so that’s nice. I know the website owner has actually talked mojang’s legal team down from trying to take classicube down- the lack of modern Minecraft features essentially differentiates it from their product, assumedly it makes it much harder to sue for.
- nickstinemates 3y agoThere's certainly a standalone minecraft variant, with full modding capability as a first class citizen, modeled after `forge`, with an asset store modeled after `curseforge` or the `feed the beast launcher` of yesteryear. Vanilla minecraft no longer appeals to me whereas the hardcore modpacks are ridiculously addictive. Think factorio meets minecraft.
- pinusc 3y agoDo you have recommendations for modern "factorio meets Minecraft" modpacks? The more hardcore and complex the better. I am very out of the loop with Minecraft, not having played in quite a few years. Meanwhile, I have been getting into factorio... but the thought of going back to my Minecraft roots is appealing
- OkayPhysicist 3y agoGregTech: New Horizons. Pretty sure between the very active developer community they've built up and the incredibly deep and broad tech progression, new end-game content is being added faster than players could possibly reach it. Got pretty in-depth quest tree to keep pointed in the right direction.
- bombcar 3y agoGTNH modded Minecraft 1.7.10 to run on Java 17 and 20. That’s the level of dedication there.
- nickstinemates 3y agoIf it has truly been a few years, you've missed quite a few good ones. - Enigmatica 2: Expert (or 6) - AllTheMods 8 and my personal favorite - Not too Complicated 2 Basically, anything Lashmak[1] plays. 1: https://www.youtube.com/@Lashmak/playlists https://www.youtube.com/@Lashmak/playlists
- tmtvl 3y agoNomifactory and Multiblock Madness have well-written questbooks that guide you into building up infrastructure and setting up automation.
- tempaway75751 3y agoBTW Classic Minecraft means "beta Minecraft from 10+ years ago when it was free"
- freedomben 3y agoThis looks super neat! I'm a little sad in general though about the amount of effort invested in the Minecraft ecosystem when it's so unfriendly to open source. If you care about freedom-respecting software and you like Minecraft, definitely check out Minetest. I've been really impressed with it, both functionally but also code quality. Really cool project and I hope they succeed. The biggest complaint I've heard about Minetest is that the controls just aren't as fluid and polished as real Minecraft.
- OkayPhysicist 3y agoI wouldn't describe Minecraft as being unusually unfriendly to open source. Compared to most games, the company treats the mod devs pretty well (nobody's getting sued, they released decompilation symbols to make life easier, the whole thing's in Java), and there's a healthy collaboration scene among the mod developers, most of whom release their mods as open source projects these days (with a couple of notable exceptions, coughAzanorcough). So, sure, Minecrat's not open source. But they don't mistreat their mod devs, released an abundantly hackable game, and have the largest player community on Earth.
- jakobson14 3y agoHot take: I'm tempted to say that minecraft is "practically" even if not legally open source. It's very well-understood internally and has been _heavily_ colonized by mod developers. It's at the point where it's impossible to run a safe and secure minecraft server without installing a mod like paper that completely overhauls the game. There are several modpacks that contain probably 50x more code in mods than code from mojang. Not to mention, who really controls the game? If microsoft ever did anything truly egregious I have no doubt that the entire community would pick up sticks and move. It would be large, it would be coordinated, and it would be swift. There are LOTS of successful mincraft clone projects out there, ranging from being loosely minecraft-inspired with lots of new content, to striving to replicate each new feature and addition perfectly, to being written in rust, you name it. The loss of java mods would suck, but give it a year or two and most of the active ones would probably be rewritten. Hell, most of them are written against the very handy Forge modding API, not microsoft's code. Never mind the fact that the moment microsoft tries to crack down on modding, the various open-source 3rd party launchers will patch out the licence-mandated piracy checks (or will be forked to do so, in fact these pirate forks probably already exist).
- deleted 3y ago[deleted]