• Advertisement
Sign in to follow this  

Creating a 2d rpg

This topic is 4861 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

Hi everyone ! I'm starting a new project. I want to make a 2d rpg but I don't really know where to start, or what I need to start.. I mean .. I know i'll be programming my game in VC++ and I know I have to make a game engine but I don't know where to start making it ... I really need someone here to help me get throuh it (pretty pleae).

Share this post


Link to post
Share on other sites
Advertisement
How much do you know about making games? Made any till now?

GameTutorials.com
UltimateGameProgramming

We will be glad to hep you out, but you are the one who has to do the work. We can at the best give advice and links to resources.

Btw, you dont have to make an engine.An engine is a general piece of code that can be reused to make more games.If you are attempting your first game you can make your code specific to you game.

Now before you start you have to choose you grahics platform like OpenGL,DirectX, GDI or Mode13h.

Wait a sec.. tell us a bit about what you know /\

Share this post


Link to post
Share on other sites
draw a screen full of tiles

create a map, draw a screen full of tiles, and have the player move through the map with the screen scrolling

add collision detection to wall type tiles

add multiple maps to the game, that is you can move from one map to another smoothly

start building a map editor

put some sort of scripting system in the game using Lua or some such language

put in enemy's that you can fight and NPC's you can talk to (this included basic enemy AI and scriptable NPC conversations if possible)

put in collision detection for object->object colision, such as players colliding with bullets/magic spells/etc, and players colliding with enemies/npc's. the general collision detection engine.

your also going to have to figure out a way to sort your objects so that it appears halfway decent. that is, you stand above a character and you appear behind him.. you can walk behind a building and in front of a light post, etc...

also, a layered system would be very nice... so that the tile's / maps can have multiple layers, e.g, things can appear under the player, and above him..

you dont want to restrict yourself to tiles. put in a system where you can put in "free floating" objects... that is, objects which aren't tiles, but whole objects, whole images...

put in some sort of state oriented plot system that will change throughout the game and effect things dynamically such as character dialogue

oh, dont forget about user interface, or skills/stats/levels.

start adding game content, like items, character dialogue, etc. oh, and you cant forgot the "simple" thing like a plot, storyline, and character development. also you need magic (if its in your game), and all those other sorts of combat including hand to hand combat or ranged weapons, etc.. a particle engine could help here tremedously (thanks leavoia!!)

oh, oh, dont forget some decent enemy AI. try to make as much stuff scripted as possible.

should take you either around a year to do or a few days/weeks/months to give up [smile].... once you get to this point come back for more instruction [smile]. im currently around the 14th step in that list on my RPG.. its taken me 6 months, over 10k lines of code and over 65 files, but my game is an online RPG, so i have a crap load more to worry about, and networking is what im working on now, which should keep me busy for at least the next month or 2. however, i only just started working on networking, so 98% of this code is non-networking stuff.. good luck.

Share this post


Link to post
Share on other sites
Thanks for your answers...

But still, i'm lost..

I know a little about programming, I mean, i do understand but I don't know how to apply it. I'm trying to program in directx, c++ ... with Microsoft Visual C++ 6.0.. I have a book "Programming Role-Playing Games with DirectX" by Jim adams .. but I don't understand the flow of it ... I know I may not be the brightess Light out there (hehe) but I do have some programming skill when its well explained ...

The thing that would help me A LOT would be a sort of "Step-by-step" tutorial .. you know .. like ok lets start by programming our title screen ... ok next lets do our characters class ... etc etc ...

I'm really into game making, and if I would have the money, I'd hire a programmer to do the job (haha) but hey, I have to be able to do it .. I just have to

so please continue in your advice

thanks a lot for your support

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Slow down. Make pong, tetris, space invaders. When you understand them, you will be able to comprehend what has already been told. If this is your first game attempt, you will fail. Not trying to make you feel bad, just stating a fact. Get some experience under your belt before you jump in to something as complicated as a scrollable tile map RPG.

Share this post


Link to post
Share on other sites
I still want to see the 700 page book "Programming Tetris with C++".

Share this post


Link to post
Share on other sites
Quote:
Original post by MaxGame
Thanks for your answers...

But still, i'm lost..

I know a little about programming, I mean, i do understand but I don't know how to apply it. I'm trying to program in directx, c++ ... with Microsoft Visual C++ 6.0.. I have a book "Programming Role-Playing Games with DirectX" by Jim adams .. but I don't understand the flow of it ... I know I may not be the brightess Light out there (hehe) but I do have some programming skill when its well explained ...

The thing that would help me A LOT would be a sort of "Step-by-step" tutorial .. you know .. like ok lets start by programming our title screen ... ok next lets do our characters class ... etc etc ...

I'm really into game making, and if I would have the money, I'd hire a programmer to do the job (haha) but hey, I have to be able to do it .. I just have to

so please continue in your advice

thanks a lot for your support


if you need a step by step tutorial, then you aren't going to be able to do it. i'm not trying to be harsh, but there is no step by step tutorial on how to make a game. well, at least not a very complicated large scale game like an RPG.

you need to start (much) smaller. have you ever made a game before? start with pong. then make a slightly smaller game like pacman. you will find even a "simple" game like pacman is very complicated and will take a little while. once you have experiance making games, it will be much easier for you to make an RPG. but you must learn to crawl before you can walk, thats just how life is.

good luck.

Share this post


Link to post
Share on other sites
I agree with the above poster about not starting with an RPG (since this is the route that I took, and I've failed miserably and I'm having lots of problems). But, if you're still interested in making a 2D RPG, check out Sam's "Teach Yourself Game Programming With DirectX in 21 Days". Its a pretty nice book, although a little outdated (uses DirectX 8). It goes over using graphics and sounds, along with some simple 2D animations. It starts making a rpg engine on day 11, but I didn't seem to think it went too fast.

Share this post


Link to post
Share on other sites
I am a huge RPG fan, and love the old school 2D console games. I also love the 2D old-school CRPG's like Exile. (Where can I find this abandonware now?).

So as soon as I got my feet wet with "C++" (pre '98) I thought I would just jump right into making an RPG. However, I soon learned that I was in way over my head. There are many concepts that I didn't understand that were pre-reqs to making any game, much less an RPG.

There are too many books these days that promise too much for budding game developers, and many of them turn people away. I'm interested in the RPG book you mentioned, but only because I've disciplined myself to learning C++ first. I'm not saying that I know all of C++ because nobody ever does. You will be ready to make a game when you finally get the concept of whatever language you're using. Honestly, one day it just clicked. It was like a moment of clarity. My personal block was understanding that, when you program, all you're doing is essentially moving memory around. "C++ Demystified" does a great job of explaining this. It's small and not the most complete resource, but it's $20USD.

So it is a bummer to learn it'll take you a while to get where you want to be, but that's the test to becoming a strong programmer. It's just like physical strength in that it requires a lot of time, patience, and hard work that isn't always fun.

There is good news though, and this is what worked for me. Whenever you learn a programming concept, think of how it will apply to your game. Start practicing that way, even with console text output.

Instead of "Hello World", have your first program display "Welcome to the super 2D RPG!".

Instead of writing a "Guess-the-number" program, write a "Find-the-runestone" item.

When you learn math and operators, try to work out (in code) how a common turn based battle system will work.

It is important to understand how the framework of a game works, because if you dive right into graphics, you'll have a hard time understanding the difference between game-logic errors and graphic errors.

Just remember. Text RPG's are 2D, so you're not cheating yourself :)

Share this post


Link to post
Share on other sites
Quote:
Original post by Rhaal
I am a huge RPG fan, and love the old school 2D console games. I also love the 2D old-school CRPG's like Exile. (Where can I find this abandonware now?)


This site is packed with a ton of the old games. You may find what you are looking for here. Home of the Underdogs

To OT, no matter what, take your time to learn the concepts you work with. Don't just copy code, try to understand it. It will make your learning much easier as you go. Good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by Rhaal
I am a huge RPG fan, and love the old school 2D console games. I also love the 2D old-school CRPG's like Exile. (Where can I find this abandonware now?).


Now, who doesn't love old-school 2D RPGs? ;) When you mentioned exile did you ou mean this: clicky

Quote:

Just remember. Text RPG's are 2D, so you're not cheating yourself :)

I'm curious, what are "text RPGs"? Are they like Zork or something like Nethack and other rogue-likes?

Share this post


Link to post
Share on other sites
Quote:
Original post by tentoid
Now, who doesn't love old-school 2D RPGs? ;) When you mentioned exile did you ou mean this: clicky

I'm curious, what are "text RPGs"? Are they like Zork or something like Nethack and other rogue-likes?


You rock for the link! Rating++!

You are also correct on the games you mentioned. I should have said Text Adventure for clarity though. Speaking of which. Have you found a name for your RPG yet tentoid?

Share this post


Link to post
Share on other sites
Quote:
Original post by Rhaal
You are also correct on the games you mentioned. I should have said Text Adventure for clarity though. Speaking of which. Have you found a name for your RPG yet tentoid?


Not quite yet. I might release a "public beta" version of the game soon and by that time I hope that I have found a name. So still searching..

Share this post


Link to post
Share on other sites
If this is your first project, then just start hacking away at it. You will NOT get the perfect design on your first attempt. It just won't happen. Accept the fact that eventually your codebase will become a giant mess, and you will have to rewrite. Probably many times.

Good code design only comes with practice and experience. Each time you rewrite you will create a better and more flexible system. Just keep learning, applying new ideas, and enjoy the learning experience, because chances are, you will not complete your RPG on the first attempt...unless it's an extremely simple RPG. So try not to get burned out.

Realistically, I would not start with an RPG if I were you. You're just setting yourself up for a lot of frustration when you realize after 5k lines that you need to do a complete rewrite. I would start simple with Pong, Breakout, etc.

Share this post


Link to post
Share on other sites
I think Andre LaMothe's Tips and Tricks for the Windows Game Programming gurus could be a good start.

Or maybe you should get SDL, it's really easy to use and get started with.

/MindWipe

Share this post


Link to post
Share on other sites
Thank you all for your Help guys !

I really do appreciate it ;) If you have any other tips, I'd be glad to read about it.

For how long have you guys been programming ?

Share this post


Link to post
Share on other sites
Any other tips huh? Well, the only thing I can think if is that whenever you have to rewrite code, examine your old code very closely. See why the design didn't work and also try to see what parts of the design did work.

I've been programming for about 4-5 years now, and the only "real" (read graphical) game that I've made is Pang, a remake of pong with a twist. I started making a tetris style game but failed miserably, since I didn't think ahead very much (if at all).

Share this post


Link to post
Share on other sites
as said above... spend most time on planning.
after you have planned everything carefully your coding should be like building something from a construction manual.
i always had an idea like "i want to make a xxx (no pr0n, just xxx as a placeholder for a genre) game.". after the idea i had the immediate urge to code something. i fired up visual studio and began coding. after maybe 1 day i realized that something was missing... no problem, just put another function here, some other variables there... what? i need that variable in this function? just make it global in case i'll need them in other functions as well :) after a while you see more and more problems and you end up with a pile of code which even you dont understand (you can still remember beginning the project 2 days ago). finally i gave up because i didnt feel like writing it all over again.
now the thing i learned out of this experience (maybe one has to make this experience):
if you have an idea keep it in mind and play with it. take a deep breath and relax to repress the urge to code immediately (use head against wall method if breathing and relaxing fails). grab some paper and write down what you want to achieve (some kind of todo list). then think about what data structures you want to use. think about how your functions will interact. you will see that you'll encounter maaaany many problems in the planning phase. every error that you can avoid while planning saves you lots of headache, pain and worries.
i dont know how much you already know about programming because you didnt mention your experience but it can never be pointed out often enough because i still have problems to repress my coding urge when i have a new idea..
i hope this helps and i hope you dont feel tutored if you already knew all this.

good luck with your project
BiGF00T

PS: i think the first code i wrote was on my atari st (long time ago) but i had several times since then when i didnt code for months. so i still dont have the coding skills that some dedicated teens have. now i study software engineering and that way i can always say "i'm learning for university" when i code. helps my conscience a lot ;)
i made some games using turbo pascal (mode 13h)
but after this i paused for too long time and had to relearn many things that changed in the time between turbo pascal stoneage and today. currently i'm learning a bit opengl (after trying directx) and the next project will be dx again. from now on i'll never stop learning new stuff... its too hard to catch up after a while

Share this post


Link to post
Share on other sites
maybe im crazy, but i don't plan out a single line of code for my game. and for planning out game features, well i dont exactly do that too much either [smile]. i've been working on an online RPG for the past 6 months, and have been coding and adding things as i thought of them / wanted to implement them. my code is NOT a giant mess, the only globals are instances of my core classes, accessor functions are kept to a minimum... theres only some minor problems im having with data replication in inheritense tree's, but other then that, the core of my engine is pretty slick. im not trying to discourage you from planning out your game / code, but, for me it wasnt required. i simply dont have the attention span to plan out all my code and design [smile].

however, maybe because this isnt my first project i have a feel for the code. ive made a few games in the past (only simple games, like pong and pacman). after programming everyday for a certain amount of time, you start to "see" the code. it's hard to explain, but...

one thing i should note, when i want to add a new feature to the game, i don't just open up the IDE and start coding. i start out in notepad, and right out my ideas in english. then ill write some pseudo code, and then some actual C++ code. only when i have the complete design written down in notepad and everything is connected do i "drop it in" my engine. this has worked for me rather then planning everything out from the begining.

i also know of at least one other person who doesnt plan out their code. they have been very successfull in developing an adventure / RPG game over the past few years, and he plans on making a decent amount of money selling it shareware.

good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by graveyard filla
maybe im crazy, but i don't plan out a single line of code for my game. and for planning out game features, well i dont exactly do that too much either [smile]. i've been working on an online RPG for the past 6 months, and have been coding and adding things as i thought of them / wanted to implement them. my code is NOT a giant mess, the only globals are instances of my core classes, accessor functions are kept to a minimum... theres only some minor problems im having with data replication in inheritense tree's, but other then that, the core of my engine is pretty slick. im not trying to discourage you from planning out your game / code, but, for me it wasnt required. i simply dont have the attention span to plan out all my code and design [smile].

however, maybe because this isnt my first project i have a feel for the code. ive made a few games in the past (only simple games, like pong and pacman). after programming everyday for a certain amount of time, you start to "see" the code. it's hard to explain, but...

one thing i should note, when i want to add a new feature to the game, i don't just open up the IDE and start coding. i start out in notepad, and right out my ideas in english. then ill write some pseudo code, and then some actual C++ code. only when i have the complete design written down in notepad and everything is connected do i "drop it in" my engine. this has worked for me rather then planning everything out from the begining.

i also know of at least one other person who doesnt plan out their code. they have been very successfull in developing an adventure / RPG game over the past few years, and he plans on making a decent amount of money selling it shareware.

good luck.

well, that might be true... the example above was one of my first "bigger" projects with maybe 4k LOC. better to learn planning no simple stuff before you fail big time. i dont know how it is if you use classes and all that oop stuff. i'm currently catching up on that as well... it seems to make the code much more readable but i guess it cant replace good planning. normally i would say you dont have to plan a project < 2k LOC but its better to get used to it from the beginning.
maybe its just the subject of my studying that makes me think about planning... :|
edit: since you use notepad to write down your ideas you _have_ some kind of planning. maybe not as extensive as i suggested but the only thing it has to do is work. if you achieve good results with the planning you do then its no problem imo. i just wrote all those things to point out that you can eliminate possible error sources from the beginning when redesigning isnt as hard as in the middle of a project. i hate it when projects fail but i always aim too high and i realize this too late. since the time i plan my projects i see those difficulties in advance and can either avoid them or put the idea on the "todo when the time comes" stack.
edit2: and imagine if you work in a team. how do you explain your ideas to your teammates? if you just tell them "you do the collision detection" the results may not look as you thought they would. sure, you can explain everything in detail but by doing so you would also plan. i also know ppl who code without planning but they dont code as a team. as soon as you have to give instructions to someone you have to plan something in advance.
the planning can be minimal but it has to be planned... (just my opinion. ignore me if not planning works for you)

Share this post


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

  • Advertisement