• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Madsiur

Tile based RPG

9 posts in this topic

Hi,

I'm a second year programming student and I want to start coding a tile based RPG, having in mind Final Fantasy (prior to VII) as examples.

My first question is regarding which language would fit best my needs. I can code in C++, learned pointers and such and I also had one semester of C# and one of Java.

So which language would suit my project the most and has the best libraries for my needs ?


My second question is if anyone knows a good game programming manual (old or recent) or site that covers everything regarding 2D game developpement like how to manage sound, basic AI, tiles and other graphics ?

Thanks in advance
0

Share this post


Link to post
Share on other sites
Which language you use is entirely up to you. You seem like you're more comfortable with C++, so why do you want to switch?

I think [url="http://www.tonypa.pri.ee/tbw/start.html"]this[/url] site has some pretty good tips on tile-based game development. You can get started on a text-version of your tiles now and "upgrade" to graphics later when you know how to do so.

Other people will probably be able to give you better ideas than I can for audio, AI, and graphics libraries (or tutorials), but it can't hurt to look at things like OpenGL or DirectX to see if that's the kind of programming you want to do.

Another entirely viable option is to use [url="http://www.rpgmakerweb.com/"]RPGMaker[/url] (not sure which version is the latest). It's pretty simple to play around with and make simple RPGs, but can also be expanded to do (as far as I can tell) anything you want through its scripting language.

Hope this helps.
2

Share this post


Link to post
Share on other sites
If you are going to use c++ (which I would suggest if you are familiar with it) then there are three different libraries I would suggest for sound, input, etc.

SDL is my favorite and there is a lot of material online regarding this. SFML is a bit newer and there are not quite as many tutorials as for some other libraries. Allegro is another major library and is typically known for getting games up and running fairly quickly. I'm not going to go into detail as there are many posts about this on the forum.

My favorite library is SDL just since I've been using it for a long time, but that's just my opinion. If you decide to go with SDL then LazyFoo has the best tutorials for that over at [url="http://www.lazyfoo.net"]www.lazyfoo.net[/url].
1

Share this post


Link to post
Share on other sites
Just use plain C. Can't go wrong. You can draw on the experience you already have with C++ without having to worry about writing generic code, code generation, templates or classes and private and public stuff. More often than not, libraries that are out for C++ probably have vanilla C bindings (I know for sure SFML has this -- CSFML -- and SFML seems to be very good for writing games with).

In other words, try out plain C before trying to write a full game in C++. I feel like there's less obfuscation involved in C, and you can just get down to the meat of the code more easily than in C++. While C++ is by no means unreadable or unusable in my eyes, it feels... less so than C for projects that take advantage of the features C++ has to offer. Edited by darkhaven3
-1

Share this post


Link to post
Share on other sites
[quote name='darkhaven3' timestamp='1355822599' post='5011968']
Just use plain C. Can't go wrong. You can draw on the experience you already have with C++ without having to worry about writing generic code, code generation, templates or classes and private and public stuff. More often than not, libraries that are out for C++ probably have vanilla C bindings (I know for sure SFML has this -- CSFML -- and SFML seems to be very good for writing games with).

In other words, try out plain C before trying to write a full game in C++. I feel like there's less obfuscation involved in C, and you can just get down to the meat of the code more easily than in C++. While C++ is by no means unreadable or unusable in my eyes, it feels... less so than C for projects that take advantage of the features C++ has to offer.
[/quote]

He didn't mention having experience with plain C, so why would you suggest it? C implies a very different design style than C++, not to mention the fact that many constructs he's used to from C++ would not be available. From my point of view, he certainly could go wrong by making that choice. (I'm not saying that C is always the wrong choice, just that it could be the wrong choice for someone with no C-specific experience.)

Now, if you mean the OP should just go straight for the game code without worrying too much about writing reusable code, then I completely agree if it's his first project. But that can apply to any language, not just C++.
0

Share this post


Link to post
Share on other sites
I acknowledge that I'm getting way too pushy on this subject. Carry on. Edited by darkhaven3
2

Share this post


Link to post
Share on other sites
[quote name='darkhaven3' timestamp='1355822599' post='5011968']
Just use plain C. Can't go wrong. You can draw on the experience you already have with C++ without having to worry about writing generic code, code generation, templates or classes and private and public stuff.[/quote]
Yep, that's pretty much what I do when working on personal game projects. C++ is usually better for application programming (my map editor is C++) and when working with a team (data hiding, plus more flexible to design changes), but I just like the freedom and to-the-point code you end up with in C. C++ tends toward a certain style of very thorough object-orientedness, whereas in C you just use OO techniques where they work best, and procedural techniques elsewhere, and whatever else you can think of.

But it definitely is less flexible in terms of code reuse and major design overhauls, and is better if you have experience using C++ concepts. So probably stick with C++ for now.

Now if you really want to be awesome, code it in 65816 assembly (that's the SNES CPU) like the real FF4/5/6 [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]
I actually tried doing some SNES programming once, and the folks who made those games must have had truly legendary skill. ARM assembly (GBA and DS) is much more straightforward and powerful, and even that would be a major challenge for me to code a whole game in. And I even [i]like[/i] assembly programming.

Oh, and libraries... SDL is my fave. I just use it to get access to the frame buffer. I malloc an array to be my back buffer, and write all my own blitting code and such (it's fun and easy, if you don't go [i]too[/i] speed crazy), and then just copy that to SDL's actual displayed screen at the end of the frame. Software rendering low-res games like those is plenty fast on modern computers, and platform-independent, and easier for me than figuring out a bunch of library functions and then either having them strewn all throughout my game or having to code a wrapper for them.

SDL is also great for sound and input. Write a simple sound mixer for sound effects, ogg vorbis for music (SDL tells you how many samples you need, you tell a vorbis decoder library to decode that many samples, add those into your mix, and done). Input, all you need is a way to poll the controller every frame to see what buttons are pressed. Everything else is just logic based on if a button is currently pressed and whether it was pressed last frame.
0

Share this post


Link to post
Share on other sites
I'm working on a project like this myself. I'm a few months in and I'm writing most of it in C++. I use the Tiled Map Editor to load my maps, and I'm using the tinyXML2 library with my TMX loader to read the content. I display everything with OpenGL ES since this is for iOS.
0

Share this post


Link to post
Share on other sites
Btw, if you want some code examples, I can give you some stuff like a sprite library and TMX loader. You need OpenGL added to your project, but you shouldn't need to know those APIs to work with my code (it uses it in the background).
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0