Making basic games yourself with C++

Started by
24 comments, last by dimescion 10 years, 1 month ago

I have an Idea for an RPG style game played in a window (not the console window) without any graphics, but with easy labeled buttons a player can press to do actions such as attack, run, defense etc. anyone whose played an RPG maker game knows what I'm talking about, less graphics of course, pictures would be replaced with a written description of the enemy and/or your surroundings and you could move in eight directions by pressing north, south, southwest, etc. I want to know if, once I get a basic understanding of C++, (I.E. do the exercises in a typical book that teaches it, such as "beginning C++ through game programming 2nd edition") whether I could make a game like that.

There are more complex things such as spells, potions, and other things changing stats, leveling up, picking up, and equipping/using various items. some games incorporate various ways of increasing ones offensive power at the expensive of something like "armor" or vice versa, Altering the area (building houses and other structures.) How difficult would including these things be? Could someone with a fairly basic understanding do them, or would it take a very high level of skill? I know it would take a long time to make something like this, of course.

Advertisement

If you do not plan to use graphics, it is easy enough. You can focus on your game engine only, which will be relatively easy to code (things you enumerated are easy to do) if you know C++ and how to utilize OOP concepts. The only question here is how much of your time you can dedicate to think about architecture and do the actual coding.

The features are not complicated if you write the data structure of the feature on paper first and then implement said feature. And then do the same for the rest.

If you want to control how you want the buttons to look, you can just treat it as a sprite and have the button object draw an image of what it is suppose to represent(stick figure running for run, shield for block)

Thank you! I'm going to experiment more with my game and see where I want to take it.

Hi, once I made a game like this too. It was a d&d-like game with you managing your character (inventory, stats and so on) and a beautiful button "Go for Quest" (as well as "Shop", "Magic shop" and some others). The Quest was a random sequence of encounters, all displayed with text only. If you arrived to the end you found the treasure, but you could at any time decide to return back to the village.

It was fun to develop but, once done, pretty boring :(

So good luck with your project, but keep in mind the fun-factor for the player, not only the developer

A lot about programming is just taking the tools you learn and being creative. Learn and just become comfortable with the language then look into using an API(Application Programming Interface) to draw the graphics and handle input. 100% yes you can do it, just set your mind to it.

Thanks again! I have two other questions actually.

I'd like to create a random world generator. I'd like different races to have different sorts of areas (essentially biomes) where they live, and automatically generate basic RPG things like shops with race-specific items, quests, and NPCs, but still with certain human-designed NPCs to move the player along in the story. how difficult would this be?

I'd also like a random NPC generator to generate unique NPCs who have different responses based on their personality and how the player reacts to them. This would be done sort of via a system like Mass effect's where the player chooses the type of reaction he wants, not the reaction itself.

Are either of these possible? I don't if any of this will come to fruition. I figure I'll just keep expanding the game until I get tired of it. The possibilities are limitless.

Thanks again! I have two other questions actually.

I'd like to create a random world generator. I'd like different races to have different sorts of areas (essentially biomes) where they live, and automatically generate basic RPG things like shops with race-specific items, quests, and NPCs, but still with certain human-designed NPCs to move the player along in the story. how difficult would this be?

I'd also like a random NPC generator to generate unique NPCs who have different responses based on their personality and how the player reacts to them. This would be done sort of via a system like Mass effect's where the player chooses the type of reaction he wants, not the reaction itself.

Are either of these possible? I don't if any of this will come to fruition. I figure I'll just keep expanding the game until I get tired of it. The possibilities are limitless.

Sounds like you are getting ahead of yourself especially since you mentioned getting a basic understanding of C++. I do not know what are your experiences with other programming languages but if you do not experiences in other languages, I suggest you have a good understanding of the language before even worrying about graphics.

Nevertheless, I will give you some perspective. Random world generator at its most basic level uses arrays, tile sprites and for loop to draw them onto a graphics context which displays a map made up of tile sprites. Anything more really depends on whether you are representing a overworld map or a level of a platformer.

The last feature at its basic level is just boolean flags being turned on if a certain objective has been fulfilled and logic statements to verify the condition of the situation. By default, the boolean flag is turned off because any game assumes the player has not fulfilled the requirements of an interaction or a quest.

I recommend doing a console version of a text based game of your choice just to flex your programming skills for the game logic. If you want to learn object oriented programming, I would not recommend C++ as the first language. A lot of the object oriented concepts are quite bizarre unless you have experience with a language like Java. That is my opinion from my experience. I think Java is much easier to learn than C++ and if you know enough Java, eventually you can then learn graphics and the cool thing is a lot of the things in Java has a built-in graphics libraries among other libraries.

This is a big picture view of what I am saying with images.

http://www.gamedev.net/page/resources/_/technical/game-programming/the-guide-to-implementing-2d-platformers-r2936

Start with a "dumb" game like checkers or go fish and work up. Everyone wants to make a RPG game and probably die trying to finish one.

Thanks again! I have two other questions actually.

I'd like to create a random world generator. I'd like different races to have different sorts of areas (essentially biomes) where they live, and automatically generate basic RPG things like shops with race-specific items, quests, and NPCs, but still with certain human-designed NPCs to move the player along in the story. how difficult would this be?

I'd also like a random NPC generator to generate unique NPCs who have different responses based on their personality and how the player reacts to them. This would be done sort of via a system like Mass effect's where the player chooses the type of reaction he wants, not the reaction itself.

Are either of these possible? I don't if any of this will come to fruition. I figure I'll just keep expanding the game until I get tired of it. The possibilities are limitless.

Sounds like you are getting ahead of yourself especially since you mentioned getting a basic understanding of C++. I do not know what are your experiences with other programming languages but if you do not experiences in other languages, I suggest you have a good understanding of the language before even worrying about graphics.

Nevertheless, I will give you some perspective. Random world generator at its most basic level uses arrays, tile sprites and for loop to draw them onto a graphics context which displays a map made up of tile sprites. Anything more really depends on whether you are representing a overworld map or a level of a platformer.

The last feature at its basic level is just boolean flags being turned on if a certain objective has been fulfilled and logic statements to verify the condition of the situation. By default, the boolean flag is turned off because any game assumes the player has not fulfilled the requirements of an interaction or a quest.

I recommend doing a console version of a text based game of your choice just to flex your programming skills for the game logic. If you want to learn object oriented programming, I would not recommend C++ as the first language. A lot of the object oriented concepts are quite bizarre unless you have experience with a language like Java. That is my opinion from my experience. I think Java is much easier to learn than C++ and if you know enough Java, eventually you can then learn graphics and the cool thing is a lot of the things in Java has a built-in graphics libraries among other libraries.

This is a big picture view of what I am saying with images.

http://www.gamedev.net/page/resources/_/technical/game-programming/the-guide-to-implementing-2d-platformers-r2936

I guess I wasn't very clear... I want to do a textual RPG. No graphics involved, unless it's a very simple sort of map (just to keep the player from getting lost.) Everything is described in words not pictures. You wouldn't have to type instructions, you could just press buttons to do certain actions such as "go north" or "take" an item. I'd like to generate a random world but with mostly the same "stock" sort of areas and NPCs. For example virtually every forest area would have the same description unless there are monsters, other NPCs, or items in it, or it's a special quest area.

It's true I've never programmed before. Still, I'd rather learn c++ first just because it's more powerful. Even if I learn Java first I'll need to learn C++ if I ever want to get serious anyway. Also I like a challenge, I've always enjoyed complicated games like Europa Universalis III. I think I can handle starting out with a complicated language. I'm not saying this rpg will ever be well... anything. But regardless of whether I ever achieve something close to completion, it's still a great learning process. It'll be more interesting and fun than simply copying another game on the console window. Although I may do a basic game like that just to memorize what I learned in the first chapter of the book. I'm working on the second chapter now.

I envision a randomly generated world with "blocks" or areas that connect to the other blocks touching them in up to ten directions. The regular eight (north, south, southwest etc.) plus up and down. I forgot about up and down in my first post. I want to know how difficult it would be to program in region-specific areas such as i dunno, making it more likely to encounter something like dwarves around mountains. How hard would that be? How hard would my second question be? I know these will be more difficult depending on the amount of variations and such but will it be exponentially more difficult depending on the amount of variables and specific tasks involved? Maybe I am starting too fast, but at least I'll have fun crashing and burning ;)

This topic is closed to new replies.

Advertisement