• Content count

  • Joined

  • Last visited

Community Reputation

233 Neutral

About Vodahmin

  • Rank
  1. Just found this comic on the Internet, I thought I'd share it with you [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img] [img]http://i46.tinypic.com/2nc1k04.jpg[/img]
  2. [quote name='Goran Milovanovic' timestamp='1349608149' post='4987650'] In either case, I think that "typdefing a pointer to save a few keystrokes" is fundamentally wrong. Unless you have really good architectural reasons for doing that, you should find a better text editor that can automate those "too long to type" situations. [/quote] It's a matter of aesthetics. The code is also more readable, which can save you some time when debugging - that's what typedef was made for.
  3. [quote name='Goran Milovanovic' timestamp='1349547716' post='4987464'] [quote name='Vodahmin' timestamp='1349506814' post='4987335'] Actually, typedef'ing pointers is common in game industry, smart pointers that is. [/quote] I would still argue against it: It's something that carries certain benefits, I'm sure, but it makes code more difficult to read, because now I have to look for what opaqueDataType actually represents. If I just have SDL_Surface*, it's immediately clear. [/quote] I think it's only a matter of getting used to it. There is no apparent reason for typedefing SDL_Surface* but if your pointer declaration looks like "shared_ptr<SDL_Surface>" or something longer, then it can be a bit frustrating to rewrite it every time, so why not just typedefing it to "SDL_Surface"? Then, as a matter of good practice, you can add a "p" before the pointer declaration (for example "pSurface"), so there is really little room for mistake.
  4. Organizing Assets

    I think the more efficient approach would be to create a global package for all common assets (such as UI, background music, common texture/models etc.) and then unique packages for each level (such as cinematics and level-related actors, textures and sounds). The level-related packages could also contain AI scripts and level-related configs. If you're planning to make your own memory-pool, you'll find this design to be quite straight-forward. After each level, you unload the entire package and load a new one, while still keeping all the common files in the memory.
  5. Programming Tutorial

    If you haven't decided on the languages yet. I'd also recommend Python and C# for the starters. If you're planning to take a university course in the near future, you may expect that they will teach you Java (hopefully - some schools start from C - which is a great language but not the easiest to master). As for the complete guide for beginners, I'd highly recommend [url="http://www.amazon.co.uk/Programming-Python-Complete-Introduction-Developers/dp/0321680561/ref=sr_1_1?ie=UTF8&qid=1349544857&sr=8-1"]this[/url] book. I used it myself to learn Python and I must say, that the book is well organized and straight to the point.
  6. [quote name='Goran Milovanovic' timestamp='1349505824' post='4987332'] By the way: You should never, ever typedef a pointer. That's an unnecessary level of indirection, and it's something that has no place in your example, because you're not even using it anywhere. [/quote] Actually, typedef'ing pointers is common in game industry, smart pointers that is.
  7. I think the quality of the video is high - both in technical terms and the way you explain things. For some reason though, it felt to me like you focused on explaining the Java syntax and conventions than actually presenting some general concepts about the game development. Also, it took you 11 minutes to present a three lines of actual code. I think it'd be wise to speed up a lot - perhaps making each video not 3 but 30 minutes long. Other than that, I enjoyed the video. Good luck!
  8. [quote name='L. Spiro' timestamp='1349423515' post='4987043'] The downside is that members can trip over each other cause problems for others more easily this way. For example, one person likes to refactor code whenever he sees a chance, and by changing other people’s code (which he is more free to do under this structure) he has caused more than a few bugs for other people to fight. Scale all of this up and you have Valve, or so I imagine.[/quote] Lack of hierarchy != no rules. I think it should be obvious that if you want to refactor someone else's code, you should first discuss it with that person (or the team you're working with). Flat organizational structure requires more responsibility and thinking, thus doing "anything the fuck I want" may be quite destructive.
  9. [quote name='theflamingskunk' timestamp='1349275767' post='4986401'] [size=5]1. [/size]For the most part, game companies can be broken into two major categories 1.) Large development studios which are usually publishers (Activizzard, EA, Valve etc..) and 2) Smaller development studios which independently develop (indies). Without a college degree, you are already pretty much cutting out your chances of getting a job with the first group. That is because they receive such a high volume of resumes daily that they have higher and stricter standards and policies, so HR will look for certain things (Certain buzzwords, education, etc...) BEFORE they pass it on to the departments that actually do the hiring. Therefore, unless you know someone with some kind of pull in the company to vouch for you, your pretty much out of luck. With the second group, the indies, you have a much better chance of getting hired. However, it still wont be easy because they will be turned off by your age. It is VERY risky hiring someone straight out of high school for a key position (Which most indie teams require, they need a few people to do ALOT, not alot of people to do a little [ie few entry positions]) simply because they are unproven. It is much easier to show nice art in an art portfolio, but is is MUCH more difficult to show your extent of programming knowledge in any kind of portfolio. Additionally, you must look at it from an employers perspective, the average developer stays at a company for ~2 years since they jump around alot to get diffrent experiences. If an employer has to spend 1-2 years training a guy whos fresh out of highschool to make them truly effective, usually they are ready to jump jobs at that time.[/quote] You missed the whole point. Have you watched the video I mentioned? Don't put Valve as an example because it's not how they work. Also EA/Activision don't make games - they would require a degree but from a marketing/business school. Also, there are no such things as "indie" game studios. Being indie means that you sell something without a publisher - no actual company does that. It's usually individuals working for their own money in their spare time. Unless of course, you consider a group of 2-3 people to be a studio. By the way, regarding EA/Activision - I think you just provided the two worst companies to work in. In my humble opinion, 80% of the games they publish is rubbish.
  10. I'll try to give you a more technical answer. As I understand you'd like to mix Python with C++ and that is really great. As I see it, you'll probably wanna build the entire engine in C++ and use Python as a scripting language for AI and perhaps simple events handlers? I'm not sure about how well you know programming but it'd be wise to get familiar with the Object Oriented Programming concept (if you don't know it yet). Learn about inheritance, interfaces and virtual functions. Basically most of the game engines are a huge set of interfaces and virtual functions - this way it's fairly easy to implement new things or to make changes to the existing objects, without the need to modify each of them. You should also get familiar with the proper use of pointers - you could probably get away with naked pointers for a very simple game, however all professional engines use smart pointers. This way you don't need to worry about memory leaks, which may at some point make your game a real mess. After getting the basics done, you can eventually move towards proper memory management. How to cache game files efficiently in the RAM and load them before they're needed (if it's a simple game, then I guess you can load everything at once). After that, you can learn some basics about creating your own Process Manager and Events Manager for the engine - it'll be incredibly useful when you later add AI. Of course, you should also get familiar with DirectX or OpenGL (or SDL if you want to make 2D games only). Having this knowledge, you should be able to create a simple engine - keep in mind, that there's more such as Networking or Multithreading etc - however the things I mentioned above is the minimum if you want to make a nice and flexible framework for simple projects. As for the literature, I'd recommend this book to learn C++ [url="http://www.amazon.co.uk/Ivor-Hortons-Beginning-Visual-2012/dp/1118368088/ref=sr_1_3?ie=UTF8&qid=1349271707&sr=8-3"]http://www.amazon.co...49271707&sr=8-3[/url] This one for game engine development: [url="http://www.amazon.co.uk/Game-Coding-Complete-Mike-McShaffry/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1349271663&sr=8-1"]http://www.amazon.co...49271663&sr=8-1[/url] (by the way, this book has been recommended to me by one of the users at this forum - I'm currently reading it and it's great!) You may also need this one for Python: [url="http://www.amazon.co.uk/Programming-Python-Complete-Introduction-Developers/dp/0321680561/ref=sr_1_3?s=books&ie=UTF8&qid=1349271811&sr=1-3"]http://www.amazon.co...49271811&sr=1-3[/url] Good luck!
  11. [quote name='Rakilonn' timestamp='1349202869' post='4986138'] That was a nice presentation. For those interested on how Valve works, there was a nice article on gamasutra : [url="http://www.gamasutra.com/view/news/169063/From_the_editor_Valves_handbook_and_the_trust_phenomenon.php#.UGsyXU0xp8E"]http://www.gamasutra...hp#.UGsyXU0xp8E[/url] Be sure to read the PDF [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] [/quote] Great! I've seen the previous handbook but it wasn't 2012 edition. Thanks a lot for that.
  12. [quote name='theflamingskunk' timestamp='1349200619' post='4986121']I believe that is the way it should be, and I don't doubt that the higher ups at companies would say that. However, applicants do not exist in a vacuum and it is a highly competitive job market. Large companies such as Valve probably get hundreds of applications a day from all sorts of people, and that is what HR is for. And i'm not sure about Valve, but it is VERY common for them to simply filter out applications without any degree or experience. I dont know of any programmer that would rather be review applications all day rather than...well...programming. So I would believe their is something wrong if the HR department is filled with programmers, they should be reviewing potential hires, not every application.[/quote] You seem to follow a very conservative crowd, that thinks degree = skills. This may be right if you're aspiring to be a new doctor or a lawyer. However that is usually not true in areas such as game development. Of course, as I mentioned in my previous reply, degree is a great addition to your resume and taking a Computer Science class may help you understand a lot - that being said, software development is one of the very few fields that you can enter, simply by learning on your own (just look at how many tutorials and programming books there are on Amazon). [quote name='theflamingskunk' timestamp='1349200619' post='4986121']That being said, to speak to OP, not only is your portfolio very confusing to use with it starting on a blank page, the projects that you put on their aren't overly impressive at first glance. Ultimately appearance is everything, and you could definitely use some work with that[/quote] Appearance is important but if it's related to the position you're applying for. If you wanna be a programmer, they will look at how flexible, intelligent and efficient is your code. The more professional it is, the more it speaks about your experience. Trust me, no one should be judging you for so called "programmer's art". Unless of course, you're applying for a 3D modeler position - but that's another story. [quote name='theflamingskunk' timestamp='1349200619' post='4986121']I guess the biggest thing that you need to remember is that your not in a vacuum, you are in a pool of hundreds of other applicants. You are NOT proving that you can do the job, you are proving that you can do the job better than anybody else. A formal education can supplement the rest of your "package" and prove that you are able to dedicate yourself to something for 4 years (Assuming 4 year degree). Just think if you are hiring, would you rather have someone with no degree and little to no formal experience, or someone With a degree and little experience. I certainly would take someone with a degree[/quote] Let's stop here and think for a second. It's true that you're in a pool of hundreds of candidates, no one has ever denied it in this conversation. However, because of that simple fact, you should make yourself somehow unique. I'm not quite sure what you expect from college but higher education focuses on giving you a theoretical knowledge. It teaches you universal coding practices and pure concepts. To make it more clear, most of the universities will teach you for example what is OOP and when to use class interfaces instead of inheritance (purely universal concept), however there won't be too much about how to make the most efficient game loop or how to efficiently cache from disk your high quality SFX for PS3, which has somehow limited RAM. In most gaming companies experience > formal education - mainly because game programming is something you have to teach yourself (for the most part). [quote name='theflamingskunk' timestamp='1349200619' post='4986121']Note however that I am still in High School as well, so all my comments are based of of MY understanding, not how it actually is. What you should be doing right now, is start working as a freelancer and do contract work. Of course this is assuming that you know what you are doing and are good at it. Im not sure exactly what area you are interested in, but if you are intrested in programming, you should have no problem finding work. (I have to actually turn most people away their are so many companies looking for short term engineers).[/quote] And I'm a second year student of an IT-oriented studyline (developing mobile applications, networking etc) at one of the biggest European universities and I still feel like I need much more stuff to learn, aside from what I get from my school. University is only a couple of hours a day in a classroom of many people when teaching isn't always the most efficient - it doesn't matter whether it's Harvard, Yale or some cheap community college - if you want to make yourself unique, you have to do extra work on your own. The "pool of candidates" you mentioned will be filled with tons of graduates with degrees like yours or even "fancier" but it really isn't enough to say whether you're ready for the work. That's why I said, degree is important but should be treated as an addition to your portfolio - unless you actually make something practical that you can show around and present to people, no one will know of your true skills - university gives you some important insights and teaches theoretical knowledge - your own private work, on the other hand, is how you apply this knowledge in practice and that's how you can make yourself outstanding. Summarizing my opinion, if you can get a degree - do it, you can definitely benefit from that. However, it shouldn't be the main point on your resume - do extra work and create a few demos, so you can always prove your practical skills. This can really increase the chances of getting hired. I recommend you to watch the video I posted in another [url="http://www.gamedev.net/topic/632143-chat-faliszek-from-valve-gives-advice-on-breaking-into-industry/"]thread[/url]. It should give you some more insights on what companies, such as Valve look for.
  13. Not sure what kind of "game company" you're looking for but if it has "guys in suits wearing ties" in HR department instead of real-time programmers, I think something is wrong. There is a video I posted in another [url="http://www.gamedev.net/topic/632143-chat-faliszek-from-valve-gives-advice-on-breaking-into-industry/"]thread[/url] about how you can get yourself a job at Valve. It seems that degree isn't THAT much valuable after all. The things that professional game studios are usually looking for is whether you can actually accomplish specific tasks in a given time. According to Chet Feliszek from Valve, one of the most important thing is to actually do something from beginning to end (to ship it). The things they're more interested in than a fancy resume is your portfolio - if you can create a nice demo from scratch (that is creating your own game engine, graphics handler, cache handler etc) and then explain how it works, you'll already a step ahead from people who have fancy degrees but no real experience. Of course not every company is like Valve - maybe some of them, for some crazy reason, would still require you to have a formal education (even though you already have a nice collection of games in your portfolio) - on the other hand, why working with them? That being said I think a college/university degree should be an addition to your profile, not the focus point.
  14. A very interesting and quite inspiring speech given by Chet Faliszek from Valve. (it starts at 02:49). [media]http://youtu.be/tdwzvdZFxVM[/media]
  15. Great! This book is the jackpot I've been aiming for. I read some of the sample content and I'm impressed. It's great that besides the core game development topics, it also covers how to integrate Lua in C++ and how to script own development tools in C#. Thanks for the valuable advice.