Jump to content

  • Log In with Google      Sign In   
  • Create Account

Opinion on Getting Started w/ A 2d RPG


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 04:06 AM

Hey game devs, I wanted to ask advice for getting started with game development for a 2d rpg. Some background info

  • Yes I've heard that an rpg shouldn't be your first due to complexity (I'm fine with that. Still something I want to make)
  • I'm a software developer by trade so I have plenty of experience with various languages like C/C++. python, java, javascript, etc

Me and my friend have currently hit the point where we have all the things such as most of the mechanics bar damage calculations(which I'll get to later) done. We just need to start developing prototypes to test things out such as overworld/local map gen and walking a character through that map. I'm leaning more towards coding the game myself but there could be the option of using a kit like game maker etc. My questions are

  1. If we use a kit, what's a good one for beginners with 2d rpgs where once we start developing the game it's ours completely? Meaning we don't have to worry about someone saying "You developed it in our kit so we own a fraction of it" or for when we go commercial "We get a portion of the cut for using our kit"
  2. If we decide to code it ourselves, what's a good language to use? I'm leaning somewhat towards python due to finding a REALLY good engine called fabula that seemed like a dream come true for our needs as far as the look of the game goes(picture Zelda Oracle games on the GBA with pokemon movement style) but quickly found out it be more of a headache then need be due to no documentation of at least any I could find. If we go this route how necessary would a game engine be? I've read that a game engine encompasses things like graphics rendering and handling sound so I'm assuming pretty important. Are there any good freeware ones that you guys would recommend? If I'd have to pay for one the question there would be the ones from above about licensing.

 

Thanks in advanced for any help you guys can give on this.



Sponsor:

#2 GoCatGo   GDNet+   -  Reputation: 1637

Like
2Likes
Like

Posted 24 July 2014 - 09:39 AM


If we use a kit, what's a good one for beginners with 2d rpgs where once we start developing the game it's ours completely?

 

What, exactly, do you mean when you use "kit" above?  Do you mean a pre-existing game engine (Unity, RPGMaker, UE4, etc.) or do you mean some sort of modding support on a commercially released game?

 


If we decide to code it ourselves, what's a good language to use?

 

If "it" = "kit" & "kit" = game engine, don't code it yourself.  Make a paper prototype, work out your RPG system, then grab any tool in your price range (they go from free to very not free) and make a prototype.  Don't worry about needing to give the engine creator a portion of your sales since they will be zero.

 

After you make your digital prototype and proof of concept, then consider how to best create your full game.


Indie games are what indie movies were in the early 90s -- half-baked, poorly executed wastes of time that will quickly fall out of fashion.  Now go make Minecraft with wizards and watch the dozen or so remakes of Reservior Dogs.


#3 DvDmanDT   GDNet+   -  Reputation: 1004

Like
3Likes
Like

Posted 24 July 2014 - 09:48 AM

If you are creating a single player 2D RPG, then using an existing "engine" is not nearly as important as it would have been if it was 3D and/or multiplayer. If you find one that is a very close match to what you want, then by all means use it, but I wouldn't consider it critical in this case.

 

I would personally recommend going with C#/MonoGame, by starting out with some example code to get you up and running quickly.



#4 KnolanCross   Members   -  Reputation: 1369

Like
4Likes
Like

Posted 24 July 2014 - 10:22 AM

Well, I am not quite sure what you mean by kit, if you want a 2d game engine, there are many out there, some are paid and some aren't.

If you use a paid one, you will have to pay royalties and/or a license, depending on the licensing used. I wouldn't keep a close mind about paying, remember that time is money and you may learn that paid services are sometimes cheap considering all the time they will save you. Also, some engines such as unity3d (don't be decieved by the name, it has support for 2d now) have licenses that you only pay after your game earned a certain amount of money (which made it very popular in indy game development).

 

Still, if you are set in using a free engine I would suggest you take a look:

- ORX (C, C++) - full game engine, have support to animation, shaders, particles and many other cool effects. It has a medium learning curve, but I find it very good, as someone who tried many open game engines, I personally find this one the best for 2D.

- Pygame - pretty popular python game engine, it is a bit tricky on the drawing handling at first, but after you get the handle of things it is pretty good.

 

Also take a look at this list: http://stackoverflow.com/questions/17584717/2d-cross-platform-game-development-engines

 

On your second point, if you mean to code your engine from zero: DON'T. It will likely to take you hundreds of hours to get to the point of ready, free engines that I just listed above.


Edited by KnolanCross, 24 July 2014 - 10:23 AM.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).


#5 n3on.net   Members   -  Reputation: 108

Like
0Likes
Like

Posted 24 July 2014 - 12:45 PM

You said that you already know JavaScript, so maybe HTML5 game would be something for you? There are plenty of libraries like PhaserJS or CreateJS . Not directly for RGBs but still easy to learn.



#6 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 03:14 PM

Thanks for the suggestions guys. Gonna look into these suggestions more. I thought of doing python + pygames + fabula(pygame game engine) but as I mentioned earlier there is no documentation on it. C#, I'm not sure why, but for some reason I have no good memories of it...



#7 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 03:22 PM

Also I guess I'm just having a hard time wrapping my head around the concept of not using a game engine. From what I've read it seems to be a pretty vital part of the game. Am I not worrying about it due to it being handled by whatever language I'm using? I guess that would make sense as I can think of several ways to may a tilemap via a loop and <insert data structure>.



#8 tp9   Members   -  Reputation: 533

Like
2Likes
Like

Posted 24 July 2014 - 03:48 PM

Just one small clarification on Pygame. It's a framework that allows you to build stuff from the ground up. It doesn't have all the bells and whistles of a typical game engine like Unity or RPG Maker which allows you to drag and drop items into a world. You'll have to render every little detail explicitly, or use an existing framework or engine that someone else developed using the Pygame library. It's a great way to learn how to create games from scratch but won't allow you to create things out of the box. Judging from the OP's post I figure he/she knows that already but just thought I'd add that for future reference.



#9 DvDmanDT   GDNet+   -  Reputation: 1004

Like
4Likes
Like

Posted 24 July 2014 - 03:58 PM

Python is one of the better choices, especially for prototypes. My personal opinion is however that projects in dynamic languages (python, JavaScript, PHP, ..) are easier to write than to maintain, since you have less compiler support checking stuff for you. That's why I preferr C#, great tools and documentation support, popular etc. I'm not going to force it one you though. :)

 

The definition of what a game engine really is has never really been truly defined, but the general idea is that is the code that can be shared for a "type of game", to be complemented with the game-specific content for that game. If someone has already created a game similar to what you want, chances are you could take their code ("engine") and use it either as-is, just replacing maps, graphics etc with your own, or use it as a base to create your own spinoff-engine.

 

What an engine contains is highly individual. Some engines are very complete and can be used directly by just adding content while others are very low-level frameworks, just defining some overall structure and providing some helper code. In some cases you may want to use an existing rendering solution for example, that might be called a rendering engine, which may or may not be part of a bigger game engine. It's somewhat messy.

 

Anyway, I wouldn't be too concerned about using an existing engine in your particular situation, it seems perfectly fine to go with something like Xna/MonoGame or pygame if you can't find a nice fit.



#10 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 04:04 PM

Just one small clarification on Pygame. It's a framework that allows you to build stuff from the ground up. It doesn't have all the bells and whistles of a typical game engine like Unity or RPG Maker which allows you to drag and drop items into a world. You'll have to render every little detail explicitly, or use an existing framework or engine that someone else developed using the Pygame library. It's a great way to learn how to create games from scratch but won't allow you to create things out of the box. Judging from the OP's post I figure he/she knows that already but just thought I'd add that for future reference.

 

Right, I checked out a few games on the pygame site. I figure as far as doing a prototype goes, we shouldn't be too focused on how it looks. That attention should be given more towards the finer details like damage calculations and movement. One of the major selling points for using a game engine like unity would be that it'd have to be cross platform. This fact pretty much turned me away from RPG Maker since it seems to only support windows.



#11 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 04:08 PM

Python is one of the better choices, especially for prototypes. My personal opinion is however that projects in dynamic languages (python, JavaScript, PHP, ..) are easier to write than to maintain, since you have less compiler support checking stuff for you. That's why I preferr C#, great tools and documentation support, popular etc. I'm not going to force it one you though. smile.png

 

The definition of what a game engine really is has never really been truly defined, but the general idea is that is the code that can be shared for a "type of game", to be complemented with the game-specific content for that game. If someone has already created a game similar to what you want, chances are you could take their code ("engine") and use it either as-is, just replacing maps, graphics etc with your own, or use it as a base to create your own spinoff-engine.

 

What an engine contains is highly individual. Some engines are very complete and can be used directly by just adding content while others are very low-level frameworks, just defining some overall structure and providing some helper code. In some cases you may want to use an existing rendering solution for example, that might be called a rendering engine, which may or may not be part of a bigger game engine. It's somewhat messy.

 

Anyway, I wouldn't be too concerned about using an existing engine in your particular situation, it seems perfectly fine to go with something like Xna/MonoGame or pygame if you can't find a nice fit.

 

 True and thanks for the suggestion. I'm going to start taking a look at pygames for the time being. We've got a lot of details about how numbers work in the game down already it's just a matter of putting on screen. This being a first game for both of us means we should start small and ease into this. Between both our life responsibilities, pacing is going to need to be a very serious thing.



#12 KnolanCross   Members   -  Reputation: 1369

Like
3Likes
Like

Posted 24 July 2014 - 04:50 PM

I may be wrong, but it seems to me that maybe you are mixing the concept of game engine with the one of a scene editor.

 

A game engine will give you a set of ready code that will make it easier for you to code your game. For instance, it will give you a function like animationPause, which will pause the animation of an object. You don't have to worry about frame count or timers, it is all done for you. But you still have to code the creation of that animation yourself.

 

Some game engines offer a scene editor, where you can visually create a scene and what you see in that scene is what you get in the game. Some also allow you to attach scripts to the objects of the scene (that makes the game creation easier, but this feature tends to be the paid engines unsure.png).

 

On a final note, there is a pretty famous tile editor that some engines can import from, the name is tiled. You can find it here: http://www.mapeditor.org/
 


Edited by KnolanCross, 24 July 2014 - 04:52 PM.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).


#13 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 05:05 PM

I may be wrong, but it seems to me that maybe you are mixing the concept of game engine with the one of a scene editor.

 

A game engine will give you a set of ready code that will make it easier for you to code your game. For instance, it will give you a function like animationPause, which will pause the animation of an object. You don't have to worry about frame count or timers, it is all done for you. But you still have to code the creation of that animation yourself.

 

Some game engines offer a scene editor, where you can visually create a scene and what you see in that scene is what you get in the game. Some also allow you to attach scripts to the objects of the scene (that makes the game creation easier, but this feature tends to be the paid engines unsure.png).

 

On a final note, there is a pretty famous tile editor that some engines can import from, the name is tiled. You can find it here: http://www.mapeditor.org/
 

Thanks for that Cross, needed to take a good look at an tile editor. Also very much appreciate the clarification. I was under the impression that a game engine encompassed a bunch of other things(I wish I could remember the link I was reading from). Started playing around with pygame and a very simple application didn't take much to ge going. I'll do a bit more research on it.



#14 Kryzon   Prime Members   -  Reputation: 3314

Like
3Likes
Like

Posted 24 July 2014 - 05:43 PM

If you're looking to learn an easy new language, you can make your game with Lua and
Love2D: http://love2d.org

It's a game-oriented framework (generic functionality, can be used for several game genres) with which you can make your own game engine (specific logic for a specific genre, you only use parts of the framework that suit your game).
A 2D RPG is certainly a possibility with this.

#15 Fenrir190   Members   -  Reputation: 110

Like
0Likes
Like

Posted 24 July 2014 - 05:59 PM

If you're looking to learn an easy new language, you can make your game with Lua and
Love2D: http://love2d.org

It's a game-oriented framework (generic functionality, can be used for several game genres) with which you can make your own game engine (specific logic for a specific genre, you only use parts of the framework that suit your game).
A 2D RPG is certainly a possibility with this.

I took a look at Love but I didn't see Love2D I'll look into it.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS