Preparing before i indulge myself into Game Development!

Started by
7 comments, last by Mouser9169 9 years, 11 months ago

Hello everyone, apologies for been my first thread! Normally i would create more thread or simply help other but in this case, i have No real knowledge when it comes to game programming. Now i do have a few questions that will benefit me for when i begin designing my game!

The language of my choice will be C++. I already know the basics of java very well as well as c# but i from constant reading and researching, i've been instructed to use c++ for game programming. Now i'm heading myself towards a desktop platform nothing else (maybe mobile in the future with libgdx on java "Android")! I'm currently learning c++ but i have a good grasp of basics since programming in general seems to be the same on most object oriented languages. By the way don't quote me on anything lol i might be wrong. My IDE of choice is Visual Studio Pro 2012.

I plan to create an RPG base game. I don't need it to be online, just a simple single player rpg game. I'm heading towards a 2D game base. So here are my questions:

1. Is c++ a language to use for creating my small RPG (small for now but will expand later)

2. What library can i use ? I'm looking for a simple 2D game

3. What books or reference should i read when looking into creating a game?

4. Looking for a Pixel Retro look

I've read that, i should first master the basics of set language, then learn the API of the library for the game. That will hopefully help me create a game, however, i'm not sure whether that method is actually an accurate way of learning to create simple 2D games.

Any question or doubt, please ask! I'm learning so i'd appreciate all the criticism and aid!

Hopefully once i understand Game Programming logic, i'll be able to assist new beginners.

PS: I dont care about graphics, audio etc. Since most of it will be use from 3rd parties. What i mean is, my game wont be for commercial use, it will be for personal and educational use. Personal since i'm a Hard Core RPG fan. However im very picky on the type of RPG i like! I like "Tales series RPG" & "FInal Fantasy RPG"! Every other RPG i dislike! I was planning of creating an RPG game of my choice that fits my likes and needs!

So yeah anything is appreciate and helpful! I'll periodically check back every 2 hours! Thanks

-Jonathan

Advertisement

It is not necessary to use C++ to write games, and it is more than possible to write games with C# or Java. If you already have experience in using those languages I would recommend using them for your early game projects over learning C++. For graphics I would recommend using SFML if you are going to use C++ or C#.

1. Just pick something you're comfortable with. If you already know C# I really don't see why you'd want to switch to C++

Yes, C++ is very close to the hardware. Well written programs in C++ tend to be faster than those made with another language. On the other hand, we are in an era where 4core 3ghz CPU are found in tablets, speed isn't really a concern, especially for a RPG made by a beginner. And it's also extremely hard to master, hard to debug and you'll have to dabble with memory management (which is a pain especially when you are coming from languages like java and c# that do everything for you).

2. I am no specialist but something straightforward like SDL or Box2D is what you're looking for. Maybe Game Maker if you can afford it. And, obviously, someone will suggest Unity, because they always do, no matter your experience level or the program you want to make. So that's also an option (a bad one in your case), I guess.

3. I have no tutorial for you in hand but the stickies (and google) are full of such things.

4. It's not relevant to the language / library used. Either you can draw this, either you need an artist to do that for you.

I've read that, i should first master the basics of set language, then learn the API of the library for the game. That will hopefully help me create a game, however, i'm not sure whether that method is actually an accurate way of learning to create simple 2D games.

http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976

1. Just pick something you're comfortable with. If you already know C# I really don't see why you'd want to switch to C++

Yes, C++ is very close to the hardware. Well written programs in C++ tend to be faster than those made with another language. On the other hand, we are in an era where 4core 3ghz CPU are found in tablets, speed isn't really a concern, especially for a RPG made by a beginner. And it's also extremely hard to master, hard to debug and you'll have to dabble with memory management (which is a pain especially when you are coming from languages like java and c# that do everything for you).

2. I am no specialist but something straightforward like SDL or Box2D is what you're looking for. Maybe Game Maker if you can afford it. And, obviously, someone will suggest Unity, because they always do, no matter your experience level or the program you want to make. So that's also an option (a bad one in your case), I guess.

3. I have no tutorial for you in hand but the stickies (and google) are full of such things.

4. It's not relevant to the language / library used. Either you can draw this, either you need an artist to do that for you.

I've read that, i should first master the basics of set language, then learn the API of the library for the game. That will hopefully help me create a game, however, i'm not sure whether that method is actually an accurate way of learning to create simple 2D games.

http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976

Thank you so much for the information! I think i'll

stick around with C++ for this game! If anything I'll just port the game over into C# & Java ! As for now

i'm enjoying C++ and hope to master the basics. I'm currently in my Electrical Engineering Major, I checked my curriculum and it seems like I need to learn C++/C (Low Level) as we'll as C#, pretty much all the C languages lol !

Now I've read about Unity! I like the fact that it's been updated constantly which means it has a good user base community which also means, that finding reference and help will be 3x better ! The other libraries seem outdated but then again I haven't checked myself!

Thank you you for the link !

Speed isn't a concern for me but obviously I will eventually have to focus some logic into it if I'm hoping to become an efficient game programmer !

Thank you

-Jonathan

Your choice is between SDL2 and SFML2... the first is more C-like and needs other libraries to build a full framework that can manage fonts, images that are not simple bmp, sounds. SFML2... well, someone say it can do your coffee, too :)

Now I've read about Unity! I like the fact that it's been updated constantly which means it has a good user base community which also means, that finding reference and help will be 3x better ! The other libraries seem outdated but then again I haven't checked myself!

Indeed, you should check. (and also sfml2 as said by arka80)

I still don't think you really need a cutting edge 3D engine to make a 2D retro RPG for fun, especially when the said engine is not really good at 2D.

Your choice is between SDL2 and SFML2... the first is more C-like and needs other libraries to build a full framework that can manage fonts, images that are not simple bmp, sounds. SFML2... well, someone say it can do your coffee, too smile.png

Now I've read about Unity! I like the fact that it's been updated constantly which means it has a good user base community which also means, that finding reference and help will be 3x better ! The other libraries seem outdated but then again I haven't checked myself!

Indeed, you should check. (and also sfml2 as said by arka80)

I still don't think you really need a cutting edge 3D engine to make a 2D retro RPG for fun, especially when the said engine is not really good at 2D.

Yeah i sat down for a little and looked at the API of SFML2 and looked at it overall. It seems friendly enough to help me create a c++ 2D RPG game.

I have one question that is off topic. Yes i will look into the library but for now i'll keep remastering the basics until i completetly understand everything. Fortunatetly now i know what library to use which saves me some time. Now for my off topic question. What is an engine? Is the engine the low level basics of what makes a game? All the support for audio, keyboard, graphics etc? Is it possible to create an engine with C++? Are all these libraries engines or is an engine different? Could you demonstrate or name a good (famous) engine for c++?

thanks \

-jonathan

Jonathan,

A game engine fundamentally is a framework for developing and implementing game source code. They vary in size, complexity, and capability. A game engine can be part of the total workflow pipeline or in some cases the whole pipeline and implementation libraries. The extremes are that some games are distributed with only the implementation libraries for the game to function plus the game coding, while at the opposite extreme some games ship with the whole game engine so modders and third-party game developers can work with the game engine and/ or extend (mod) the game. In the case of modding, there are art and also coding mods, so don't underestimate the value that such as community could have to you for understanding game structure in general or in developing your own game.

Ideally, the game developer should be able to clearly parse game engine source code from game source code that taps those libraries, though in reality there is almost always at least some blending on the borders of these two software systems ( game engine coding and game coding ). Game source code, likewise, is a framework but specifically the implementation aspects and the game-source-code-only types of tools. Obviously, the more modularized you are, then the better it is to extend coding and debug. Already published game engines typically are great for setting the framework that you need for particular types of games. No game engine is efficient at everything. Remember that almost always a game engine that was developed was done so for a particular game in the beginning. This is why you see game engines that attract certain genres of game developers mostly. This is a huge clue in your deciding on a game engine, because if you see many successful hobby and pro games in the genre that you want being made with a game engine, then that should get your attention.

Making a game engine yourself is doable but you need to spend a couple years making games first, then after you understand effective game source code structure it will lead to the possibility of your leading a team that makes a good game engine. Usually it takes a team years to develop an efficient game engine, let alone the years to create the typical complex and popular game.

it is not necessary to reinvent the wheel, unless you are fascinated with game engine development as a hobby. For a hobbyist, then do what makes your happiest, but if you ever want to go pro, then get into the habit of relentless pragmatism in your career.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer


I plan to create an RPG base game. I don't need it to be online, just a simple single player rpg game. I'm heading towards a 2D game base. So here are my questions:



1. Is c++ a language to use for creating my small RPG (small for now but will expand later)

2. What library can i use ? I'm looking for a simple 2D game

3. What books or reference should i read when looking into creating a game?

4. Looking for a Pixel Retro look

Check out existing 'game maker' toolkits and engines. Paticularly RPG Maker VX Ace, Game Maker, and Unity 2D. RPG Maker looks very simple, but there's enough there that you can create pretty much whatever you want - it uses Ruby for its scripting language, which you shouldn't have too much trouble learning if you know Java well, as its a very Object Oriented language. It's also an engine I know people have made commercially successful games with (see: Aveyond, Millenium Girl, and Laxius Force).

There's a LOT more to making an RPG than coding game mechanics. In fact, I'm finding coding to be what I spend the least amount of time doing. Writing the story, developing the characters, coming up with quests, detailing them into steps and finally distilling all of that down so it can be told almost entirely via dialog (with some journal entries) is easily my biggest task. World building, mapping, and level design would be number 2. I'm lucky in that I found a few artists willing to do some custom music and some art online I could license that fit the direction I wanted the game to go, so I didn't have to spend a fortune there or hours upon end creating all the art assets myself. If I was doing all my own music and artwork that would take another huge chunk of time, probably bumping level design down to number 3. And don't forget 'game balance' - playing through your game over and over again trying to make the numbers work out, then having other people do the same.

Then comes the game mechanics. I can spend a lot of lot of time in bursts coding, but once a mechanic is done, it's pretty much done. Then I go back to building the game until I find something else I need to create or change. So while you may find yourself doing a lot of coding in the beginning if you know how you want the mechanics of your game to play out, your focus will necessarily switch to story and other aspects of your game once that's been done. And none of that (story, art, music, lore) has anything to do with what programming language the game/game engine is built with.

"The multitudes see death as tragic. If this were true, so then would be birth"

- Pisha, Vampire the Maquerade: Bloodlines

This topic is closed to new replies.

Advertisement