Jump to content
  • Advertisement

Vodahmin

Member
  • Content Count

    30
  • Joined

  • Last visited

Community Reputation

233 Neutral

About Vodahmin

  • Rank
    Member
  1. Just found this comic on the Internet, I thought I'd share it with you
  2. 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. 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. Vodahmin

    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. Vodahmin

    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 this book. I used it myself to learn Python and I must say, that the book is well organized and straight to the point.
  6. 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. 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. 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++ http://www.amazon.co...49271707&sr=8-3 This one for game engine development: http://www.amazon.co...49271663&sr=8-1 (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: http://www.amazon.co...49271811&sr=1-3 Good luck!
  11. Great! I've seen the previous handbook but it wasn't 2012 edition. Thanks a lot for that.
  12. 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). 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. 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). 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 thread. 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 thread 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][/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.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!