Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 05 May 2012
Offline Last Active Sep 25 2013 06:39 AM

#4951978 Don't start yet another voxel project

Posted by on 23 June 2012 - 05:27 AM

For pet projects, voxels can make a lot of sense. They allow you to build a world by simply editing a few noise functions and move on, no hastily-made tools that need to be rebuilt a year later, no mucking around in Blender. For the programmers trying to learn how to make a game with the aim of getting a team together once they have the basic skills, this is ideal. They can leverage procedural content generation to provide them with nice-looking (usually) visuals, without their needing to show of their terrible 3d modelling / design skills. it's also inherently and intuitively deformable and requires that the developer pick up some very useful knowledge on compression, multi-threading, GPU computing and optimization. All of these skills transfer to a more mature project with a real team, as well as typically encompassing the standard skill-set required to code a game.

There's also the allure of games like Minecraft and ID's new tech they're toying with. People are seeing voxel tech more and more and it's intuitively linked to their understanding of matter. They figure it's easier to work with, overall than building the shell of a thing.

My first pet-project was a Minecraft-like infinite terrain generator (actually more infinite than minecraft, as minecraft uses a height limit) using 3D perlin and perfect cubes at 1/4 the size of minecraft's cubes. It ran fairly well on my admittedly high-end machine, even with all the fancy shaders I could muster. I theorize that for marching cubes I had more than enough resolution to produce a realistic terrain with enough detail. You see, these days terrain is still fairly low-poly. Due to normal mapping and tessellation you can get away with a fairly low-res voxel base (perhaps 1 voxel per metre). I got bored before messing around with marching cubes, though so I can't be certain on the performance

#4950988 Learning SlimDX (or should I just pick up XNA)

Posted by on 20 June 2012 - 09:11 AM

I've been working on a game made in SlimDX for the last year or so. I've gotta admit, I'm madly in love with the platform. It emulates the C++ native DirectX functionality so well that 9 times out of ten you can flat out use a C++ DX tutorial and immediately port it to equivalent SlimDX in your head. Very useful stuff, that.

I'd recommend SlimDX over XNA if you want immediate access to D3D11, if not then you're probably going to profit from the sheer quantity of resources available for XNA.

#4949808 Help!Where can I find some more SlimDX.Direct3D11 tutorials or simples?

Posted by on 16 June 2012 - 09:29 AM

A couple of DX11 sites I used while learning (and I'm still learning) SlimDX Direct3D11:

rastertek for D3D11 and HLSL
RB Whitaker which, despite sounding like a purveyor of fine coffees, has some amazing HLSL tutorials
This blog is not as good as rastertek, which I couldn't recommend more (some site formatting issues notwithstanding), but it also helps cover a few things.

Honestly the best idea is to read through the basic tutorials on rastertek, think about what you want to make, think about how you would make it, and then start googling for techniques and ideas available based on the beginner knowledge you picked up from that first read-through.

#4949098 Sample a Texture2D with the CPU

Posted by on 14 June 2012 - 03:58 AM

Hmm I see your point, I'll do a GPU implementation for now then and when it comes to optimization later I'll write up a CPU implementation and test them side by side.

#4944310 GUI renderer implementation. Double instancing. 9 Quads.

Posted by on 29 May 2012 - 06:41 AM

I think you're over engineering it.

In what situation do you expect a single control to be needed over 100 times on screen at once? You must have a very large monitor.

Sure, you can instance your controls, but frankly just writing to a vertex buffer and -maybe- indexing that should be enough for you.

#4944301 Game Engine

Posted by on 29 May 2012 - 06:09 AM

I've begun making my own game engine (actually this is now my second as I grew bored of the original one) after precisely 1 university course on it.

It's not as bad as people say. Start simply (boxes and spheres), solid colours instead of textures, etc. and move on from there.

I should add that I'm writing mine in c# using SlimDX, so things are a little easier for me (I don't have to worry about memory leaks as much or other more obscure errors), so I'd recommend getting started with something like c# and XNA. Most universities I know teach some measure of Java, and C# is barely a stone's throw from Java, syntax-wise.

#4942554 Game Engine

Posted by on 23 May 2012 - 08:15 AM

What is your experience level would you say?

Have you ever made a game before? How good are you at various programming languages?

What are your skills with art, modelling, sound design and music composition.

Have you ever taken a computer science course?

If your answers to a lot of these are "low" then I would strongly recommend getting your foot in the door, experience wise, with something much simpler. Start with a flash game, maybe, or a simple concept. There's a reason why games like this have teams of dedicated professionals.

Consider 2D graphics, or a top-down approach to simplify the concepts involved. Don't make anything too hard for yourself or you'll find yourself getting disheartened quickly.

If you're not too good at making art or music, but your programming skills are pretty good, consider procedural content. The computer will design it for you, and you'll be able to create infinite worlds.

The crux of the matter is that you should start small. Don't go out trying to make the next Left 4 Dead. Settle with farmville first and move on from there.

#4942552 help me with memry leak! C#

Posted by on 23 May 2012 - 08:09 AM

We're gonna need to see a bit more code than what you've given us there. Does it happen inside a loop? If so show us the loop too, does it happen inside a function? Show us the function. We'll at least need to see where you create your NetworkStream and what is sending the IAsyncResult.

Also what is this code meant to do?

Looks like you're trying to work out how many bytes you can read in between instructions? I'm not sure you fully understand asynchronous callbacks there. You're getting a handle to the async result, but you're then immediately ending the read. There's no way you can be sure it's going to have read anything in that time. It looks like you're writing synchonous code and expecting it to work asynchronously.

So to summarize:

Tell us what the code is meant to do
Comment it, for the love of god comment it.
Give us more of the code so we can actually see where memory is being allocated or deallocated and how quickly

#4942539 Help me flesh out game idea

Posted by on 23 May 2012 - 07:15 AM

I really like this sort of sneaking about and causing merry havoc to other people - reckon it would make a fun casual game.

One idea I would seriously recommend is giving every object a set of tags (e.g. explosive, flammable, electric, valuable, food, attracts_bears, etc) and building a set of things that can interact with each object. This is a brilliant way to develop some emergent behaviour which can lead to The Devs Thought Of Everything or unexpected fun.

This is part of the reason behind minecraft's success. Redstone is designed to lead to emergent behaviour. Notch never planned to let people make whole computers, and yet here we are.

#4938925 New Weapon technology built from scratch - New FPS written in javascript NEED...

Posted by on 10 May 2012 - 03:07 AM

That's a pretty explosion but IMO it needs to happen a lot faster than it currently is. Perhaps add a faster explosion on top of that and leave the current effect as particulate smoke from the aftermath, slowly drifting outwards?

What's the difference between Unity and Unity Pro? I've never really looked into the engine before, is it additional features? Or a royalty system?