Is it a good idea to do a project like that?

Started by
9 comments, last by Atemu 11 years, 3 months ago
Good afternoon everyone !
Last year I took an OpenGL course which was quite cool, the only problem is that we learned a very old way to program in OpenGL (we used GLUT). I had a project to do, a Pac-Man, in 2D and then in 3D. It was great, really, I liked it a lot ! The most interesting part was the graphics programming smile.png For my internship I looked for one in that domain but especially in the video game industry. Unfortunately, it's something very difficult (and rare) to find in Belgium. I finally did it in a company that are creating their own graphic engine on the top of OGRE. I didn't worked on the engine itself but on a tool, a plugin for Autodesk Revit Architecture. I had to integrate OGRE for a real-time preview of the opened file in Revit. It was quite a challenge, not because of OGRE but because of the Revit API which is awful and absolutely not thought for doing that.
Well that's it for the past smile.png
Few month ago I purchased the book "Introduction to game programming with DirectX 11" by Frank D. Luna and I'm reading it. It's very well written and understandable. I had an idea project to do while learning DirectX 11, some kind of a demo application that shows what I implemented (e.g. generating sphere, loading mesh, generate terrain...). I would like to know what you think of that, if you have any advice to give me or anything else that can help me.
Thanks in advance !
Atemu
Advertisement

Programming is always a good thing when learning, and the points you mentioned are worth implementing. But i don't think i got your question right :D

[quote name='weeska' timestamp='1358187632' post='5021489']

But i don't think i got your question right
[/quote]

I must admit that I haven't clearly asked my question unsure.png In general I don't really have ideas for a project, I hesitated between 3 ideas:

  1. Make a game
  2. Make a graphics engine
  3. Make a demo

I don't know any artist that could help me to make a game and making a graphics engine seems to be a huge task for one people. So the last one seems to be the best but I'm not sure and that's why I ask you what you think about it.

Start with the demo. A lot of the framework for a graphics engine will be created in the course of getting your demo functional. You can then refactor and add on from there.

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)

But i don't think i got your question right

I must admit that I haven't clearly asked my question unsure.png In general I don't really have ideas for a project, I hesitated between 3 ideas:

  1. Make a game
  2. Make a graphics engine
  3. Make a demo

I don't know any artist that could help me to make a game and making a graphics engine seems to be a huge task for one people. So the last one seems to be the best but I'm not sure and that's why I ask you what you think about it.

Either make a game or make a demo, depending on what your goal is. If you want to focus on tech and graphics, then make the demo. If you want to get more into making games, gameplay programming, or just being more of a generalist... then make a game.

BTW you dont need an artist or even any artistic skills to make a game. You can make a game entirely out of untextured triangles if you want. If all you can do in Photoshop is make a white dot, then make a game out of white dots. Maybe when you get better with PS you can start putting in colored dots. =)

The important things about making a game are:

1. Keep the game scope small and manageable. The smaller and simpler the better.

2. Do it all yourself. If you think making a game yourself is hard, making a game with a team is 10x as hard. Do it all yourself, at least on your first game.

3. Finish the game.

4. FINISH THE GAME.

Then once you finish the game you can think about starting a new, more ambitious game. But even then, still keep it simple.

[quote name='0r0d' timestamp='1358201175' post='5021575']
Either make a game or make a demo, depending on what your goal is. If you want to focus on tech and graphics, then make the demo. If you want to get more into making games, gameplay programming, or just being more of a generalist... then make a game.
[/quote]

I would like to experiment both but I have no idea where to start with gameplay programming unsure.png Should I create my own game from scratch (maybe use OGRE as the graphics engine) or use a game engine ?

I would like to mention that what you should practice on doing depends 100% on what your goals and aspirations are. In this industry most of indie teams and small studios use premade engines to speed up their development process and to save from the hassles (no use reinventing the wheel for a simple game). If your goal is to join a team where you would work on the game itself (not tools) than you want to learn more about gameplay programming, logic, AI, collision and all that good stuff that makes the game what it is. To do this you want to start working on small game's that highlight these various techniques.

If on the other hand your goal is to join a huge team like say Epic or Square Enix and you want to work on the behind the scenes technical aspects than you will want to focus more on the hardware level API's and building tech demo's that highlight various techniques. Things such as loading content, rendering static and dynamic models, shader technologies, working with programmable pipelines and what not.

I would highly HIGHLY discourage you from thinking that you can do both especially as a beginner. Although the core concepts of game logic programming are pretty much the same among all games engine level coding can be quite vast. The more time you spend learning to code game logic the less time you spend on the engine level coding and the farther you fall behind modern tech. The more time you spend learning and following modern engine level tech the less time you spend learning good logic coding practices. To give a little perspective on this think about all those reality TV shows where they repair antiques or rebuild cars. They always have a team of specialists, and although everyone may have an idea how to do everything they don't try to. Each specialist focuses on their art form to be the best they can be and this is why we see them on TV and see them making lots of money. The painter works on his painting he doesn't work on taking the transmission out (although he might now how). Same thing with game development, if you want to make good engines than do that, if you want to make good games, do that. Please try not to jump to far to fast and imagine that you can create your own engine from scratch while your trying to code a game an expect any good performance. Both aspects will be lacking due to time constraints and confusion from working on the other.

My overall suggestion to you is pick your short term goal now and stick to it. You can change it later on if you find out you picked something your not as interested in as you thought you where but make that decision AFTER you complete your first project.

Dan Mayor

Professional Programmer & Hobbyist Game Developer

Seeking team for indie development opportunities, see my classifieds post

[quote name='Dan Mayor' timestamp='1358203984' post='5021597']

If on the other hand your goal is to join a huge team like say Epic or Square Enix and you want to work on the behind the scenes technical aspects than you will want to focus more on the hardware level API's and building tech demo's that highlight various techniques. Things such as loading content, rendering static and dynamic models, shader technologies, working with programmable pipelines and what not.
[/quote]

That's exactly what I wanted to know about building a tech demo.

[quote name='Dan Mayor' timestamp='1358203984' post='5021597']
I would highly HIGHLY discourage you from thinking that you can do both especially as a beginner.
[/quote]

I didn't think of working on graphics and gameplay at the same time, I don't have time to do that. I should finish my master's degree first :P

[quote name='Dan Mayor' timestamp='1358203984' post='5021597']
My overall suggestion to you is pick your short term goal now and stick to it. You can change it later on if you find out you picked something your not as interested in as you thought you where but make that decision AFTER you complete your first project.
[/quote]

Ok, thank you for your advices.

Lol, I feel your pain regarding the Revit API. For my day job I am the sole developer working on a major addon for Revit. It is one seriously convoluted API. Also switching between cad and games programming can get confusing because in 3D cad, Z is your up vector and Y is north.

Anyway, to answer your question, I say go for it. If you want to make it a 'real world' learning experience, I would plan it out first and create a list of concepts that must be presented then work through them. Don't give up on one because you get stuck, pretend that someone is paying you to do this and will not accept failure, get it done!
Lol, I feel your pain regarding the Revit API.
I remember trying to recover the textures with the Revit API and after some search on Google I learned that you can't get the textures \o/ \o/ And of course, I didn't have access to the Autodesk Developper Network (too expensive)...

Anyway, to answer your question, I say go for it. If you want to make it a 'real world' learning experience, I would plan it out first and create a list of concepts that must be presented then work through them. Don't give up on one because you get stuck, pretend that someone is paying you to do this and will not accept failure, get it done!
Thanks for your advice ;)

This topic is closed to new replies.

Advertisement