Hello everyone,
I hope I'm in the right forum for this kind of topic.
I'd like to program a game which is like Fire Emblem, if you don't know it, it's a turnbased strategy game.
The problem is:
I have absolutely no clue how to do something like this, what do I have to learn to make something like that?
For example the field in Fire Emblem is parted in small pieces on which units can stand (or not, depending on the field). Also the turnbased part, how to move, the menu, levels, absolutely everything seems to be impossible to realize for me. I heard things like tilemaps and stuff but I don't really know what it is.
So I'd like to ask if you can tell me what I have to learn or if you could give a few tutorials to make something like this.
Also a book (english or german) would be good.
My programming experience is rather small, I know how to make consoleprograms in C# from school and I've started learning C++. Also I tried a few Forms Applications in C#, my biggest 'success' is a calculator for +, -, *, /.
I don't want to use an engine like the RPG Maker or something like that, because that just doesn't feels like I'm programming, it's rather just click and drag.
Programs like XNA and stuff would be ok, because there I'm still programming.
Kind Regards,
A Jeep.
PS: Sorry for my bad english, it's not my native language. x)
Something like Fire Emblem
Once you get C# or CPP down fairly well, start looking into programming with the DirectX or OpenGL API's. I don't know what RPG Maker is, but there are a lot of engines around. I don't know any that are specifically for turn based, but UDK and Unity are two big names. UDK uses UnrealScript, which is kind of like Java, and Unity uses I think either Java, C#, or a Python-derived language.
Although you should probably advance yourself a little more. A simple calculator really isn't that hard to make. Try making Tic-Tac-Toe or Nim or something, start dealing with AI and things like that. Or don't and just start working on the game and figure it out as you go, it doesn't really matter in the end.
3D Buzz has a decent set of video tutorials on C++ and a few games engines that will kind of help catch you up to where you want to be.
And tilemaps are just that - maps that you can tile (textures). You'll figure it out as you go, don't worry.
I don't know what Fire Emblem is; can you give a little more detail as to what you're trying to do? Is it 2D or 3D, is there multiplayer? The more information we have as to what it is you're looking to do, the better we can point you to what you need.
Although you should probably advance yourself a little more. A simple calculator really isn't that hard to make. Try making Tic-Tac-Toe or Nim or something, start dealing with AI and things like that. Or don't and just start working on the game and figure it out as you go, it doesn't really matter in the end.
3D Buzz has a decent set of video tutorials on C++ and a few games engines that will kind of help catch you up to where you want to be.
And tilemaps are just that - maps that you can tile (textures). You'll figure it out as you go, don't worry.
I don't know what Fire Emblem is; can you give a little more detail as to what you're trying to do? Is it 2D or 3D, is there multiplayer? The more information we have as to what it is you're looking to do, the better we can point you to what you need.
I don't know about the other stuff you suggested (I'm a beginner at games too), but for the map, you could use an array of arrays of ints, (int[][]), and each int represents a terrain type. Maybe look at a chess program, and see how they manage pieces and taking turns. And maybe it'll have a similar AI too, if you're lucky.
Varine: I'm not sure about the graphics themselves, I bet for some of the recent games the models are 3D, but the gameplay is 2D. Each turn, you move your characters on the playing field, which is split into square tiles. Characters have weapons, equipment, stats, and whatnot. Sorry if this is inaccurate, I've only played one of the games, and not for very long.
Varine: I'm not sure about the graphics themselves, I bet for some of the recent games the models are 3D, but the gameplay is 2D. Each turn, you move your characters on the playing field, which is split into square tiles. Characters have weapons, equipment, stats, and whatnot. Sorry if this is inaccurate, I've only played one of the games, and not for very long.
I think Fire Emblem is a little advanced to start with. However I wouldn't recommended starting with something like tetris or pong if those kind of games dont interest you. Had I started with a boring game like that I never would have continued as a programmer. Your first investigations should be exciting to you. I was into RPGs and started there, a simple real time tile-based game like zelda would be much easier to understand.
The sheer size of codebase for a turn based tactics game is massive and complex, no matter how simple your stat system etc is. Realtime is far more simple and does not need as much state management code. the hardest thing for me to do when I started was organize states and 'wait' for stuff to finish being doing something else, that is where you start needing solid well planned code design and organization. Realtime games however can be pretty hap-harzard and still work and be easy to understand the code. What i did as a beginner was print out the full source code to a tile based RPG engine and put it in the bathroom kind of like a magazine. I read it every day until I had a good idea of every part of the engine. (the code had plenty of comments in it)
Also, I agree that RPGMaker would teach you nothing about programming, it is not even an engine, it is a game used to make rpg games. I would find some working code of an RPG and start fooling around with it. (btw find one made by a kid, not by an industry professional. the industry professional guy's engine will just be him showing off all his lattest 'inversion of control' skills or over incapsilation or implimented 40 members of an Isortable interface or something lame and bloated like that. Being you dont know what all those concepts are yet, his engine will not be helpfull to you)
The sheer size of codebase for a turn based tactics game is massive and complex, no matter how simple your stat system etc is. Realtime is far more simple and does not need as much state management code. the hardest thing for me to do when I started was organize states and 'wait' for stuff to finish being doing something else, that is where you start needing solid well planned code design and organization. Realtime games however can be pretty hap-harzard and still work and be easy to understand the code. What i did as a beginner was print out the full source code to a tile based RPG engine and put it in the bathroom kind of like a magazine. I read it every day until I had a good idea of every part of the engine. (the code had plenty of comments in it)
Also, I agree that RPGMaker would teach you nothing about programming, it is not even an engine, it is a game used to make rpg games. I would find some working code of an RPG and start fooling around with it. (btw find one made by a kid, not by an industry professional. the industry professional guy's engine will just be him showing off all his lattest 'inversion of control' skills or over incapsilation or implimented 40 members of an Isortable interface or something lame and bloated like that. Being you dont know what all those concepts are yet, his engine will not be helpfull to you)
The problem is: I have absolutely no clue how to do something like this, what do I have to learn to make something like that?
My programming experience is rather small,
I don't want to use an engine like the RPG Maker or something like that, because that just doesn't feels like I'm programming, it's rather just click and drag.
Rather than "how do I learn to program a game," you need to think "how do I learn to program" first. Don't put the cart before the horse; carts are designed to be pulled, not pushed. Read this forum's FAQ (above).
I think Fire Emblem is a little advanced to start with. However I wouldn't recommended starting with something like tetris or pong if those kind of games dont interest you. Had I started with a boring game like that I never would have continued as a programmer. Your first investigations should be exciting to you. I was into RPGs and started there, a simple real time tile-based game like zelda would be much easier to understand.
The sheer size of codebase for a turn based tactics game is massive and complex, no matter how simple your stat system etc is. Realtime is far more simple and does not need as much state management code. the hardest thing for me to do when I started was organize states and 'wait' for stuff to finish being doing something else, that is where you start needing solid well planned code design and organization. Realtime games however can be pretty hap-harzard and still work and be easy to understand the code. What i did as a beginner was print out the full source code to a tile based RPG engine and put it in the bathroom kind of like a magazine. I read it every day until I had a good idea of every part of the engine. (the code had plenty of comments in it)
A turn-based game is A LOT easier than a real-time game! And an RPG is a lot more ambitious than a simple turn based tactics game. In a turn based game, the players do actions in an ordered way and the state is accordingly modified. A turn based game is also very similar to a textual interface based game, you can actually write a game like Fire Emblem (gameplay-wise) using a textual interface and ASCII art to get the current map state. I don't see how you may consider all of that hard and why do you think it's hard to organize the state of a turn based game. In real-time games you have several units which act at the same time and you have to handle collisions between "actions" (two entities which want to go to the same position or use the same resource for example). And what if an entity query the state of another entity, what state should you return? The old frame one or the new frame one? You should then probably handle collisions between entities (you casted a fireball and you want to know if it hit something) and make it work correctly. In my opinion there are a lot of things which are required in a real-time game and not in a turn-based game which make them a lot harder to implement correctly.
To the OP, I agree with Tom Sloper that you first have to learn how to program and then learn how to make a game. When you will be ready to go to the next step, I think XNA is a good starting library. It's very powerful and there is a very rich community behind it which can help you. It also let you use C#, which seem to be your language of choice.
carts are designed to be pulled, not pushed.
http://t2.ftcdn.net/jpg/00/06/13/51/400_F_6135169_aCGiuIIXTkr06Mx2yVujcoXzMYSqX4My.jpg
[size=2]Varine: I'm not sure about the graphics themselves, I bet for some of the recent games the models are 3D, but the gameplay is 2D. Each turn, you move your characters on the playing field, which is split into square tiles. Characters have weapons, equipment, stats, and whatnot. Sorry if this is inaccurate, I've only played one of the games, and not for very long.
[color=#1C2837][size=2]
[color=#1C2837][size=2]It's still designed in a 3D environment.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement