Advertisement

Are there engines out there made for Minecraft clones?

Started by August 03, 2014 01:14 AM
13 comments, last by Hav0c 10 years, 5 months ago

I'd like to make a Minecraft-like game and have zero programming experience. I've researched game engines quite a bit and know a few things I need, but also have some concerns I can't find sound answers to myself.

What I need:

A complete game engine, not a render/physics/etc engine.

Little to no programing needed. Scripting such as LUA is far preferable to C#.

Easy asset manipulation. (I don't know how to animate or really even model so placeholders will be in use for a long time.)

Up to this point, Unity has seemed like a prime target.

My main concern is this.

I want a Minecraft-like game.

Something the user can modify, something that efficiently stores and alters a huge world.

It doesn't have to be totally infinite, minecraft isn't, but I am going for procedurally generated and continually added to.

Is Unity my best bet? Are there engines out there made for Minecraft clones?

My time is limited so avoiding dead ends and generating results will help me stay motivated.

zero programming experience

My time is limited

.

Regardless of what you choose, you need to put in a lot of time and effort to learn whatever "engine" you choose.

1: You need a solid plan on what you want to do - "MineCraft clone" is not that simple.

2: You need to research what each engine is capable of ... there are no engines out there that can do MineCraft with out you a doing a lot of coding .

With that said, the easiest rout would be creating plugins for Bukkit or MineCraft Forge ( depending on what you want to do ) .

Be aware that some time after MineCraft 1.8 is released, there will be a built in API for making plugins .

Note: You will have to learn Java to make these plugins.

I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.

~ Ralph Waldo Emerson

Advertisement


Regardless of what you choose, you need to put in a lot of time and effort to learn whatever "engine" you choose.

I am aware that game creation is not an easy process and requires time and effort. My intention here is to find my optimum platform without a lot of wasted time. I'm not looking for "the easy way".


1: You need a solid plan on what you want to do - "MineCraft clone" is not that simple.

Also, I do actually have a pretty good idea of what I want to do, and a direct clone of minecraft is not really it. Its just the easiest way to describe it technically and coincides with a lot of the basic game play. I thought a full description of my game concept would have been out of scope for a thread about what platform should be used.


2: You need to research what each engine is capable of ... there are no engines out there that can do MineCraft with out you a doing a lot of coding .

This thread is such research.


With that said, the easiest rout would be creating plugins for Bukkit or MineCraft Forge ( depending on what you want to do ) .

Be aware that some time after MineCraft 1.8 is released, there will be a built in API for making plugins .

Note: You will have to learn Java to make these plugins.

TBH, one of my goals is simply to be making a "better" Minecraft. It has many pervasive problems even after years of refinement, as such, building on top of that would be quite counter to the goal. I know it is a lofty goal, one I will likely not reach, but but you don't set out to walk a marathon by riding a bike.

Additionally, this game would be my baby. I would not want it subject to Mojang's whims just because my users have to buy their game and agree to their EULA.

.

I was looking at a list of engines last night and came across C4. I'd read about it in the past and, IDK if this is new or I forgot, but it seems it uses voxel terrain and the blurb about the feature sounded very much like what I would need. Does anyone know more about C4?

I'd like to make a Minecraft-like game and have zero programming experience. I've researched game engines quite a bit and know a few things I need, but also have some concerns I can't find sound answers to myself.

What I need:

A complete game engine, not a render/physics/etc engine.

Little to no programing needed. Scripting such as LUA is far preferable to C#.

Easy asset manipulation. (I don't know how to animate or really even model so placeholders will be in use for a long time.)

Up to this point, Unity has seemed like a prime target.

My main concern is this.

I want a Minecraft-like game.

Something the user can modify, something that efficiently stores and alters a huge world.

It doesn't have to be totally infinite, minecraft isn't, but I am going for procedurally generated and continually added to.

Is Unity my best bet? Are there engines out there made for Minecraft clones?

My time is limited so avoiding dead ends and generating results will help me stay motivated.

As has been pointed out: "zero programming expierience" and "time is limited" will kill any game dev aspiration, even a pac man clone.

What you seem to aspire to is much more complicated than that. So first you should a) be aware that there is no tool out there that will create a complete game without coding needed apart from simple cookie cutter games, and b) any game project you start will take a considerable amount of time if you do it as a hobby and especially alone, AND you have zero expierience making games.

You can bet that Minecraft was built in a lot of late hours and nights without sleep, so time really shouldn't be limited if you have such lofty aspirations.

Be aware that you will need 3 things in some quantities to achieve a success with such a project: Time, Money and Skill.

If you have more Skill, you can do more in less Time.

If you have the Money, you can buy the Skill of others.

If you have Time, you can develop the needed skills and you don't need the Money to pay others.

But lets end this here and move on to your main topic:

I don't know how familiar you are with the technical terms involved with "Minecraft-like Games". What you are looking for is a Voxel Engine. Now, thanks to the success of minecraft there are now multiple special voxel engines out there that might be very much capabel of achieving that Minecraft like look with little changing on your side - grphically. Some of them are even free or open source...

but: Only because an engine is free and some demo games made in it look good does not make it a good choice. The most important part of an engine, especially for non programmers, is the editor. And this part, more often than not, gets overlooked by the developers of free engines.

Another option are third party modules for the big engines like UE4 or Unity. For Unity, there are multiple Voxel Terrain solutions you can buy for little money from the Asset Store.

Of course, most of them are made for a more traditional, non-blocky terrain design. Yes, Voxel Engines don't have to be blocky, that is just the cheapest and easiest way to go with voxels (and the fact the minecraft developer was no artist AFAIK made this choice easier for him to design stuff for his new game, I guess).

I would guess most developers of these Voxel Packages would be quite open to making their Assets work with blocky terrain, and some might already do it (guess you are one in a big queue of guys that want to create "Minecraft, but better").

I know about C4 but I have never used it. It uses a Voxel Terrain Engine, thus might have the Voxel capabilities you will have to buy with Unity built in. BUT: AFAIK C4 is very code centric. As a non-programmer, you will most probably suffer because of this. An editor centric engine like Unity might be more to your liking.

EDIT:

forgot something I wanted to mention earlier.

You will be able to find engines that make the development of the client and graphics easy. These Engines might even have the needed Editor to shield you from programming for the most part.

But the biggest problem for you will be the networking part. The amount of engines with a networking layer built in that is powerful enough for a real MMO is limited.

Then there will be the need for a server. Here, its 99% Programming. I don't think you will find a server that will satisfy your needs completly.

Depending on how much you want to compromise you can go with a third party solution (Raknet, Smartfox, ...). Just be aware that, AFAIK these solutions have been developed for smaller Multiplayer games with a lightweight network layer.

You WILL find MMOs that use such solutions for their backend part, but you can bet, somebody HAD to write an extensive codebase to make a server part for it (and work around the limitations of these frameworks)

Unfortunately, no one ever got paid the big bucks before the job was done, so a day job is an absolute must, hence my limited time. I do not mind the idea of taking months or even years to finish a project, nor am I against taking on help from those who are passionate. I do doubt however that I will easily find such people as most developers are either interested in a paying job or their own game concept.

Unity with a voxel add-on might be the best route in this moment, though if I spent time learning to program first, perhaps C4 would be a better choice. It describes itself as cleanly coded and well structured, something that, to me, sounded beginner friendly. I admit though, it also sounds code centric and looking around, I find most of their screen shots feature a heavy dose of code compared to GUI and the highly technical descriptions are not buried very deeply.

The aspect of minecraft and voxels I am interested in is the editability. Voxels are a convenient method of storing material data in an array of nodes corresponding to the terrain allowing it to be broken, collected, and placed elsewhere. The scalability and procedural generation is also an asset.

I am not looking for a world made of blocks.

I must say, networking is not something I had fully considered and is simply a bridge I will have to cross when I get to it. Hopefully when I do, I will have a single player playable game behind me ready to add that to and it can help financially sustain further development.

You could take a look at octaforge.org

last video:

an image (more on the website): https://octaforge.org/static/media/player1.png

I didn't come around to use it myself yet, so you would have to investigate yourself how usable it is in current state (it is still alpha).

Scriptable in Lua.

I remember, there was a plan to include a minecraft-like demo game (probably in the future, though).

Advertisement

Unfortunately, no one ever got paid the big bucks before the job was done, so a day job is an absolute must, hence my limited time. I do not mind the idea of taking months or even years to finish a project, nor am I against taking on help from those who are passionate. I do doubt however that I will easily find such people as most developers are either interested in a paying job or their own game concept.

That is what I do at the moment... I have a 80% day job but work on my prototype in my own time. Took me 5 years to really get to the point where a prototype is nearing "completion" (as in, a complete level for people to play), and it will certainly take me another 6 months to really finish it. Even so I am investing 15-20 hours per week into it.

All I am saying, as soon as you are really on your own, don't underestimate the time you will have to sink into anything non trivial. And yes, you WILL have to learn most skills to some degree and one point or other.

Which brings us to the subject of other people: If you don't have the money to pay, and the name/fame to really attract them -> just forget it.

I tried it, horribly unorganized hobby project teams full of people with good intent. 90% will never really do anything, they lack the skill and the passion to really learn anything, invest their free time and push through to become usable to the project. The odd genius you attract will need careful management so he gets something interesting to do, and you will loose him as soon as he gets a better opportunity. In the end you would have to give up your own dev time to manage your team. Which will usually never produce anything of value, turn up to project meetings late or just drop out when they loose interest.

Of course the problem from the beginning was looking for people while you yourself still lack the skill to do it yourself (you don't know what you want from your team), or the skill to manage them (you don't know how to motivate them).

I am pretty sure, somewhere out there are hobby projects full of people that manage to work as a team and are productive. But if you ever find them, you will have to prove your worth (thus you need to create something on your own first) and you will have to integrate into it (probably you will have to work with the projects of others first before proposing your own).

But of course, to really find it out, you would have to use the classifieds system of this page. Maybe you would find a programmer interested in working on the same project (unlikely, but its possible).

If you want to build a network centric game like an MMO (or any "Multiplayer only" or "Multiplayer first" game), never take the networking to lightly. A lot of people would suggest building the networking first just to make sure everything else will work with fine performance with your networking layer...

http://www.reddit.com/r/VoxelGameDev/comments/why8x/the_big_list_of_block_engines/

Sean Middleditch – Game Systems Engineer – Join my team!

Minecraft looks simple and basic but it actually uses some advanced 3d graphical principles to do even basic things. The way it partitions and stores space is NOT an easy topic to dive into, the basic physics engine is also not that trivial, on top of that you need to have at least understand how textures, transparancies and such work. The other thing is procedural generation, creating biomes, landmasses, oceans and caves requires some hefty algorithms to look even half decent and playable. Then comes enemy AI and pathfinding in a completely generated world (so you can't pre-program the movements). All in all you NEED to know how to code, otherwise it will be a very frustrating task for you. But as not to be a complete downer, if you really do want to jump into it as quickly as possible and are willing to learn how to code, I would start of with an existing minecraft like game that has it's source code in public domain. So you will have a working game without putting anything into it, and you will be able to add things to your liking. Starting with a game engine even with the ultra beginner friendly Unity will still take A LOT of effort to get anything at all. So I wouldn't suggest that as you will most likely be diving in deep waters without even knowing how to swim, you'll get overwhelmed and abandon the project in a week (at most).

You didn't come into this world. You came out of it, like a wave from the ocean. You are not a stranger here. -Alan Watts

I totally agree Gian-Retro, other people can not be relied on unless they are paid professionals or truly a partner in your concept.

As to network first... :/

TBH, I don't think the project could sustain itself as well if I did that. Having a single player version ready and out there to keep my own motivation up and attract funds to the project is, in my mind, more important. Additionally, I don't know much about networking or how it should work. The way a client and server will communicate will be largely based on how the game is written, something that logically would need to happen first.

In any case, I see I finally have some replied with engines that are actually out there. I shall go take a look.

Thank you all.

This topic is closed to new replies.

Advertisement