Asking The Obligatory "Getting Started" Question again.

Started by
2 comments, last by Binomine 8 years, 3 months ago

Hey All,

I am looking for some advice/help. A lot of advice/help actually. I am commercial application developer with going on five years .NET experience and a degree in software engineering, however I have as yet had little to do with games development outside of a couple of hobby projects.

I am beginning to find my current day job, put simply, unfulfilling and am looking to move into game development. At first as a hobby but with an eye towards changing professional tract down the road.

So I sat down this morning and wrote out a list titled "Sh*t I didn't know!" and then spent the entire day rolling it around in my head and working out how to turn it into a series of (Hopefully simple) questions.

Here goes....

  1. Is there a "Solid" book or resource on Game Architecture? I am not to fussed on the language but something that talks about the underpinnings and structure of programming games.
  2. I learned my craft in C++ and Java but I was wondering about advice on languages? Should it really be all that much of an issue? I would guess that the "Lower level" the language the better performance you are going to get out of it but beyond that what are the main reasons for choosing something like C++ over say Python?
  3. Unity (Or other Game Making Tools), on the one hand I am not a big fan of such things and think I could learn far more by coding from scratch but on the other hand why bother reinventing the wheel? Are their any distinct advantages to using such tools or does it just come down to time/personal preference and ability?
  4. Is it possible to create "Cross Platform" games? I am guessing as long as the language has a "Virtual Machine" like Java or C# then it would be fine? But something written in C++ is not going to run on an Android tablet without a bit of "Smoke and Mirrors" or a complete re-write in Android.
  5. What do you do about persistence? Are game under pinned by databases or is it some kind of flat file system? A combination of both? Or is it just a case of "Right tool for the job"? I am guessing whatever the answer, this is also true of resources such as images and sounds?
  6. Much like question 1, is there a "Solid" book on Graphics Programming theory?
  7. Is the move from "Application Developer" to "Game Developer" a side step or a giant leap? I am quick study, know how to program already and enjoy what I do in a high level sense, but I don't really know if the gaps in my knowledge are just to big to be "plugged"? Anyone else made the journey?
  8. The final question is more or an abstract one and not one I think can really be answered but I wrote it down on my pad so I am putting it on here/out there. In the broadest possible terms, Is there anything obvious that I am not asking? Or "What do I not know that I don't know?" :-)

Finally, can I just apologies to any moderators I have upset by posting stupid questions in the wrong place. Anyone who is reading this again on another website as I am cross posting it and of course the obligatory trolls who just like to get upset about things.

As always thanks for all the help.

Kevin

Advertisement

1. I think Game Engine Architecture Second edition by Jason Gregory is what other people recommend but I'm not sure.

2. If you're aiming for the professional route I would suggest C++, also with unity being popular C# second I guess.

3 Do both... small from scratch stuff to learn basics of game loops and boilerplate stuff and at the same time learn to use Unreal Engine to get an idea of high level stuff with out getting bogged down in some details... also use it to visualize the math.

4. There are alot of crossplatform platforms right now so its possible unreal has its source available as does godot.

5. Most game don't use a database for a back end ... too slow. But I've forgotten what persistence means in relation to programming so I can't answer you well.

6. Realtime rendering third edition maybe but you'd also want a book on an graphics API and you need to read a bunch of stuff (pdf's and ppt's) from siggraph/trade conferences and amd/nvidia and game companies.

7. I can't really answer that but I have heard the game industry works you like a dog.

8. Hmmm what algorithms do I need to be familiar with for game programming.

-potential energy is easily made kinetic-

1. Is there a "Solid" book or resource on Game Architecture? I am not to fussed on the language but something that talks about the underpinnings and structure of programming games.
3. Unity (Or other Game Making Tools), on the one hand I am not a big fan of such things and think I could learn far more by coding from scratch but on the other hand why bother reinventing the wheel?
4. Is it possible to create "Cross Platform" games?


1. There's a book called "Game Architecture" (it's around here somewhere, but I don't know where or what the author's name is) and there's also a fine book by Sanjay Madhav (I don't know the title offhand). I agree that Jason Gregory's book should also be on your list.
3. Why spend time recreating stuff that's already there for you to use?
4. Unity can make games for different platforms for you. You do need a different program for different platforms, unless you're making a web game to run on a browser.

Oh, and this is absolutely the right place for this conversation.

-- Tom Sloper -- sloperama.com

Only giving answers to questions I think I can answer.

2. Language choice is dictated by platform choice. If you are a small time developer, then you need to focus on what you're interested in, because there's a lot of work involved in making a game. For example, learning Java when you're going to develop on iOS is more of a waste of time than learning Object C or C++. Look at the languages people are using for doing stuff that you want to do.

3. This question is related to #2. If you are a small time creator of games, there's a lot on your plate. Using unity or another 3rd party library cuts down on what you have to do. As a .net developer, you use .net rather than coding windowing systems, right?

4. There's no such thing as a perfect cross platform system. To some extent, It's all smoke and mirrors.

5. There's usually no database in games that aren't MMORPG style games. Resources are usually just hardcoded into the game or into whatever level file you have.

7. This depends on how far you want to go down this rabbit hole. Being a freelance mobile game developer or a tool developer isn't going to be too much different than an app developer. Being someone who is coding their own engine or modifying existing ones is going to be very different.

8. IMHO, your job might be unfulfilling, but game development as a hobby / side project might be a more likely path than game development as a career. There are people who make it, but it's a rock star kind of profession. For everyone who makes it, there are many who don't or even people who get a job, but can't make it into a career.

This topic is closed to new replies.

Advertisement