I've been working on my attempt of a game (XNA/C#) for a week now and now I'm that far to create a terrain. I'd most likely use a voxel based engine for this (similar to Minecraft), actually I've tried a lot to play around with Cube tutorials, but most of them are just very basic and don't help me a lot. Right now I've though about following structure:
Game -> Handles main tasks.
--> Invokes World class. -->
World -> Is responsible for all the tasks that happen in the world, keeps the block data.
--> Triggers Block's draw() function after giving over the screen offset -->
Block -> Draws the block at the correct screen position, given by World
However, as I need to render thousands of blocks this could be going quite hard, because I've no experience in 3D programming.
Is it still efficient to do this using the 36 (6 sides x 6 points for 2 triangles) indices method because I could imagine that this eats a lot of memory?