C# Engine for Sandbox Game

Started by
10 comments, last by runonthespot 12 years, 9 months ago
Lately I've been playing a lot of Minecraft and Terraria and I have been really sucked into the whole sandbox genre. I have intermediate knowledge of C# (Mostly WCF and Winforms, no experience with directx/opengl) and I'd like to just mess around and make a little sandbox game where I can place and manipulate 3d models. Eventually I would like to add Multiplayer to the mix and I was wondering if anyone had any recommendations for a 3D Game Engine that I can accomplish this with.

I'd like to stick with C# and I would like a higher level networking library to work with and I've been looking at Unity 3D or Essenthel Engine. I really like their level streaming capabilities which I think would really help with large levels and user generated content. I'm just looking for something simple, because as far as 3D games go I'm basically a noob.

Can anyone recommend either of these or something else?
Advertisement

Lately I've been playing a lot of Minecraft and Terraria and I have been really sucked into the whole sandbox genre. I have intermediate knowledge of C# (Mostly WCF and Winforms, no experience with directx/opengl) and I'd like to just mess around and make a little sandbox game where I can place and manipulate 3d models. Eventually I would like to add Multiplayer to the mix and I was wondering if anyone had any recommendations for a 3D Game Engine that I can accomplish this with.

I'd like to stick with C# and I would like a higher level networking library to work with and I've been looking at Unity 3D or Essenthel Engine. I really like their level streaming capabilities which I think would really help with large levels and user generated content. I'm just looking for something simple, because as far as 3D games go I'm basically a noob.

Can anyone recommend either of these or something else?


Have you written a game before, a simple 2d game?
Never, ever stop learning.
- Me
Yeah, but in VB6 a long time ago. I'm not too worried about the programming personally. I just want to make a world where I can place/break things and move around and then save it. Then eventually add multiplayer and other gameplay elements. It would be a sandbox game in two aspects 1. You build stuff in a world 2. Its a testing ground for my learning of game programming.

Also, if someone could recommend a database or file type to store the level that would be great too. I was planning on sqllite because I'm familiar with it but I'm worried about the performance. Although, unlike games like minecraft I wont be generating and saving the terrain in a bunch of blocks, just the objects that I place and create.

Yeah, but in VB6 a long time ago. I'm not too worried about the programming personally. I just want to make a world where I can place/break things and move around and then save it. Then eventually add multiplayer and other gameplay elements. It would be a sandbox game in two aspects 1. You build stuff in a world 2. Its a testing ground for my learning of game programming.

Also, if someone could recommend a database or file type to store the level that would be great too. I was planning on sqllite because I'm familiar with it but I'm worried about the performance. Although, unlike games like minecraft I wont be generating and saving the terrain in a bunch of blocks, just the objects that I place and create.


What do you mean by "I'm not too worried about the programming personally"? Is that meant to be like you are comfortable enough and confident enough not to worry.. or you just dont care about it? If its the latter than I think you will find yourself with a huge problem. You cant just "make" a world, you have to program the world... Im confused.
Never, ever stop learning.
- Me
I planned on building a terrain in the editor and then placing a bunch of props that I modeled such as foliage and rocks. The rendering of the world is already done by the engine and I won't have to program the graphics systems such as 3D rendering and lighting and such. That I'm not comfortable at all with. I don't want to build an engine, I just want to write code to add character interactions and the systems to save what the character has done (and maybe later networking). So no, I'm not programming a world really, If I was then yes I would not be comfortable. What I am comfortable with is writing all the code for those character interactions. Getting objects to spawn and snap to the terrain, rotating those objects, deleting objects, and then finally saving the objects. I'm fairly certain I can do that (I've already created a script in Unity 3D to spawn objects where I want while waiting for responses).

So, I'm sorry if this comes out as being rude but I don't need advice on what kind of project I should be making as a beginner, I think this is within my reach. I do need help finding the right tools for the job though. Should I invest money in something that will be much easier/better or should I go with a free alternative? If you could answer that, I would be very appreciative.

I planned on building a terrain in the editor and then placing a bunch of props that I modeled such as foliage and rocks. The rendering of the world is already done by the engine and I won't have to program the graphics systems such as 3D rendering and lighting and such. That I'm not comfortable at all with. I don't want to build an engine, I just want to write code to add character interactions and the systems to save what the character has done (and maybe later networking). So no, I'm not programming a world really, If I was then yes I would not be comfortable. What I am comfortable with is writing all the code for those character interactions. Getting objects to spawn and snap to the terrain, rotating those objects, deleting objects, and then finally saving the objects. I'm fairly certain I can do that (I've already created a script in Unity 3D to spawn objects where I want while waiting for responses).

So, I'm sorry if this comes out as being rude but I don't need advice on what kind of project I should be making as a beginner, I think this is within my reach. I do need help finding the right tools for the job though. Should I invest money in something that will be much easier/better or should I go with a free alternative? If you could answer that, I would be very appreciative.


Not my specialty, I work with a lot lower level tools and API's. And you have to understand that people post here EVERY DAY asking about engines, languages, etc when they have never written a single line of code in their life and should not be concerned with 3D yet. So Im sorry if my initial reaction is to ask where you stand.
Never, ever stop learning.
- Me
That's quite alright, I've actually been on these forums before a while ago and I've seen that. If you can't recommend an engine then would you advise sqlite to save the level data? Is that at all standard for save files or is there something else more appropriate for this?

That's quite alright, I've actually been on these forums before a while ago and I've seen that. If you can't recommend an engine then would you advise sqlite to save the level data? Is that at all standard for save files or is there something else more appropriate for this?


Wait, didnt you say youve already usd Unity3D? I cant think of anything better. I mean the level editor is pretty much what you need, and the only other engine that comes close would be UDK. Ive never used Unity, but Ive watched tutorials... and it seems pretty drag and drop as far as models go. Then just attaching movement scripts to the Entities... if you have already used Unity, I think its just what you should continue with.

As for as saving level data, I haven't done any multiplayer so I just use simple XML or .txt to save info like that.
Never, ever stop learning.
- Me
Minecraft, Terraria, and Dwarf Fortress (the present reigning champion of the procedurally generated game) are powered by noise functions. They're procedurally generated games, and therefore are almost entirely programatically(sp) constructed (other than character models and unique assets and textures). JTippetts has some great examples of how to construct Minecraft terrain, and those concepts are applicable to Terraria and Dwarf Fortress. I would investigate the C# variant of LibNoise on codeplex since you're interested in C#. I've used it, and it is a foundation of my game's heightmap, wind, rain, and mountain generation systems as well as providing the data needed to calculate rivers and biomes (early example: http://img.photobuck...with_rivers.jpg)

JTippetts's Stuff:

http://www.gamedev.n...5133-minecraft/
http://www.gamedev.n...type-world-gen/

http://www.gamedev.n...rld-generation/

I would also highly recommend the following sites:

http://www.dungeonleague.com/

http://pixelenvy.ca/wa/ca_cave.html

http://pcg.wikidot.com/

http://roguebasin.ro...ave-Like_Levels
This is what I meant when I said it needs to be programmed. Im not really understanding how you expect to create a minecraft-esque world without some serious algorithms.
Never, ever stop learning.
- Me

This topic is closed to new replies.

Advertisement