Jump to content
  • Advertisement
Sign in to follow this  
onfu

Starting C# - Graphics advice needed

This topic is 3867 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, The time has come around again where I feel like learning something new programming-wise. I currently develop Flash games and other bits and pieces in AS3 (although my use of proper design patterns and advanced OOP is fairly limited), so I'm fairly comfortable with general programming and basic to mid level OOP. The reason I want to get into C# is to gain better access to 3D game development, as I'm a 3D artist first and foremost. The thing is though - I don't want to get into advanced 3D programming. I don't want to get into building 3D engines, or optimization, or push the most polygons with the most insane shader features. what I want to do is just build games. Simple games (at least for a long time). I want to focus on ideas, game logic, A.I., and general gameplay mechanics, with as easy access as possible to a nice but fairly standard 3D API. I use Flash, and love it, because of the rapid prototyping and instant results. If I have an idea for a Flash game, I can immediately focus on the logic and mechanics of the game and then make it look graphically respectable without any extra (or VERY minimal) extra code. So what I want is a language and library/ies that will open up the potential to incorporate my 3D in proper real time, but allow me to very quickly have graphical elements that I can manipulate and get feedback from. I have absolutely ZERO concern for a lack of framerate optimization. I don't want to create Crysis 2. This will be early days for for me in terms of a low level language, so I'll be working on simple stuff. I don't want to know how to build good engines though, I just want one I can use with as little setup as possible so that I can design the games in my head. Any recommendations would be greatly appreciated, including another language besides C# if appropriate. I'm also working with Maya, and I know that the particular 3D software can be a factor in deciding which engines/libraries to get into. Thanks a lot.

Share this post


Link to post
Share on other sites
Advertisement
It sounds like XNA coupled with Visual Studio Express would be a perfect choice for you. XNA is designed from the ground up to be a fast and beginner friendly library that allows you to develop games with the least amount of hassle possible. Also, it will let you get games running on your XBox360 as well (if you own one).

There are a TON of resources, articles, and tutorials out there on XNA, as well as a thriving community, so you should have no trouble finding help with your projects.

Share this post


Link to post
Share on other sites
I completely overlooked XNA. Thanks.

I guess it's because I associate it so heavily with the 360 (and I don't own one).

I'll look into it.

Cheeers.

Share this post


Link to post
Share on other sites
As great as XNA is, i don't think you'll find it the solution as it isn't really close to a games engine. Sure it has a content pipeline and removes much of the effort from setting up the windows/3D, but it doesn't really have a whole lot else.

At least as far as I can tell, you'll still end up having to write your own skinned mesh/bonesplayer, spatial partition scheme, collision detection, etc. Which in itself can be great fun, but not if you really wanted to focus just on ideas, game logic, AI and game mechanics.

Having said that it shouldn't be too much more effort than Flash to create your own 2D sprite game (but taking advantage of the 3D acceleration) and it does open up potential to play around with pixel shaders and post screen effects.

Since you're coming from a Flash background i would have thought Adobe Director would be a good starting point. Granted its Shockwave 3D engine is way behind the times, often joked about being circa 1999, but it can still create impressive results with good assets. It also has much more built into it than XNA for example, but not quite everything (e.g it can deal with keyframe and bones animation, but doesn't have any native collision detection)

From my own research Garage Games are coming out with an xna/c# version of their torque X (currently 2D only I believe) for 3D soon, so that might be useful.

Share this post


Link to post
Share on other sites
Thanks, Noisecrime.

I think I'll still look into XNA, if a little more cautiously now. Collision detection isn't bothering me too much (a lot of what I want to make will have no need for any kind of true 3D vector calculation), but I don't really want to mess around that other with mesh/bones code. I'll try it out anyway.

It's funny you mention Director. I used to use Director a lot, and messed around with the 3D for a little while, but there are a few drawbacks there:

1. It's very expensive and offers me no real avenue to recoup the cost (as opposed to Flash, which payed for itself instantly with a few web contracts).

2. I'm pretty well finished with Lingo. After working with AS3 I don't think I have the patience to go back to Director's IDE and scripting language. I loved it way back in the day, and I definitely still have some distant fondness, but in terms of using it as a quick and easy tool, it would be too much a drag between such different sets of syntax and paradigms (correct me if they've made overhauls I'm not aware of).

3. Intel's 3D offering in shockwave is as you say, way behind the times. It still sticks me in a box that can't be broken out of, and it still has below-par runtime performance when compared with something that can be run through a real compiler (unless that's changed as well).

I like the sound of this Torque thing though. I've read up on Torque in the past and liked what I saw, so I'll have to dig around and check into that.

Thanks again.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!