New amateur game dev looking for advice

Started by
7 comments, last by BCullis 11 years, 12 months ago
Hey Everyone!

I recently decided to take up game development as a hobby. So far, I've been able to learn a lot from online tutorials and an XNA book that I bought (XNA by example), but there's just so many choices to make regarding what books to buy or what tutorials to invest time in, that I really feel like I need some advice on my direction!

Basically, what I'm hoping for in this post is that one of you wonderful experienced game devs will just point me in the right direction of some books that you feel are really good, or tutorials that you think could help me. I would be very grateful for any kind of help here :).

Anyway, I realize that you won't be able to give me any direction if you don't know where I'm coming from and what I want to do...so without further ado, here is my background info:

My goals: I want to eventually be able to make really fun, really unique games that I could potentially sell on a digital distribution platform like Steam or XBLA. I realize this is a long way off...but it's just what I'm shooting for :).

My knowledge/skills:

1. BS in Computer Science, so I have a good working knowledge of general programming concepts like memory management, data structures, control structures, object oriented design, etc.

2. Very good at C#. I work with it frequently at my day job.

3. Decent but rusty at C++. I just haven't worked with it in a while, but I'm sure I could pick up all of that wonderful pointer nonsense again in short order if I tried ;).

4. Beginner level knowledge at XNA. I'm reading/coding through an XNA book now, and I've done a lot of tutorials around the net. I know the basic concepts of how it works, but still have a lot to learn.

Where I feel I'm lacking:

1. Basic game programming concepts. Most of this is new to me. I understand how to program, but I'm not familiar with common game programming tasks like translating "screen space" to "world space" or collision detection.

2. Game engine design. I could really just use some general, theoretical help on "best practices" when it comes to building (mainly 2D) game engines. When I try to do this myself, I wind up mired in so many different possible decisions that I just don't know what I should do. Like...
How do I organize all of my objects? Should the "player" object inherit from the "enemy" object?
What kind of data structures do I store my world data in? Should I use a massive 2D array for the entire world? A list of 2D arrays to represent zones?
So many questions...


So anyway that's where I am now, and I could really use some advice on what I should be studying. I hate spending days on a book or tutorial to only realize it was a waste of time. So thank you all so much in advance for any advice you give!
Advertisement

2. Game engine design. I could really just use some general, theoretical help on "best practices" when it comes to building (mainly 2D) game engines. When I try to do this myself, I wind up mired in so many different possible decisions that I just don't know what I should do. Like...
How do I organize all of my objects? Should the "player" object inherit from the "enemy" object?
What kind of data structures do I store my world data in? Should I use a massive 2D array for the entire world? A list of 2D arrays to represent zones?
So many questions...

So don't work from scratch. Pick up an existing engine, and work with that for a while, at least till you have a general feel for how game development should work.

You are good at C#, so why not take a look at Unity? (hint: it's a dream to work with)

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


[quote name='Creslin' timestamp='1334870645' post='4932961']
2. Game engine design. I could really just use some general, theoretical help on "best practices" when it comes to building (mainly 2D) game engines. When I try to do this myself, I wind up mired in so many different possible decisions that I just don't know what I should do. Like...
How do I organize all of my objects? Should the "player" object inherit from the "enemy" object?
What kind of data structures do I store my world data in? Should I use a massive 2D array for the entire world? A list of 2D arrays to represent zones?
So many questions...

So don't work from scratch. Pick up an existing engine, and work with that for a while, at least till you have a general feel for how game development should work.

You are good at C#, so why not take a look at Unity? (hint: it's a dream to work with)
[/quote]

Thanks for the tip! I'm downloading it now, looks exciting :)!
I agreed. Unity3D and (why not?) Unreal SDK are good start points. Both have good video tutorials and Unity has the C# plus.

http://www.digitaltutors.com/training/unity-tutorials

[size=1]Project page: [size=1]<

[size=1] XNA FINAL Engine[size=1] [size=1]>

I agreed. Unity3D and (why not?) Unreal SDK are good start points. Both have good video tutorials and Unity has the C# plus.

http://www.digitaltu...unity-tutorials


Thanks for the link, looks like there is a lot of good stuff on there and their prices are reasonable. For now, I'm reading the Unity 3.x Game Development Essentials book and enjoying it so far.

One question though...

My eventual goal (for now) is to create a 2D isometric action RPG with sprite assets. I have read that Unity is quite capable of making 2D asset games if you use the orthographic camera, but I haven't been able to find a really good example of an 2D isometric perspective game made with Unity, so I'm just a little leery.

Does anyone here know if Unity is a good engine for making such a game?
I'd also try unity. This also looks interesting http://monogame.codeplex.com/

[quote name='jischneider' timestamp='1334890451' post='4933044']
I agreed. Unity3D and (why not?) Unreal SDK are good start points. Both have good video tutorials and Unity has the C# plus.

http://www.digitaltu...unity-tutorials


Thanks for the link, looks like there is a lot of good stuff on there and their prices are reasonable. For now, I'm reading the Unity 3.x Game Development Essentials book and enjoying it so far.

One question though...

My eventual goal (for now) is to create a 2D isometric action RPG with sprite assets. I have read that Unity is quite capable of making 2D asset games if you use the orthographic camera, but I haven't been able to find a really good example of an 2D isometric perspective game made with Unity, so I'm just a little leery.

Does anyone here know if Unity is a good engine for making such a game?
[/quote]

While it's not isometric, simply angled view, unity comes with a default project named angrybots that will open the first time you open unity, may want to DL unity and check that out.

[quote name='Creslin' timestamp='1334936836' post='4933255']
[quote name='jischneider' timestamp='1334890451' post='4933044']
I agreed. Unity3D and (why not?) Unreal SDK are good start points. Both have good video tutorials and Unity has the C# plus.

http://www.digitaltu...unity-tutorials


Thanks for the link, looks like there is a lot of good stuff on there and their prices are reasonable. For now, I'm reading the Unity 3.x Game Development Essentials book and enjoying it so far.

One question though...

My eventual goal (for now) is to create a 2D isometric action RPG with sprite assets. I have read that Unity is quite capable of making 2D asset games if you use the orthographic camera, but I haven't been able to find a really good example of an 2D isometric perspective game made with Unity, so I'm just a little leery.

Does anyone here know if Unity is a good engine for making such a game?
[/quote]

While it's not isometric, simply angled view, unity comes with a default project named angrybots that will open the first time you open unity, may want to DL unity and check that out.
[/quote]


Yah I did check out Angry Bots, and it is very similar to the perspective I am going for, but it uses 3D assets. I'm looking to make a game that uses 2D assets (sprites). Because my artist buddy and I are making it together, but he's not familiar with 3D modeling, so I thought we would try a 2D game first.

I dunno though, I'm loving Unity so much...it makes 3D so easy that I may try to convince him to learn 3D modeling :).
Not to derail the Unity steam that's built up, but if you're looking for additional learning resources, the tutorials at www.riemers.net really helped me to grasp a lot of the 'programmable pipeline' concepts of the current DirectX and OpenGL libraries. He published a book that improves on the tutorials at his site, too (which is advertised on his site, of course).

Following those tutorials, and using a 3d fixed-angle camera (with billboards for the sprites) would let you write your intended game in XNA.

But Unity does have a lot of handy pre-built features that you would end up re-writing for yourself if you went with XNA, so weigh your options :)

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)

This topic is closed to new replies.

Advertisement