• 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
thebigbossman

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

33 posts in this topic

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.
1

Share this post


Link to post
Share on other sites
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 :)
1

Share this post


Link to post
Share on other sites
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.
1

Share this post


Link to post
Share on other sites
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.
1

Share this post


Link to post
Share on other sites
[quote name='Dawoodoz' timestamp='1317490087' post='4868017']
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.
[/quote]

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.

[quote name='Morley' timestamp='1317501515' post='4868072']
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 :)
[/quote]

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.

[quote name='Sharpe' timestamp='1317508390' post='4868099']
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.
[/quote]

Thanks. I am not [b]really[/b] 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. :)

[quote name='elodman' timestamp='1317516128' post='4868121']
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.
[/quote]

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. :)
0

Share this post


Link to post
Share on other sites
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]
1

Share this post


Link to post
Share on other sites
[quote name='Sharpe' timestamp='1317532994' post='4868176']
Wow. I can't even imagine how you can do this.

Keep us updated!
[/quote]

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 :)
0

Share this post


Link to post
Share on other sites
It looks really nice with that classic feel. Let us know when you have any bit of it out to play it :D
1

Share this post


Link to post
Share on other sites
could you please tell me how you implemented the pop up interaction menu for the objects. I am trying to implement something similar and seem to be stuck
0

Share this post


Link to post
Share on other sites
[quote name='newbie_gamer' timestamp='1317575147' post='4868310']
could you please tell me how you implemented the pop up interaction menu for the objects. I am trying to implement something similar and seem to be stuck
[/quote]
It depends on what programming model you're using, but what I'm doing is putting the menu displaying routine in its own event loop and drawing the menu on screen over the rest of the game. I accept menu-related input and then exit the routine when it's done. The game redraws the window automatically when I quit the routine since I draw the whole screen every move (my game is step-by-step, no animations etc.so it's not that bad
)
0

Share this post


Link to post
Share on other sites
[quote name='Morley' timestamp='1317574342' post='4868305']
It looks really nice with that classic feel. Let us know when you have any bit of it out to play it :D
[/quote]

Thanks a lot. Once I implement NPC code am planning to place it in a public repository. Game will still be very incomplete, but at least you could play around with the game. Feedback will be much appreciated for continued development. [img]http://public.gamedev.net/public/style_emoticons/default/biggrin.gif[/img]
0

Share this post


Link to post
Share on other sites
Sure thing! Post it here and/or pm me and I'll gladly play with it and give you feed back. :D
0

Share this post


Link to post
Share on other sites
Here are updated screenshots of the game so far:

What I've implemented:

INGAME OBJECTS
1. Basic object interaction, picking up and using.
2. Chests - displaying the contents if unlocked, picking up items from chest etc.
3. Keys - unlocking chests with keys.
4. Money - adds gold to the player
5. Health potion - adds to player's health if not already max

NPC
1. Basic NPC code - displaying NPC in level
2. Conversation (not yet implemented -- still in progress)

[attachment=5668:butaba-screen-4.png]

[attachment=5669:butaba-screen-5.png]

[attachment=5670:butaba-screen-6.png]

[attachment=5671:butaba-screen-7.png]

[attachment=5672:butaba-screen-8.png]
1

Share this post


Link to post
Share on other sites
Man, that is freaking awesome!

It almost looks like an educational RPG or at least a very lighthearted one. True?

What image editor are you using? Gimp or PS?
0

Share this post


Link to post
Share on other sites
I am using GIMP as of now. It's not really very friendly as a fat bit editor which is more optimized for pixel and tile based graphics, which is what I really want. But there seems no fat bit editors in Linux.

I am using the zoom feature in GIMP at around 800% to 1000% to draw the smaller tiles.

The biggest problem with GIMP is that there seems no way to display "Tile boundaries". It is a pain to count pixels on screen.
0

Share this post


Link to post
Share on other sites
[quote name='vharishankar' timestamp='1317795097' post='4869265']
I am using GIMP as of now. It's not really very friendly as a fat bit editor which is more optimized for pixel and tile based graphics, which is what I really want. But there seems no fat bit editors in Linux.

I am using the zoom feature in GIMP at around 800% to 1000% to draw the smaller tiles.

The biggest problem with GIMP is that there seems no way to display "Tile boundaries". It is a pain to count pixels on screen.
[/quote]

Would it help if you set your grid (Image>Configure Grid then View>Show Grid) to your tile size?
2

Share this post


Link to post
Share on other sites
That helps a lot. Thanks.

I have used GIMP [b]so[/b] much, but I haven't even looked at grids till now. I am embarrassed by my own ignorance. :o
0

Share this post


Link to post
Share on other sites
The mouse finally helped the lion! :D

I do a fair amount of map making in GIMP for table-top RPG sessions. I set the grid and set View>Snap to Gird and draw a basic outline with the square select tool an fill.
0

Share this post


Link to post
Share on other sites
:lol: Don't embarrass me. I am not half as knowledgeable as you think I am. I am a learner, just like you.

Also, there is no specific genre yet. I am planning to write a story for this once I can get the character interaction to work (along with context-specific dialogues).

The biggest pain is writing the dialogue-interaction code.
0

Share this post


Link to post
Share on other sites
[quote name='vharishankar' timestamp='1317797151' post='4869285']The biggest pain is writing the dialogue-interaction code.[/quote]
Oh, I hear that! Every NPC in my RPG Maker RPGs had to have ridiculously complex dialog trees. I'm seriously OCD about that.

Thank the Lord my current game is a dungeon crawl. XD
0

Share this post


Link to post
Share on other sites
I've implemented basic conversation.

Please take a look at the uploaded video :lol:

[youtube]http://www.youtube.com/watch?v=f4n0KEUzYZc[/youtube]

Forgive the silly dialogue. It is just a test. Also the video is a bit blurry after uploading to youtube. :angry:
0

Share this post


Link to post
Share on other sites
I'm not trying to be your one-man fan club, but it must be really rewarding to see your game come together like that. :)

What are your tiles' dimensions?

Can you hold your directional button down to move, or do you press it each time to move from one tile to the next?

I'm excited to eventually follow in your footsteps and use pygame as well, though I'll want to make mine with [i]much[/i] simpler graphics.
0

Share this post


Link to post
Share on other sites
[quote name='Sharpe' timestamp='1317825925' post='4869423']
I'm not trying to be your one-man fan club, but it must be really rewarding to see your game come together like that. :)[/quote]

Yes, it is. I have a sense of achievement today because yesterday I was breaking my head over the conversation module.

[quote name='Sharpe' timestamp='1317825925' post='4869423']What are your tiles' dimensions?[/quote]

I use 48*48 on a 10*10 map. That is 480*480 for the game area and the rest for the info display and status.

[quote name='Sharpe' timestamp='1317825925' post='4869423']Can you hold your directional button down to move, or do you press it each time to move from one tile to the next?[/quote]
Holding it down doesn't work. You need to press the arrows for each movement. I might change that later though!

[quote name='Sharpe' timestamp='1317825925' post='4869423']
I'm excited to eventually follow in your footsteps and use pygame as well, though I'll want to make mine with [i]much[/i] simpler graphics.
[/quote]

The graphics really doesn't matter much once you get the game code. It can always be improved later. Actually if you are artistically inclined, it can be fun too to take a break from the coding and work on graphics.

I am planning also to make some music for this game (using Rosegarden). Implementing in-game music is trivial in SDL, so I'm leaving that until later. Basic sounds are also planned to make up for the lack of animations...
1

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