Suggestions for a small-scale computer graphics project

Started by
8 comments, last by deus.ex.nova 11 years, 6 months ago
Hey Gamedev Community,

Basically my big-picture career goal is to work in a company (not necessarily games-related) implementing rendering engines. I don't really have much of a portfolio, since I just fairly recently broke away from a Psychology career path (I have a BA), but I want to start building it. A rendering engine, is way too large-scale to start off, but I am having a hard time coming up with smaller projects that can show off my CG experience to employers. A ray-tracer is about the only thing that comes to mind right now. After all, I want to begin applying for jobs by next spring or summer. If it gives you all some context, I've been programming C++ for a little over a year, and I will be taking CS and Math classes during this school year as well.

Another thing - would a CG portfolio still work well when applying for programming jobs not related to CG? I will need a source of income, so at this point in time getting any programming job takes precedent over a CG-specific one.
Advertisement

would a CG portfolio still work well when applying for programming jobs not related to CG?


No. You need a programming portfolio for programming jobs.

-- Tom Sloper -- sloperama.com


No. You need a programming portfolio for programming jobs.


Oops! I see what I wrote was misleading. When I used the word 'CG' I was referring to computer graphics programming using DirectX/OpenGL and say C++. I guess the term 'CG' is more associated with the art aspect. My apologies. Since that's been cleared up, what sort of small-scale projects would work for my realm of interest? Again, a rendering engine is too big, and the only other example I can come up with is a ray-tracer, which is still challenging for a beginner.
I suppose I'm approaching this problem the wrong way. I guess I'll just start trying to create a small rendering engine and see if each feature I implement can be considered a separate project. Each implementation will be featured with a small demo. I'll start simple first, then revamp my framework if each feature I add requires it. Perhaps I should start with a 2D engine first. I don't usually imagine 2D space having a rendering engine really, but I have an idea that may make it interesting. Maybe I'll use to make a small game too (or the other way around)! smile.png

I suppose I'm approaching this problem the wrong way. I guess I'll just start trying to create a small rendering engine and see if each feature I implement can be considered a separate project. Each implementation will be featured with a small demo. I'll start simple first, then revamp my framework if each feature I add requires it. Perhaps I should start with a 2D engine first. I don't usually imagine 2D space having a rendering engine really, but I have an idea that may make it interesting. Maybe I'll use to make a small game too (or the other way around)! smile.png


Ultimately just do what interests you. I would reccommend starting with 2D because it tends to be less complex than 3D, however their is still a lot that must be done so even creating your own 2D Engine from scratch will be a very impressive feat. If you really just want to jump into 3D than go ahead and try it. (I started with 3D before doing any serious 2D stuff).

But you need to do what you want to do, you are the one putting in the hours so it needs to be of interest to you or you will most likely quit before completion.

Ultimately just do what interests you. I would reccommend starting with 2D because it tends to be less complex than 3D, however their is still a lot that must be done so even creating your own 2D Engine from scratch will be a very impressive feat. If you really just want to jump into 3D than go ahead and try it. (I started with 3D before doing any serious 2D stuff).

But you need to do what you want to do, you are the one putting in the hours so it needs to be of interest to you or you will most likely quit before completion.


My big interest in real-time 3D rendering, but I'll try starting with 2D first. Though since I've been in a "3D" mode of thinking for such a long ti, I haven't really thought about what components are important in a 2D engine. Animated sprite support and a collision/physics system are the first things that comes to mind, but features such as lighting and shadows (which are the things that really interest me) don't immediately fit into my archetype of a 2D graphics engine. On the other hand, I think it would be really interesting to try and implement those features. Haha, it feels like such an original idea, but there have probably been so many games that have done that already.

[quote name='theflamingskunk' timestamp='1349290686' post='4986493']
Ultimately just do what interests you. I would reccommend starting with 2D because it tends to be less complex than 3D, however their is still a lot that must be done so even creating your own 2D Engine from scratch will be a very impressive feat. If you really just want to jump into 3D than go ahead and try it. (I started with 3D before doing any serious 2D stuff).

But you need to do what you want to do, you are the one putting in the hours so it needs to be of interest to you or you will most likely quit before completion.


My big interest in real-time 3D rendering, but I'll try starting with 2D first. Though since I've been in a "3D" mode of thinking for such a long ti, I haven't really thought about what components are important in a 2D engine. Animated sprite support and a collision/physics system are the first things that comes to mind, but features such as lighting and shadows (which are the things that really interest me) don't immediately fit into my archetype of a 2D graphics engine. On the other hand, I think it would be really interesting to try and implement those features. Haha, it feels like such an original idea, but there have probably been so many games that have done that already.
[/quote]

You wont be able to get into more advanced, innovative stuff if you dont learn and practice the basics first :P I know for me, it is easiest to work on an engine within context of a game. SO rather than just trying to make a 2D Engine straight up, Think up a game idea so you have the engine being developed around your game, and then after that is done, if you desire to you can work on making it more open ended framework. I believe many engines do this, like Unreal Engine and Unreal TOurnament.

But once again, whatever you do, make sure it interests you. You will be putting in ALOT of work.
Keeping the mindset of "game first, engine later" seems to be the ongoing pattern of development. Probably because it's the best way to enjoy the whole process, and also the most efficient way to complete a game. I'll go back to brainstorming what I would want my first 2D game to be like, then see what sort of features I'll need from my engine, and last but not least, start coding! Thanks for the support! happy.png
I made this [media]http://vimeo.com/30173952.[/media] I wouldn't call it game. I was (and still am), like you, interested in graphics programming. I had the video, code samples and some technical explanations of how a few things in the engine worked up on a website I created with Joomla. There wasn't a place I applied that I didn't hear back from (and that includes a few major studios that I was, frankly, shocked to hear back from). I'm not sure if that speaks more to my resume or portfolio project but it worked out well for me in the end.

My experience was that a pretty substantial amount of the discussion I had with potential employers - be it on the phone or during an on site interview - was related to this project.

A lot of the suggestions on Gamedev are to create polished, completed projects. I'm not saying that's bad advice but I had a positive experience with a project that I never 'completed' or intended to complete. I wanted to learn OpenGL so I started implementing things with OpenGL. It started as a COLLADA importer, then I added a terrain generator, GUI, water features, the ability to interact with it which led to the terrain editor, etc. I got a LOT out of it, it was fun and it looked good enough (in my opinion) to get me interviews.

I made this I wouldn't call it game. I was (and still am), like you, interested in graphics programming. I had the video, code samples and some technical explanations of how a few things in the engine worked up on a website I created with Joomla. There wasn't a place I applied that I didn't hear back from (and that includes a few major studios that I was, frankly, shocked to hear back from). I'm not sure if that speaks more to my resume or portfolio project but it worked out well for me in the end.

My experience was that a pretty substantial amount of the discussion I had with potential employers - be it on the phone or during an on site interview - was related to this project.

A lot of the suggestions on Gamedev are to create polished, completed projects. I'm not saying that's bad advice but I had a positive experience with a project that I never 'completed' or intended to complete. I wanted to learn OpenGL so I started implementing things with OpenGL. It started as a COLLADA importer, then I added a terrain generator, GUI, water features, the ability to interact with it which led to the terrain editor, etc. I got a LOT out of it, it was fun and it looked good enough (in my opinion) to get me interviews.


Wow, that's fantastic! Some belated congrats to you. Thanks for sharing - you have further inspired me. happy.png My plan, if I was going to create an engine, was also to implement some sort of editor UI for it, mainly to serve as a digital playground for demos. How did you implement it, if you don't mind me asking? Did you create your own UI framework in OpenGL, or use a third-party library for that? Also, about how long would you say it took you to create that?

This topic is closed to new replies.

Advertisement