-
|
|
|
Well, I'm just getting into XNA, and I want to start on a game, since I've seen what it can do. I've got experience with a coding language already, and I'm a pretty good pixel artist, but still, I would like help getting off my feet to begin making something that will fit my idea. Basically, I want to make a game in which the player moves around the map, sort of like an RPG, but I don't want turn based attacking, I'm looking for a more real time battle system. Basically, something like 'The Legend of Zelda', from all I've described. I do intend to make it 2D, so any help, whether it be how to make a map sort of thing, or the battle system, would be appreciated.
|
|
-
|
|
|
Where to start?
It depends on your current knowledge of the C# programming language (and .Net library) and knowledge of graphics programming concepts.
But the best place to start is to start simple.
Check out all the samples and tutorials on this site and other sites like Ziggyware.
You are asking help about making maps and a battle system without any specifics. Both of those things are big subjects and not easily answered in a single forum post.
If you can get some simple stuff working, like 2D sprites moving around the screen based on controller input, maybe a scrolling background, etc then you will start to see how some more sophisticated things like maps and battles systems may be done.
Game hobbyist hell-bent on coding a diabolical Matrix
|
|
-
-
- (0)
-
premium membership
-
Posts
101
|
|
Welcome! As for an answer to your question, it depends on how you learn. I learn best by doing, trying, practicing, hands on type stuff. Others by reading about it. It sounds to me like you want to give the hands on approach a try. What I would do, is get a piece of paper, and just write down your ideas. They don't to be incredibly detailed, nothing on the level of a GDD. But if you come back to them 6 months from now, you should be able to understand what you meant. Leave some space so that you can add to the list as well. Based on the game you described above, the workflow I suggest to you would be:
- Do the 2D beginning game tutorial, even if you've coded before, it will get you familiar with how everything works in XNA, unless you've already done XNA games.
- Creating a simple background, Thats larger than the viewport, essentially your game world. This can, and for starters, probably should be completely non-code based.
- Create a player sprite, maybe a 2 frame walking animation.
- Get the background, and the player on screen
- Get the player moving, and facing the direction he is moving
- Get the walking animation to work
- Get the viewport to stay centered around your character, and draw the correct parts of the map based on the players position
All of that should be plenty for you right now. If at any point you get stuck do some digging on MSDN, search the forums, and if you still cant find a solution, feel free to post on the forums, we're happy to help. I think my email should be on my profile, if you have any other questions specific to the above process shoot me an email, I'd be more than happy to help out. Hope this helps.
Good Luck!
-Merc
|
|
-
-
- (1374)
-
premium membership
-
Posts
1,111
|
|
I would start by consulting the FAQ and its keystone entry, Help! I'm new!
Making a game isn't all that different from doing development work for a website/business solution. Every project is a collection of smaller tasks and a project is considered finished when all of its sub-projects are finished. There are a wealth of tutorials and samples that teach you about how to complete little jobs like rendering a sprite or calculating physics, but you can't just bash code samples together and expect a game to come out. Start with a simple game like pong because that teaches you something the tutorials don't; you learn how to stitch all the game's components together.
|
|
-
|
|
|
You said you have experience with other languages. So you mean that C# is new for you? I was in the same boat and I found this site helpful in figuring out what the C# equivalents of the concepts I knew looked like.
http://www.csharp-station.com/Tutorial.aspx
Also, it's important to understand the difference between value types and reference types in C#. Best place to find out which types are which is in the C# help file and there are lots of interesting discussions to be found with the forum search engine. C# takes care of removing objects you create from memory so you don't have to worry so much about memory leaks. This beautiful feature is called garbage collection. But, depending on the number of objects and their size, it could decide to do this in the middle of a level introducing weird, flow breaking pauses in the game(the length and frequency of these pauses depending on the size and complexity of the objects being removed). I don't want to make it sounds like a bogeyman, because it certainly isn't. The triggers for GC(garbage collection) are well known and documented and there are many ways of dealing with it, the most basic one being aware that creating value types does not create garbage. You'll probably want to bookmark Shawn Hargreaves blog because he talks about this and many other useful topics.
http://blogs.msdn.com/shawnhar/
Also, sometimes people miss it, but at the top under Education>Getting Started are some video tutorials guiding you through some xna basics like graphics and input handling
|
|
-
|
|
|
crabby:Also, it's important to understand the difference between value types and reference types in C#. Best place to find out which types are which is in the C# help file
Alternatively, the quickest way is to press F12 on the type name in the IDE, then you don't have to wait for the Help system to load up. If the type is a class then it's a reference type, if it's a struct, it's a value type.
Game hobbyist hell-bent on coding a diabolical Matrix
|
|
|