Suggestions for final year project

nightshade

Wookies love cookies!
Veteran
I'll be in my final year for my Computer Science degree later this year but I want to start early with this thing. I was just looking for interesting topics that I could write my dissertation on and I'd welcome some suggestions. I'd really like it to be related to video games, 3D rendering that kind of stuff. Nothing overly ambition, after all I'm just one guy in his 3rd year.

Last year there was a guy who wanted to recreate Doom 1 all on his own, didn't turn out too well for him.

Cheers !
 
Find something that is used in offline renderer's and see if you can do it in realtime.
perhaps leveraging compute shaders since they are quite new
 
Compute shaders limit you to specific hardware/drivers/OS, I think you need OpenGL 4.3 which is very new and limits you to suitably recent nvidia hardware, or DirectCompute which limits you to Vista/7/8.

Working with just software may be fine? feel free to discuss with your teachers/professors at the end of a lesson to determine which platform would be suitable.
That poor guy attempted to write a raycaster, which should be simple enough but a complete lack of experience in writing and buiding software leads to such a situation, if you ask me to do a CS degree project I might end up this way.
Or maybe did he focus on advanced features (non orthogonal walls, textured ceilings, monsters/weapons, too much optimization I dunno)

People write raycasters all the time (even on 8bit computers), or raytracers, or maybe a voxel renderer (voxels stored in an octree are neat but dunno how easy or hard is that. also it's maybe a dead end that only allows to view static worlds). Sometime they do evil things, such as a raytracer in a postscript file.
They do it for fun and for their own learning, I don't think you can come up with something new nor should attempt to do so.

An ambitious enough project would be to write some multithreaded renderer but it could be hellish to debug, leave you with a broken and unrecoverable app that you have to start over from scratch again. So don't follow my advice. On the other hand learning that horrendous stuff while you still can seems useful. Some languages can have better concurrency support than others.
 
Why not write a GPU benchmark? Not as difficult or time consuming as a game but still interesting enough that it's worth doing. You might even end up with the next Heaven!
 
There are no limitations as far as platform goes, even if it works just on my own machine it's fine and it is capable of rendering compute shaders. I've obviously just got a year to do it and have the rest of the academic stuff too side by side. And I'll probably need to learn whatever I want to do from scratch first of all which is what I'll be doing over summers. But I need some solid ideas before I fix on something.

I could try to create particle effects with compute shaders, what else could I do with it? or how about something simpler like random terrain generator and mix it up with maybe something like SPH fluid simulation ?
 
So I proposed a project which was basically to create a particle rendering system with collision using compute shaders. Considering I've got little clue over where to start and what to do I think I just committed hara kiri on myself. I've been advised to learn and do it using OpenGL instead of DirectX cause it's suppose to be easier for beginners.

I actually proposed another idea of creating a random terrain generator, I wouldn't even have to do any rendering for it as I could simply use Unity3D for it and just find an appropriate algorithm which works for this. But it's not really an interesting project to be honest.

P.S.[I can still change it if I want to]
 
Back
Top