• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

197 Neutral

About Legendweaver

  • Rank
  1. Making a successful entry to the game engine market is HARD, especially now that Unity has such a monopoly on indie mind share. This is true even if you provide source and license for free. Two recent and relevant case studies:   1. Havok released their professional-quality engine (Vision) and libraries with much of their middleware as Project: Anarchy under a free license with substantial source code.   2. Torque 3D, which used to have a paid license model, is now completely free and open source with a permissive MIT license.   Even these free, commercial engines have had a hard time gaining traction against Unity, however. More to the point, with professional quality engines with at least some track record in commercial games now available free, you'll have a hard time attracting users if you charge. It's absolutely a huge downside to not get paid for hours of work...but maybe you should try to develop and release a game using your engine. This would help build credibility for your engine, and it's easier to sell a game than an engine.
  2. You may want to consider using Torque. Both the 2D and 3D variants of the engine were recently released under the (very permissive) MIT license. You get access to full source code (C++ and its custom scripting language) for free. Torque isn't as polished as Unity, but free is a great price, and it's a pretty worthwhile tradeoff when you consider you get full source code and an open license.
  3. Unity

    It's worth looking at Torque3D, by GarageGames. It's got support for very large height-mapped terrain, it's been used for commercial shooters, and best of all, it's free and open source - it was recently released under an MIT license.
  4. Try/catch should only really be used for "exceptional" cases - ie, errors. Assuming that's the case, then you may want to consider assertions as well. An assertion checks its condition and does nothing if the condition is correct, but causes an unrecoverable runtime error if the condition fails, alerting you that you need to fix your code. When you finally release, you set a compile flag that compiles the assertions away completely. assert(x >= 0 && x < Array.Width); Array[x].blah(); Otherwise, use try/catch if it's an error but you intend to recover from it, and use if/else if it's not an error, just a different conditional path.
  5. I wrote my first program during my sophmore year of college. I got a job programming at Sony the year I graduated. So no, it's never too late.
  6. I prefer to use case to distinguish between a variable and its accessor in a language like c++ that doesn't support accessors as part of the language. Macharia offered a solution using underscores, but I prefer the following because it is less cluttered and usage is more similar to C#: class c { private: private string name; public: //- Accessors --------------- void Name(const string& value) { name = value; } const string& Name() const { return name; } }; This allows the accessor methods to be named the same thing as the underlying variable (like C#), but differentiated based on case.
  7. Looks like order of operations to me - the single expression in C# multiplies, then adds, and the two expressions in C++ mean that you add first, then multiply the result; IE: Vector3 Closest = p1 + AB * t; vs. D3DXVec3Add(&Closest,&p1,&AB); D3DXVECTOR3 result = Closest * t; or equivalently, (p1 + AB) * t
  8. Quote: GamerYZ: After 3 pages of posts, I've yet to see an example where those non-related courses truly stands out. Better "drunk effect" because of Biology is not a good example, I think anyone who has been a college student would know about drunk effects. I graduated just under two years ago. My major was in computer science, but I also extensively studied economics, and in particular, the field of economic game theory and social choice. As a multiplayer game programmer, I have successfully leveraged this knowledge to develop algorithms for automatically determining mission balance, influence design decisions by pointing out the implicit incentives of choices, and used formal models to improve our AI. I also took several courses in English and literature. As a result of these skills, I have been chosen on repeated occasion to compile suggestions, write proposals, and proofread other team members' work. These opportunities to showcase my skills have allowed me to gain professional respect, and, perhaps more notably, earned a promotion less than a year after being hired. Even more important (at least, from my perspective), I have been able to use my creative writing skills to contribute toward our new IP. Thus, these peripheral skills have provided three advantages: first, a problem-solving toolbox; second, a means to earn respect and promotions; and third, allow a broader opportunity to contribute. As a side note, my studio does have several Digipen graduates; all of them are employed in either QA or the art department. In contrast, I graduated from Yale, and was an offered a mid-level programming position after a single one-hour interview. All schools will open doors – but not necessarily as wide.
  9. VS6 is an ok program. However, Microsoft offers Visual Studio Express Edition for free at: http://msdn.microsoft.com/vstudio/express/downloads/ - seperate downloads for C#, Visual Basic, C++, and J#. My understanding is that these editions optimize less than professional editions, but free is a great price, and they will have support for all the newest Microsoft technologies.
  10. It depends on what your ultimate goal is, but if you're looking to build a game from the ground up, try the tutorials here: http://lazyfoo.net/SDL_tutorials/index.php - they'll get you familiar with the basics of graphics, events, and so on that make game programming different from, say, web programming or databases.
  11. Quote:Original post by asmon I am not really new to programming. i am very experienced with Web programming such as PHP. and i learnt C,C++,VB and assemnly in the past.. but i am thinking about start learning game programming because it sounds challenging. I don't know anything yet about graphic programming. What is 'XNA Game Studio Express' exactly? sort of a language? Is it difficult building your own engine for example with DirextX? As i have mantioned, i don't know anything about DirectX and those stuff, therefore i can't imagine how exactly it looks and how i use it. 'XNA Game Studio Express' is an integrated developing environemt (IDE) like Visual Studio, except that it's aimed at game development in particular. DirectX is essentially a library of functions that allow you to access the computer hardware directly (hence the name). It's composed of several sub-libraries, such as Direct3d for 3d programming, directinput for input handling, and directDraw for 2d programming. Even if you're new to programming, it sounds like you're new to software engineering. Most games are going to use far more complicated data structures and algorithms than the web apps you're familiar with. Pick up a book or two on basic C++ data structures, and read through that before you get too deep, or you'll get frustrated very quickly. Also, before making the jump to 3D games, I'd suggest learning 2D game programming. SDL is a great choice for that; check out the tutorials at lazyfoo.net to get started. When you are ready to move on to 3D, I suggest learning OpenGL before DirectX both because it will work on any platform you happen to have, and because meshes well with SDL. You certainly could learn to use directInput + directDraw + direct3d instead, but I personally found the naming conventions and design of SDL + OpenGL to be more accesible. As for learning OpenGL, the OpenGL Programming Guide is the book you want; it'll take you through the basics of graphics programming.