Is it a good idea to do a project like that?
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 In general I don't really have ideas for a project, I hesitated between 3 ideas:
- Make a game
- Make a graphics engine
- 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.
But i don't think i got your question right
I must admit that I haven't clearly asked my question In general I don't really have ideas for a project, I hesitated between 3 ideas:
- Make a game
- Make a graphics engine
- 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 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.
[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.
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 ;)