• 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

241 Neutral

About thugthrasher

  • Rank
  1. I don't want to get into this too much, as it is a little off topic, but I don't disagree with the general ideas you put forward in your post, Serapth, but you again seem to be missing how "learning a programming language" is different from many types of learning (partially because learning a programming language is learning multiple things: programming concepts, concepts specific to the language, and syntax). I will definitely give you that if your goal is to program something 'real' or 'substantive' quicker, then learning other languages is probably a better idea than learning C/C++. A lot of that is because there are generally (not always) fewer "concepts" to learn before you get into that. I want to preface the rest of this by saying that I'm not talking about everyone in the next few paragraphs, just some people (who learn in certain ways). However, if your initial goal is just 'learning to program' (and you don't mind waiting longer to make a substantive program, which is a personal decision) then C++ is NOT a terrible first language. It's not the best for everyone, it may not even be the best for most people, but it's definitely not terrible. You STILL are learning progressively. You don't start out with the hard parts of C++. It is not really any more difficult to code very basic programs (the type you program when just starting out) in C++ than any other language (or at least the difference in difficulty is negligible). If you are just going through learning concepts and building on them, then C++ works just as well as any other language for that (at least for a while). C++ also makes it easier than many languages (again, not all) to learn a variety of programming styles. The reason I (and many others) say that it's easier to go from C++ to Java/C#/etc. than the other way around is NOT just because I learned C++ first. It's not even because I've seen other people going both ways and everyone I've seen who went to C++ first had an easier time switching languages than those who went the other way (as that is anecdotal and I realize that it could have just been that the people who learn programming easier happened to pick C++ first). The reason I (and many others) say that it's easier to go from C++ to the other languages is because there are (again, generally) fewer concepts that you have to pick up on to program in those languages (which is why, I believe, many others recommend going to, say, Java as a first language), so you are MOSTLY learning syntax. If you can program well in C++, then you have to learn less to program in Java than if you go the other way. Yes, there are some concepts/methods to learn, but it generally takes less time to learn those concepts you need for Java than those you need for C++. As long as you are learning progressively (starting from the basics and moving on), MOST languages are decent starter languages. You just have to pick the one that fits your goals more closely (such as how quickly you want to program something substantive vs. how deep you want to get into how things work "below the language" before you program something substantive). The error you pointed out earlier is NOT something someone just starting out should run into (if they are starting with beginning concepts as they should), so it is NOT something to worry about when picking your first language. Again, a little off topic, so I'm done posting about it, I just wanted to clarify what I was talking about and that I completely agree with you that you should start simple when learning new things, I just disagree on whether or not it's possible to start simple with C++. It's like actual (non-programming) languages. Most are fairly easy to learn when you are just learning very basic grammar and counting. Some are just going to make you learn more things before you get to the point that you could write a book in that language.
  2. [quote name='Serapth' timestamp='1337968878' post='4943299'] This is one of those baffling pieces of logic I see recurrent among ( pro and prospective ) game developers. Think about this for a moment, with every other topic you can imagine for which formal instruction exists... do you EVER start off hard to make the easier stuff later seem easier? No, you don't. You start learning math by learning your numbers and sums and progress from there. You don't start with calculus! When learning to cook, you don't start with a souffle. If you pick up a chiltons manual to fix your car, does it start off with engineering an engine? Do interns start with open heart surgery? You don't learn English by reading great literary works, you start with the basics, like Mr Muggs goes to School and Red Shoe, Blue Shoe, Green Shoe, MooShoo. This whole meme of starting with the hard stuff to make the easy stuff easier is so patently wrong in 99.999999% of endeavers, what exactly makes computer science so unique as to buck the trend. Here's a hint. Nothing. Starting hard is just a bad way to waste your time. Don't get me wrong, you can do it, it's just certainly not a productive way to go about things, as millennia of teaching experience has already taught us. Now, you could argue if C is hard or not, but that's a completely different conversation. [/quote] None of those analogies really work for coding, though. Nearly all of those things directly build on what you had to learn before. A programming analogy for the examples you gave would be learning multithreading before you learned loops. No one is saying start by learning the hardest parts of C, but if, while you are learning the basics of programming, you are able to pick up on some of the things that make C/C++ harder to learn, then it is very useful. There are advantages to going both ways, but for many people, starting with the more complicated language is the easiest method. It was for me. It takes a little longer to feel like you have good control over the language you start with, but it makes it easier to pick up other languages later (I've never met anyone who thought going from C++ to Java was harder than going from Java to C++). It's really a personal preference, which depends greatly on someone's learning style. Not everyone learns the same way.