I'm designing an RPG game (With graphics) in Python and pygame

Started by
32 comments, last by thebigbossman 12 years, 6 months ago
I'm doing a small RPG adventure game with pygame and Python. Development is very fast with pygame and Python so I have got the basic engine ready. However, it's still in very early stages.

I'm personally drawing each and every graphic used in the game and even the font is of my own creation :)

As such what is completed is:


1. Level (or room) display with multiple levels -- i.e. character can walk off the screen if there is a level to the top, left, bottom or right.
2. Movement of character
3. Some basic objects (health, gold, key, locked items etc.)
4. Inventory display and adding items to char's inventory
5. Displaying prompts and status messages.

Main feature:
1. Tile based movement.
2. Game is 48*48 tiles of 10*10 per level or room

Planned:

1. Interactive characters (NPCs)
2. Objects of different types
3. Magic / spells
4. Missions to be completed etc.

Screenshots:
[attachment=5645:butaba-screen-1.png]


[attachment=5646:butaba-screen-2.png]


[attachment=5647:butaba-screen-3.png]


Your feedback for more ideas on how to develop this type of game will be appreciated.
Advertisement
An important thing to get a story in a roleplay game is to have level specific modules that are saved together with a mission. Since Python is not compiled, there should be an easy way to do dynamic loading of the code.
Layers! A nice looking 2D rpg generally includes images at different layers to give a sense of depth and height without leaving 2D.

I'm not used to working with python, but things to look in to to accomplish this are the draw order in the program, collision detection and opacity.

Good luck :)
Morley

Aspiring programmer, modeler and game designer.
Awesome! Wow! You're on your way to accomplishing a long-term goal of mine: to make an old-school, console-style 2D RPG.

I don't really have any advice -- I'm way behind you in experience -- just wanted to give some well-deserved encouragement.

What is the game's genre, background story and goal? Normally, RPG's are medieval fantasy, but this appears to be contemporary fantasy.
A 30-year-old interested in learning to program by making an old-school, simple, text-only or 2D dungeon fantasy video game.

  • As of 9/28/2011, currently attempting to learn the basics of Python 2.7.
  • As of 10/14/11, Dabbling in C#.
  • As of 10/24/11, decisively surpassed my small knowledge of Python in C#.
Great to see an RPG with some cute GFX!

This reminds me of the oldies like the Ultima series, - although I used to be in the other camp, the ones involved with the Bard's Tale series. Turn-based combat rulez!
I can't give you any fine advice unfortunately, but encourage you to finish it someday, and keep us informed.
That was the time, the Golden Age, when C-64 and Amiga ruled!

An important thing to get a story in a roleplay game is to have level specific modules that are saved together with a mission. Since Python is not compiled, there should be an easy way to do dynamic loading of the code.


Thanks. Initially I have no story as of now. But I am doing the level design and level editor so that I can build the game much quicker. In fact, only yesterday I developed the level editor, which makes it much easier to design "rooms" visually rather than inputting the entire level as a list within the code.


Layers! A nice looking 2D rpg generally includes images at different layers to give a sense of depth and height without leaving 2D.

I'm not used to working with python, but things to look in to to accomplish this are the draw order in the program, collision detection and opacity.

Good luck :)


Thanks. As of now, I am using two layers: one background layer for the level background (loaded from a tileset) and a foreground layer which contains objects and characters from the level. The level objects are loaded from separate files, each file having a transparency region, blitting over the surface after the background is drawn.

The biggest issue for me is to create 3D looking objects. I am still practising pixel art, which is a unique artform in itself and I am beginning to have great respect for the pixel artists of old who worked in much smaller resolutions and with 256 or less colours. :)

In this game, since it's tile based, collision detection is simply a matter of "which tile is this object on?" code. Much simple, allowing me to focus on the actual game rules and gameplay.


Awesome! Wow! You're on your way to accomplishing a long-term goal of mine: to make an old-school, console-style 2D RPG.

I don't really have any advice -- I'm way behind you in experience -- just wanted to give some well-deserved encouragement.

What is the game's genre, background story and goal? Normally, RPG's are medieval fantasy, but this appears to be contemporary fantasy.


Thanks. I am not really experienced in game development though I have experience in programming in general, including C and C++ knowledge.

The genre background and story are not yet finalized but I have a vague idea where I'm going with this. I am yet to decide on the actual storyline. I decided that it's more important to get a working game model before I go too deep into that aspect. Too many times, I find myself having great ideas, but lack of implementation lets me down.The character design might also change a lot during the development of this game.

Since I do write also, I am sure I can get some ideas for this game. :)


Great to see an RPG with some cute GFX!

This reminds me of the oldies like the Ultima series, - although I used to be in the other camp, the ones involved with the Bard's Tale series. Turn-based combat rulez!
I can't give you any fine advice unfortunately, but encourage you to finish it someday, and keep us informed.


I am a big fan of Ultima series. In fact, some of my inspiration to write an RPG game is derived from Ultima series. Though I haven't played those games a big deal, I still love the design of those games.

I will share my creation process here for your kind feedback.

Once again, thanks so much. More screenshots will follow. :)
Here are some screenshots of the level editor after completion. A very simple but effective creation tool for quickly designing level backgrounds, fully keyboard driven.

Level editor main window (the viewport is 480x480 and the level fits perfectly within it, so multipage scrolling is not required. Current cursor location is marked by the white rectangle. Solid tiles are marked with "w" for "Wall". Typing "w" again on a solid tile makes it free for movement.
[attachment=5650:leveleditor-screen-1.png]

This is the tile picker within the level editor. Allows you to pick which tile to paint on the level editor - since the tileset image may be bigger than 480x480, I had to implement multiple page scrolling for larger tilesets.

[attachment=5651:leveleditor-screen-2.png]

[attachment=5652:leveleditor-screen-3.png]
Wow. I can't even imagine how you can do this.

Keep us updated!
A 30-year-old interested in learning to program by making an old-school, simple, text-only or 2D dungeon fantasy video game.

  • As of 9/28/2011, currently attempting to learn the basics of Python 2.7.
  • As of 10/14/11, Dabbling in C#.
  • As of 10/24/11, decisively surpassed my small knowledge of Python in C#.

Wow. I can't even imagine how you can do this.

Keep us updated!


I will. I am planning to release this as Open Source (the code, not the graphics, though) once I get enough features done.

Not all of it is "clean coding" but my main aim is to get things working quickly.

I am also planning to write about my techniques and design ideas, but only if I have the time to do so. Being a spare-time project, I need to keep finding motivation :)
It looks really nice with that classic feel. Let us know when you have any bit of it out to play it :D
Morley

Aspiring programmer, modeler and game designer.

This topic is closed to new replies.

Advertisement