[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


Janitor acceptance emails will be sent out over the coming weeks. Make sure to check your spam folder!


[Advertise on 4chan]


Hello /g/,
I am making a modder-friendly Minecraft remake in C.
I am designing the engine to be modders-first. The core game without any lua is extremely barebones and unplayable. What you see in pic rel is a result of the lua modding API.
I want the modding API to be on par with GMod's modding API.
I will implement features like asset loading into the engine to make modding incredibly powerful alongside creating and bundling incredibly useful libraries to make loading assets from other engines easier. This could make it easy to do things like:
>Load levels from Doom, Quake, GoldSrc&Source, and optionally convert them into native levels to iterate upon
>Load 3D assets and models from these games and use these two abilities together to possibly create ecosystems of people recreating and playing these games inside of this engine for free
>Minigames and other gamemodes within the engine
Luanti and other attempts at doing this have a problem of eternal unfinishedness and a pisspoor attempt to provide a base equivalent of Minecraft gameplay.
I plan on recreating Minecraft Indev-Beta gameplay in this engine and provide it as a base gamemode that modders can build or tear down upon to make their own gamemode if they need to.
The modding API and the gamemode framework gives modders the ability to create completely different looking games within the engine with the only limitations being the voxel nature of geometry, but that assumes you don't just create a custom static level in the same way levels from other game engines will be able to be loaded inside the engine

I am building this engine on a dual core CPU with integrated graphics from 2015. I can get around 120 fps on maximum settings and maximum render distance with no culling enabled.
The engine is made with OpenGL 2.0 and I want to make a fallback pipeline that uses only GL1.1 functionality just to expand hardware compatibility whenever I'm done with everything else.
any suggestions?
https://cy-x.net/pane/post/878
>>
>>109103298
it would be easier and more useful to everybody to build on top of luanti, but since you aren't doing that. good luck with your learning project.
>>
It's been like 5 years but I swear this exact thing has been done before and it was blazing fast.
Idk about the modder-friendly part, but it must be easier to work off of a project that has already done the hard part than start from scratch.
>>
>>109103298
So what does this do that Minetest, the modder-friendly remake of minecraft in C++, doesn't?
>>
>>109103298
https://github.com/fogleman/Craft
>>
>>109103313
>>109103344
It doesn't actually feel like Minecraft and is made in C++ instead of C
>>109103349
also doesn't actually feel like minecraft
>>
>cross torches
>>
>>109103515
yeah lolololo i copied and pasted the sapling, i'll work on it
>>
>imaging import luanti and mc modes in
>>
>>109103589
I wanted to create polyfills for similar Lua modding APIs so that way it'd be easy for developers from other places to come over here.
Perhaps a Roblox API polyfill that covers most of their APIs, maybe from to 2007-2017 would be a neat way to attract some disillusioned developers, like messing with game.Lighting.ClockTime or creating a ScreenGui in a PlayerGui could easily wrap around some of the more "lower level" Lua APIs that already exist.. hmm
>>
>>109103298
C will not be more modder friendly than Java ...
>>
>>109103662
unless you add lua of course!
>>
>>109103675
Java is still better and faster...
>>
>>109103729
counter: LuaJIT
>>
>>109103298
>I am doing something for free!

You will burnout, and ditch this project in 4 months.
>>
>>109104249
nta but very relatable
>>
>>109104249
in 4 days*
>>
>>109104249
I am still working on my 2 year old project although at a significantly slower pace
>>
>>109103298
don't listen to all the nay sayers. /g/tards like to larp as coders. most don't actually code.
it looks like a very cool project.
>>
>>109103298
replace Lua for Luau instead
>https://github.com/luau-lang/luau
but please use something other than OpenGL, you could use something like SDL3 or WebGPU, anything better than a 20 year old graphic api
>>
>>109103329
classicube?
that's the only actually viable minecraft clone and it looks like what op's shit looks like.
>>109104555
kys
>>
>>109104555
Can luau be compiled to lua-jit compatible lua?
>>
>>109103373
>It doesn't actually feel like Minecraft
In what way?
>and is made in C++ instead of C
So what?
>>
>>109104694
eh, not really, but they do offer some JIT stuff
>https://luau.org/performance/
give that a read, might fit the use-case, plus you can use types
>>
>>109104249
Pay him.
>>
>>109103298
>Luanti and other attempts at doing this have a problem of eternal unfinishedness
Because they want to replicate MC.
>and a pisspoor attempt to provide a base equivalent of Minecraft gameplay.
That's because Luanti is the engine mostly, you're looking for voxellibre or mineclone.
>>
>>109103298
>Minecraft remake
>>109103373
>doesn't actually feel like Minecraft
>also doesn't actually feel like minecraft
Meanwhile on schizocentral
>light is no longer safe
>i also want to make torches useless against preventing mobs from spawning somehow
>>
>>109103313
kys
>>
>>109103298
>Making a mod friendly version of the most mod friendly game in the world.
Genius idea OP
>>
>>109103298
so what youre actually making is a game making framework that ships with a minecraft-like game ootb?
>>
>>109103298
minetest saar
>>
>>109103298
Make it possible to compile for Windows 95. That would give you universal win32 compatibility.
>>
>>109106268
if you're not targeting win32s so it can run on win3.1 under dosbox, are you really serious about compatbility?
>>
>>109103298
I swear to god there have been one of these threads a month ever since early 2010
>>
>>109104555
i use an intel dual core with integrated graphics from 2015. I think OpenGL 2.0 would be a better choice than anything else
>>109104249
>>109105890
>>109105927

Modern Minecraft has shit performance and shit gameplay but old Minecraft is too buggy and also has bad performance in its own way so I'd like to make a version of old Minecraft that has good performance and has modding built in.

>>109105917
at this point pretty much
>>109106268
haven't tested but the code itself should run on anything since i'm not using any wacky new win32 apis
it should be pretty portable
>>
>>109106533
>Modern Minecraft has shit performance

Maybe stop playing games on 2005-2010 computer?
>>
>>109103298
I know it's sad, but this would've been massive in 2016, ten years ago. Literally anyone can do this with an LLM nowadays.
I'm sorry, and I hope you have fun nevertheless.
>>
File: 49914.jpg (214 KB, 1536x1472)
214 KB JPG
COOL
>>
>>109103765
AngelScript mogs the shit out of that, just add a JIT. Writing Lua gets extremely tiring quick.
>>
>>109103298
> modder-friendly
> in C
>>
>>109103298
some guy ported beta 1.7.3 to C# and it was great
then, he tacked on a launcher to it and made it impossible to play without logging in
will you keep this faithful to the original idea and not tack on a shitty launcher?
>>
>>109107023
Yes. Microcock took away my 15 year old Mojang account. I do not want to tether this game to any account service. Players will be identified in multiplayer using a hash generated with username+password, kind of like AuthMe or not-so-close-to-SSH-keys, and will have the ability to upload their skin to the server to display for other players (with proper sanitization of course, and assuming the server doesn't use custom player models)
>>
>>109103298
> modder-friendly
> modders-first
> lua modding API
>>
>>109107048
>>109107022
>>109106843

Read the inventory code snippet I posted here:
https://cy-x.net/pane/post/878#p18682
and tell me how modder-friendly you think it is.
The entire base gamemode is written in Lua just to show how moddable I want this engine to be.
It runs faster than even the oldest version of Java Minecraft available
>>
>>109107067
Why are you still using the term "valve"gui lol rename that shit
>>
why not mquickjs or another C-based runtime? better imo
>>
>>109107078
because it's called the valve graphical user interface
https://developer.valvesoftware.com/wiki/VGUI_Documentation
>>109107122
I use LuaJIT which is based off of C
>>
>>109104694
Yes.
>>
>>109107045
nice! good luck
>>
>>109103329
> 5 years ago and blazing fast? sounds like vaporware with extra steps
>>
>>109107165
Yes but you didn't copy paste actual vgui code from leaked source did you? That's a big no-no...
Also use FFI while you still can, idk about sandboxing it yet I haven't thought too much about it
>>
>>109103601
> muh roblox polyfill

just write the damn api wrapper and stop manifesto posting
>>
I'm not reading all this. Where do I download it?
>>
>>109107180
No, because it's implemented entirely in Lua.
>>109107234
https://cy-x.net/pane/post/878#p18684
>>
>>109107269
>No, because it's implemented entirely in Lua.
Kind of retarded
>>
>>109107275
The core engine remains minimal and easy to maintain and can be repurposed for anything. What's the problem with that when the code is super fast?
>>
>>109107281
You'll know when you get your first GC spikes
>>
File: wurzelcraft 666 fps.png (247 KB, 1032x724)
247 KB PNG
>>109107288
>You'll know when you get your first GC spikes
Luckily I'm not programming this in Java.

here's 666 fps on a dual core with integrated graphics
>>
>>109107291
Seriously look up LuaJIT's FFI at least, e.g. things like pos vectors should be cdatas instead of userdata on the Lua side, going with the latter is a disaster.
>>
>>109107165
>I use LuaJIT

what i mean is that runtime goes first, C code goes as an extension to that. this allows to move fast. the reverse is when runtime acts as DSL internal modding language.
>>
>>109107180
>use FFI while you still can

FFI is an abomination, dont use it when you have a good extension mechanism, oh maybe Lua doesnt?
>>
>>109107423
Why are you replying to me? I'm not talking to you.
>>
>>109107439
it doesnt matter, youre in public area, i can intervene any message. FFI is abomination btw
>>
>>109107449
You haven't touched LuaJIT so I'll elaborate, instead of dealing with things like userdata bindings to expose structs to Lua which introduces cycles and memory overhead with the VM, you can just declare the layout and directly manipulate data in one instruction through the address. That's all. Idk why you're shitting bricks unless you had something else about FFI in mind?
>>
>>109103298
Very cool, I was actually thinking about this some time ago. Minecraft modding is an absolute mess of versions, Mojang breaking things left and right, etc. Luanti feels absolutely nothing like minecraft and is complete and utter garbage. I feel like there could be demand for a modder friendly minecraft-like game.
>>
>>109107463
>something else about FFI

FFI is an abomination, no, its not for "fast prototyping", no, it doesnt make things faster. and no, it doesnt make things simpler - what it does it marks the runtime as poorly extendable - users cannot simply extend the runtime with the code they write as FFI. that is the only reason, nothing else.
>>
>>109107639
In this case it just means both simplified and more performant C <-> Lua bindings
>>
File: clinic.png (27 KB, 1364x604)
27 KB PNG
>>109107639
>>
>>109103298
why would anyone play this when vintage story exist for autistic minecraft enjoyers
>>
>>109106533
old minecraft didn't have better gameplay, aside from superficial (from a game dev point of view) differences like a hunger bar. People just remember it fondly for the potential they thought it had at the time. Spam clicking is not good combat either.
>>
>>109106287
Eh, Win32s isn't the full original spec. I think at that point you'd be better off with a Win16 port. Classicube did a DOS port, so its not impossible.

>>109104555
not op, but SDL just uses OpenGL for its backend anyways. Either that or its software rendered and not using the GPU at all. Anyways, OpenGL is great for backwards compatibility. SDL tends to force you onto newer specs unless you stick to something ancient like SDL 1 or 2.

>>109106533
Could you try testing it in a VM?
>>
>>109106630
Minecraft has shit performance. It should not run as poorly as it does considering how it looks. Classicube is practically the same game graphically, but runs leagues faster because its not using interpreted code for rendering.
>>
>>109107045
Will there be an option to disable player authentication in servers, if admins would rather do it themselves or if I'm running a LAN server that doesn't need authentication?
>>
>>109104555
Old is not bad
Old means it’s well understood and well supported
>>
>>109103298
Since you have actual lightning engine, how will you resolve mobs burning in sunlight? Will they be protected by shadows or will it work like normal Minecraft with shaders installed?
>>
>>109103298
Based vibeGOD creating games
>>
>>109107950
As opposed to being allowed to click every other second like I'm a toddler that needs to be told what he can and can't do in his survival sandbox blockgame
Yeah I'll take spam clicking you faggot
>>
>>109107291
looks like a comfy world

great to retreat to in order to repress and zone out living with a hoarder and no gf
>>
>>109107975
Yes
>>109108114
It'd be pretty cool to have them be protected by shadows, but I think it'd look really weird if the player were to disable shadows, so either it'll affect mob burning or act like minecraft with shaders
>>
>>109103298
lua is shit, there are tiny js to embed now
>>
>>109103298
Wish you all the best and I hope your experience is a good and fulfilling learning one.
I can’t help you because I’m not smart at programming.
>>
>>109103298
Where's the flood fill lighting and water? Your LOD terrain? You skipped the hard parts. There are way more impressive voxel projects I've seen on Youtube (e.g. https://www.youtube.com/watch?v=qnGoGq7DWMc), you are not unique for stealing Minecraft textures.

>I can get around 120 fps on maximum settings and maximum render distance with no culling enabled.
What's the maximum render distance? Do you support an infinite world with dynamic terrain generation? By default I'm going to assume this is not performant at all.

>>109108114
>Since you have actual lightning engine, how will you resolve mobs burning in sunlight? Will they be protected by shadows or will it work like normal Minecraft with shaders installed?
There are enormous pitfalls here if you think about how this is supposed to work for a few seconds. E.g. what if the player is in a deep cave and surface chunks are unloaded, what if the player places 100000 torches at every possible position, etc. Minecraft's lighting system is harder to make than what OP has done and solves these problems.
>>
>>109108523
>Where's the flood fill lighting
Already here. Static lights are different from dynamic lights and follow a flood fill algorithm similar to Minecraft. Same for skylight.
>and water
No water yet but that's even easier and follows the same formula.
>What's the maximum render distance?
16 chunks.
>Do you support an infinite world with dynamic terrain generation?
Nope. Don't like infinite worlds but it's extremely easy for modders to implement them using non-euclidean geometry.
>By default I'm going to assume this is not performant at all.
Runs really good on my dual core integrated graphics.
>>
>>109103298
There was a guy on here a few weeks ago making a similar project, but it was a mod for Minecraft Alpha. It had its own lua mod API, alongside a bunch of other features.

No clue where he is now since he didn't have a webpage for the mod.
>>
>>109108789
I'm the same guy lololololo
i dont think i like java anymoar
>>
>>109108861
So is that mod just dead?
>>
File: minecraft-bee.jpg (32 KB, 500x500)
32 KB JPG
>>109103298
Looks cool. Any plans on adding the minecraft bee? :3
Wishing you the best of luck!
>>
>>109108875
nah, i'm rewriting it in C here
>>
>>109108908
Well then the mod is dead. This is a whole different game.
>>
>>109108861
Does it still have EAX support?
>>
>>109108255
So it’s going to be 1 to 1 copy of regular Minecraft, not some Minecraft-like like Vintage Story or Hytale.
>>
>>109108970
Yup, it'll still be using OpenAL so it'll have EAX
>>109109385
that's pretty much the goal i want to achieve for the base gamemode
>>
>>109109399
I still don’t get what is the point since Java has modlosders that allow you to do pretty much everything.
>>
>>109107045
>hash generated with username+password
so if I want to change my password I get a new account?
>>
>>109109661
Yes, but functionally there are no accounts at all. I plan for it to all be local and function like this
>user management panel
>add user
>username, password, that's it
>join server
>hey server, here's a hash for you to identify me as me persistently across sessions (username+password)
>server will associate all permanent data created from that hash to that hash only
>this also means bans will likely be IP-based natively and server operators will likely implement username-based banning themselves for particular cases
>>
>>109107324
>LuaJIT's FFI
https://luajit.org/ext_ffi.html
that looks pretty cool, OP read that page, its short
>>
>>109103298
Why would anyone use this over minetest?
>>
>>109103298
Sounds great, but I think you should ultimately focus on refining it instead of focusing on the engine to rely on modders. Like, you can have a classic Minecraft experience as a base game mode, but then have your own personal version you develop later to become the alternative mode

Because otherwise this will end up like all the other engines. Hardly played except by some specific niche groups. To maintain a broader audience, you need to make the 'default' experience as pleasant as possible, and have the mods at least FEEL secondary (even if you do end up putting a lot of focus on that aspect).

Anyway, good luck. Love to see projects like this.
>>
>>109103298
>C
lmao
>>
>>109107963
>SDL just uses OpenGL for its backend
I'm specially talking about SDL3 which adds SDL_gpu, effectively a wrapper on-top of Vulkan/Metal/DirectX
i don't even think it supports OpenGL (2D stuff still does IIRC)
>>
>>109103298
Considered not using cubes but another shape?
How about adding physics like in the physics mod?
>>
>>109103298
But very cool project. Just recreating minecraft wont make it very special though. Maybe you can spice it up and make it much more interesting with a few changes
>>
>>109103298
What the fuck are you doing, buy a MacBook Air (M5, 10-core CPU, 10-core GPU) or a MacBook Neo at minimum, asap!
>>
File: happyclapping.gif (536 KB, 500x283)
536 KB GIF
>>109103298
>The engine is made with OpenGL 2.0 and I want to make a fallback pipeline that uses only GL1.1 functionality just to expand hardware compatibility whenever I'm done with everything else.

Wow, I love this project. Could you start on this soon-ish by any chance ? I'm running another Core 2 Duo, like you, but mine is a Lenovo/IBM T60 as my daily driver. It'd be amazing to play this on it if I could ! I'm running OpenGL 1.4, so a 1.1 compatability layer would be a fucking godsend. I was so hyped for the 2Ship2Harkinian and Majora's Mask Recompiled projects until I foud out my compilation errors were because those fuckers decided to exclusively recompile N64 games using modern OpenGL versions instead of thinking of the decades of junkware compatability our economy is forcing a lot of students into in the wake of the post-AI companies RAM shortage and the like. At least I can play Mario64. For some reason those guys recompiled it with great compatibility.
>>
>>109107291
>>109107324
>>109109751
TIL, super nice tech
>>
>>109106748
Last good animated show coming from Disney Slop Channel.
>>
>>109109767

see: >>109103373
>>
>>109111825
kill yourself
>>
I would play minetest or anything but i can't dust off the bootleggy feeling of any minecraft clone and that alone makes me not want to try them...
>>
>>109103298
Didn't some retard already do this and call it minetest? (completely irrelevant and forgotten, nobody cared)
>>
>>109113271
>>109113276
yes, all the appeal in minecraft is interoperability with existing mods and the decades of glitches that have become core gameplay mechanics, any minecraft clone would have to add these as core features, you would be chasing a moving target basically indefinitely, as people will always compare your game to Java edition.
Even if microsoft axes it, people will just play the last version of java edition forever instead of your clone game.
>>
>>109113313
It's meant to eat up the Golden Age Minecraft players.
Imagine a version of old Minecraft that doesn't perform like shit or requires you to install an ancient version of LWJGL
>>
>>109113963
you just described "better than adventure".
>>
>>109113313
>Even if microsoft axes it, people will just play the last version of java edition forever instead of your clone game
correct, and microslop never will axe it. more importantly, they will see you in court after you've sunk a year or two into a project you will have to abandon. make a new game idiot, you can get money for your time that way.
>>
>>109114084
>"they will see you in court"
>doesn't use their code
>won't use their textures
lol
>>109114073
>"better than adventure
runs at garbage fps and uses lwjgl3 which cuts off support for older systems and is also the beta version instead of the alpha version
>>
>>109103298
>Luanti and other attempts at doing this have a problem of eternal unfinishedness and a pisspoor attempt to provide a base equivalent of Minecraft gameplay.
And this attempt won't be any different?
You'd really be better off listening to >>109114084 and making a new game instead. Not for some farfetched legal reasons like Mojang suing you, but just because nobody is going to be inspired to make mods or content in what they'll see as yet another not-minecraft clone.
If you're insistent on making it a voxel engine, I'd really suggest at least using smooth voxels (marching cubes, surface nets, etc) so at least it's different enough for people to be interested in using over the countless other blocky voxel engines.
>>
>>109103298
>>109109609
>more speed
>easier language for mods
>no MicroSofty
>cleaner codebase
Makes perfect sense to me, good luck.
>>
Is there code and/or a license?
>>
>>109113313
>will just play the last version of java edition forever instead of your clone game
This is probably the biggest threat to the project. If microsoft ever decides to end Java development and focus completely on bedrock, everyone will just end up using the latest java as the de facto modding version. Also, the more recent versions aren't as shitty in terms of optimization as the olds ones

>>109114434
>And this attempt won't be any different?
Probably to be honest. Luanti is pretty bad. Anything done by a talented dev will probably be better than it. OP seems to know what he's doing and is trying to replicate the minecraft feel.
>>
>>109103298
>lua
disgusting and unoriginal
angelscript is more developer AND modder friendly than fucking lua
>>
>>109114676
>replicate the minecraft feel
Again, if that's what this project is attempting to do, then nobody will care about it. If they want to play something that has the "minecraft feel" then they can just play Minecraft itself.
A project like this needs to bring something new to the table, and nobody outside of an incredibly small niche will care if it has 'good' performance on a system with an 11 year old CPU. Good performance is important, but it shouldn't be the selling point.
>>
>>109114752
>nobody outside of an incredibly small niche will care if it has 'good' performance on a system with an 11 year old CPU.
If nobody else will play it, then that's okay, because I'm also making this game to serve my needs and by extension anybody else who wants an alternative solution to what currently exists out there
>>
>>109103298
I don't give much of a damn about Minecraft anymore, but I have friends who do and I loathe Mojang/Microsoft for their lazy exploitation of it. DESU I think this is also endearing because I'm so jaded from most programs/games I use being stuttery TAA-blurred unrealslop or webpage-as-an-app electronshit. Good luck, anon!

Only suggestion I can think of is to avoid any tickrate-related pitfalls that would make the game janky to play at higher refresh rates than your current monitor. Barony comes to mind: very cool game with retro graphics, but god damn the camera in that game is somehow hardcoded with a 50 (not 60) Hz rate that makes it look awful in motion unless you lock the game to a multiple of 50fps, even if you turn on their "smoothing" option.
>>
>>109109609
Modloaders tend to not fix mods being incompatible with each other.
>>
>minecraft clone #846385738
>>
>>109114701
why angelscript over wren.io?
>>
>>109114752
>good performance
>incredibly small niche
holy first world blindness
t. first worlder
>>
>>109108861
Would you be willing to release a standalone demo of your mod as it is now? I thought it looked cool and still want to try it.
>>
>>109103373
>>109103298
>in C (instead C++)
you seem to be a retard
>>
>>109108908
>it's the old rewrite my project every few months noob dev trap
>>
>>109116309
If you can't play modern minecraft on literal ewaste where you live then you probably don't have running water, electricity or law enforcement and are being shaken down by warlords daily, why are you even playing video games
>>
>>109118346
>why are you even playing video games
for their original purpose, escaping reality



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.