Sign in to follow this  
samwhelan

text based RPG with a GUI in a week

Recommended Posts

samwhelan    100
Inspired by Hackenslash and the 'game in a week' idea;
I'm going to make a text based adventure game in C++ and I'm hoping to give it a simple GUI with a text input and output, a map and the current player stats.

So here comes the question:

Would it be possible to write the whole game first and then design the UI around the game?
Or would I need to write the game with the UI library in mind?

I'm going to use an OPENGL toolkit like GLUI or FreeGLUT.
I'll be documenting my progress much like the original article and posting it on my blog.

Share this post


Link to post
Share on other sites
JoeCooper    350
You seem a little unsure about how the graphics would be done. I say that because you're pondering about using GLUT, you're posting in the "For Beginners" forum and I'm also guessing by the nature of your question...

Now, doing what you're doing is A-OK but if my assumptions above are correct, schedule a month for it.

That said, the answer is "yes" if there's some decent separation between the game model and the user interface, whatever it may be.

But be aware that what you show in your GUI could have implications for your game design.

If, for example, it is designed with an assumption that you can only see in your current location, and your modifications add a big map, that might alter the experience. I don't know what your ultimate goal is but you should ask yourself whether or not such things matter to you.

You may also find yourself refactoring your code - redoing class interfaces and the like - as assumptions you make when designing program X may break when you try to contort it into being program Y.

Also, if you haven't done this sort of thing before, learning how to actually implement a GUI in OpenGL, and learn the keyboard handling APIs, and learn to display text and handle input could easily fill a week or more by itself.

So could more basic things like managing textures, graphics, etc.

This is what my friend calls a "five minute job".

If you used an off-the-shelf kit like Unity and a more RAD appropriate language like C# or Java, you might could do this in a week. But I get the impression you want to practice your C++ and get familiar with OpenGL, which is perfectly reasonable.

You might also consider narrowing your focus by doing a text only adventure in a week.

One last piece of advice. Find a friend who can draw who might want to join with you. Someone who is also interested in making games. It is good to learn about how to manage a project and work with other people.

Other than that, go nuts!

If you run into trouble do three things in this order: 1. try your best, 2. ask Google, 3. ask here ;)

Share this post


Link to post
Share on other sites
samwhelan    100
Thanks for the reply, it was really helpful.
I admit I'm unsure about the GUI and you're right about me practising C++ and wanting to learn OpenGL.

I'd still like to stick with the week deadline though,
if I end up with just a simple text RPG I'll be more than happy.
I just wanted to add a simple GUI if I had time
(just a map and possibly the current player stats - health bars at a push),
but it may be a better idea just to focus on the gameplay.
I'll still probably design a map anyway and give co-ordinates in the game to show current location.

I'm starting 'the challenge' in 2 weeks so I've got some time to research the libraries I might use.

I'm actually quite good at drawing and digital art in particular,
(the link to my dA gallery is in my signature)
but I know that's not the point you were trying to make.
I think I'll do this first project on my own just to test my capabilities,
then try and find some other people with similar interests;
at least then I'll have something to show them.

I definitely know what you mean by a 'five minute job'

Share this post


Link to post
Share on other sites
JoeCooper    350
Ah, so you can draw. I didn't look at the sig before. Nice House.

SDL is a very easy to use game library that is suitable for your application. While the latest stable version (1.2) is a bit long in the tooth, it shows its age in ways not relevant to your project. It offers easy access to keyboard, mouse, window management and sound facilities. Recommended fixin's; SDL_Mixer, SDL_Image, SDL_TTF.

This jives well with OpenGL; SDL_Image can be used to load image data in various formats. It's quick and easy to load an image into an SDL_Surface struct and hand the pixel data off to OpenGL. It can open an OpenGL rendering context easily.

You might rather look at SGML, though.

Quote:
I think I'll do this first project on my own just to test my capabilities, then try and find some other people with similar interests; at least then I'll have something to show them


That's what I did. It's going well.

Share this post


Link to post
Share on other sites
samwhelan    100
Thanks, I'm quite happy with it.

I've been looking at SDL, never heard of SFML
(if that's what you meant - SGML didn't turn up anything)
and that looks really interesting.
I'll definitely look into that, thanks, can't wait to get started :D.

Best of luck to you in the future, let me know how your projects turn out.

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