Author Topic: Ridiculous amount of links for hopeful gamedev aid  (Read 19629 times)

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Ridiculous amount of links for hopeful gamedev aid
« on: December 03, 2009, 02:59:55 AM »
http://www.neogaf.com/forum/showthread.php?t=381257

It is easier this way, probably....as my typing got pretty freaking long from working on this the past day or so very shortly after I said I had the first of some things in the works over in the Roguelike Renaissance topic.  Any suggestions from folk here that I missed and other folk haven't corrected thus far on?
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

AquaTsar17

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 57
  • Karma: +0/-0
    • View Profile
Re: Ridiculous amount of links for hopeful gamedev aid
« Reply #1 on: December 03, 2009, 06:07:02 PM »
Having lots of links can be handy, but if you're looking at learning any of it you'll need to decide on how you want to split breadth vs depth.

Breadth implies you know about a lot of different tools (programming languages included) but don't necessarily know any of them really well. That's where depth comes into play. It's very time consuming (and likely impossible given our finite time) to have a great deal of depth in knowledge about everything. It's much better to choose certain things and have more depth in that, but you should also have some depth in everything.

Basically, you want to understand how each tool works in general and then know how to use the more popular/prevalent tools specifically. That way you can do work that helps the majority, but if you want to help another group who uses something totally different you can still offer some help.

I find it unlikely you're not willing to learn, or you wouldn't have bothered to post those links. You already have a good headstart with that willingness. Knowing about programming languages, computer graphics and graphics tools, and some low-level O/S stuff in general basically means you can learn the specifics when you need to.

For example, if you understand procedural programming languages at the conceputal or general level, then it's just a matter of "I know how to write this statement in <language X>, now I just need to look up how to write it in <language Y>". Initially, books or the Internet will provide that, which is where your links come into play. The more you use language Y, the less you'll have to look it up. But the more you program period (provided you focus on the general concepts and not just syntax), the better you'll become at any programming language.

If you knew absolutely nothing about programming (which I don't think is the case), I would recommend learning more conceptual stuff with examples in two specific popular languages. For example, learn about object-oriented programming and control flow and do examples of that in Java and C++. In doing so you'd learn the concepts behind program flow, control structures, and OOish stuff while also learning how it's done in Java, C++, and the differences between the two. That is useful knowledge, far more useful than merely memorizing C++'s standard library (which you'll memorize anyway if you use C++ enough).

For the graphics tools, any decent tool should provide similar functionality so you'd want to learn what those functions do and how to utilize them. I'm not a graphics guy, so aside from suggesting knowledge about layering (and how to work with tools that do not layer), recoloring and texturing, there's not much else I can add. However, if you plan on doing anything in 3D definitely learn about modelling and how models + texture are used. That's the main difference between 2D sprite/image-based games and 3D games.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Re: Ridiculous amount of links for hopeful gamedev aid
« Reply #2 on: December 03, 2009, 08:48:00 PM »

If you knew absolutely nothing about programming (which I don't think is the case),

Well...actually that IS the case!   ;D   In order to better understand the context of this, digest my Roguelike Renaissance topic in the other subforum here at your leisure to fill in the blanks.

In general, your words sound spot on and it just comes down the the particulars.  I'm trying to go from lesser-great complexity across the help I  render in projects.  For example, from voice acting to music compostion for one game or so, and starting with a Scripting language before trying to outright tackle a Programming language for others.   As things are in need alongside, as I have a chance to help at that, so shall the focus of progress shift until hopefully I'm "relatively functional and familiar" with a good many across the spectrum as I have no desire to become "great" at any of it unless that is actually a needed requirement for some of the more complicated endeavors I have in mind further down the line.

Plus as I say there also, on some topics I'm pretty sure that will be significant---I got nothing or no tutorials to help things along.  Like Linux....surely I'll need some understandings for the world of Linux in terms of Roguelikes, as well as some games in general I reckon.   Be great to track down some Squirrel materials before having to harass/beg/etc even moreso the S.C.O.U.R.G.E. dev team members I'd be able to actually get ahold of.  And so on.

I'm flying blind on all topics and starting from absolute scratch as well.  Think of it as a mid-life crisis kind of thing.   :D
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

AquaTsar17

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 57
  • Karma: +0/-0
    • View Profile
Re: Ridiculous amount of links for hopeful gamedev aid
« Reply #3 on: December 05, 2009, 02:41:53 AM »
Depending on what you'll use Linux for, knowing a lot about it may not necessary. If you're going to program in C or C++ on it, then you're gonna need to know more detail for it (and definitely will want a Linux distribution on your machine). Otherwise, you'd probably just need to know how to install and run programs on it and not much else. It's better to just get familiar with command line interfaces anyway, though plenty of Linux distributions are GUI based now.

Actually... you may want to look in to Virtual Machines for Linux. If you have a good enough computer (which, I remember from your other post, you were hoping to get) you could run a virtual O/S on it for testing. That will let you compile/run your programs in a different environment to see how they work. It's not as much of an issue for some more portable languages (such as Java, depending of course on how you use it), but for programming languages that can have platform specific issues (ie: most, if not all of them) it's incredibly useful to have a virtual machine for testing. It's also cheaper than getting a second/third computer.

I've used Microsoft's Virtual Server, and it's pretty good but costs money. There are some free ones (such as Virtual Box) but I have not tried those before. Definitely look into those first before trying out Microsoft's, because getting a working virtual machine for free is a huge benefit.

On the other topics... well, I'm more of a "Learn the Theory behind it while doing some examples" kind of guy. So, tutorials or books on programming languages (not a specific language, but languages in general) would be good but probably overkill right off the bat. Books on algorithms though wouldn't be bad. Naturally I think every programmer should read books on compilers (or write their own), but I don't recommend that at this point. ^_^;

Start with an Object-Oriented language (Java, Python, C# or C++), since that seems to confuse many people. The non-OO languages that are still procedural languages (ie: they aren't Prolog or Scheme) can be treated in practically the same way, but it's apparently more difficult to start with them. That's just what I've heard, as my personal experience is not a good indicator of the norm.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Re: Ridiculous amount of links for hopeful gamedev aid
« Reply #4 on: December 05, 2009, 04:24:56 AM »
Interesting....and this VirtualBox thing sounds VERY interesting(never heard of it prior in the slightest, so if there's any other "obvious" things that come to mind I'm all ears)---especially if I can use it to create a fake Mac as one of my more insane projects(Seriously, tis very crazy and perhaps physically impossible in full at this point) would probably have me trying to reverse engineer a very old Mac Roguelike game among other things.  Duly bookmarked and will seek out wrangling it with the new PC.

I understand the theory craft, and it makes sense.  However, as it happens to shake out, I feel compelled to try and learn in order to help out with things in other projects as they present themselves to me as chance...like how I might as well use S.C.O.U.R.G.E.'s perceived need for somebody else to know how to use Squirrel and such as a ramp to approach the world of Scripting languages and another project further in the future will be using SFML most likely, so considering the nature of that from what I gather, such would probably be a good, broad spectrum thing to chase after whether that puts me in time to help or not----assuming nothing else comes up meanwhile in something more easily grasped.

In order to build connections/portfolio/experience, I pretty well need to appear where the action is as best I can...as another of my key goals is to avoid winding up homeless/get employed in this relevant area as soon as it can be reasonably done.

Really do appreciate the help/advice you've offered up thus far....this is good stuff.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

jaydg

  • Rogueliker
  • ***
  • Posts: 54
  • Karma: +0/-0
    • View Profile
    • NLarn Homepage
Re: Ridiculous amount of links for hopeful gamedev aid
« Reply #5 on: December 05, 2009, 01:35:14 PM »
VirtualBox is definitely brilliant.

I use it every day on multiple boxes and cannot imagine how to work without it. It is definitely the best way for a windows guy to get in touch with Linux - definitely less hassle than booting all the time to switch the OS.

I usually configure the virtual machines with bridged networking and the guest OS to get an dynamic IP from my router - this way the VMs behave like real machines and you'll get the most out of them.