Archive for the games Category

RPG Statistics

Posted in games with tags , , , , on August 4, 2008 by Tau

Perhaps the defining feature of any Role Playing Game is the representation of human characteristics as an integer value that can be increased, decreased and compared. Now the question arises for the construction of a new RPG, and one that hopefully won’t simply fall in line, is what attributes do we choose to represent, and how?

HP, MP, Str, Def, Exp all are classics that we choose to include for continuation’s sake, but what else? Compassion, Arrogance, Altruism might be included. And what if they weren’t stored as integers, but as vectors, or points within a multi-dimensional phase space; what if they weren’t incremented but subject to a matrix operator? Leveling up would be a thing of the past as your character’s future depended on far more complicated conditions. And now I rant….

Continue reading

Advertisements

If only I lived in Dark Angel world

Posted in games, story with tags , , , , on July 30, 2008 by Tau

I haven’t done any coding today (at least in Python) but I have been thinking about some of the game elements. Way back when I first wanted to do something like this, which was probably about 10 years ago, one of the things that struck me was the slum layout in FF7. I’ve also just finished watching the pilot episode of Dark Angel, and it’s brought back my fondness for post-apocalyptic slums. An idea I had was to imagine that an entire continent had been urbanised, mainly by slums, and then to translate this into a game. Instead of randomly generated dungeons, we have randomly generated villages, forming a much larger city. They wouldn’t form any part of the story (well, some would) but the rest would be for general exploration. Features, locations, items, even the origin of sub-quests could be written into the random generation. My intent isn’t to have the whole world map like this, just one of the cities.

Whilst I like HP based battle systems, I dislike grinding. I hate grinding. What I would like to see is a battle system that combines the traditional methods with one that requires the player, and not just the character, to improve in order to defeat more challenging opponents. This is all.

Next on the code objectives: Solid map objects & Map objects that move

What I’m Playing

Posted in code, games with tags , , , , on July 23, 2008 by Tau

I actually got this done late last night/this morning, but as I had to get up only a few hours later, I elected not to blog it. The dialogue classes have been integrated with the main loop and read in from a file, whose name is defined by an event, which is stored in a list of eventlists, which is compared to the current location of the character when they hit the action button (gasp). The dialogue prints what the NPC says, then your options which you chose with a keyboard entry, and so on. However, there are some bugs at present involved with returning to the main game loop, but I know how I’m going to fix that, which will also be how the conversation produces a gamekey (my initial idea on how the story progresses based on what you’ve done).

So dialogue.py consists of 3 classes: DialogueOption, ReadFile and Conversation. DialogueOption contains the out text of the NPC, your choices in response and the corresponding keys. ReadFile, well, reads the file, and for each occurance of “start” or whatever, has a new dialogueoption created from the following data, and fills it all into a conversation. Conversation has a list of all the dialogueoptions, plus a list of all the keys. So, you see the first line of NPC text, your options a, b, c. Then if you press b, the code looks for b’s key in the list of keys, and returns the corresponding DialogueOption and runs it. Repeat until fin. This way you can have an infinite number of options and an infinite number of exchanges, based on the speech that is simply written in a text file. It requires hardly more typing than the text to be printed on screen. That’s what I wanted.

I’m aware that this blog must be pretty dull for non-pygame users (and maybe even for them) what with the lack of images/story from the game. Alas, that is still in R&D in the dark corners of my mind, but I can talk about the games I’m playing to stoke the old creative fire.

So, currently, on the SNES: Chrono Trigger, on the GBA: FF6, DS:FF3, FF12, Animal Crossing (anyone wanna visit?) and on the Xbox360: Eternal Sonata and Oblivion. I’m planning to “acquire” the new FF4 and Tactics for the DS as well, if I can find the time. Can anyone suggest any other SNES or Xbox games to try? Or anything else? Oblivion isn’t the style I’m going for, but some friends of mine refused to sleep because of it, so I’m giving it a go.

Ok, just a little glimpse. The opening sequence is (will be?) part inspired by [voices of a distant star]…

Conversation

Posted in code, games with tags , , , on July 19, 2008 by Tau

So I think I’m about half way to writing a class to manage the on screen conversations in which the player gets to make decisions on what to say. It works fine with the in-code option selection, but they really shouldn’t be too far away from keyboard selection, I just haven’t written the class structure that will send that information to the conversation class yet. Of course, it prints in the terminal window rather than the game window, but I feel that shouldn’t be too difficult either. One thing that worries me is the amount of effort required to make up the SpeechOption and Conversation classes – more typing than the actual words being used. Unless I can see a way around this I predict many, many tedious hours ahead, once I finally know what my storyline is going to be.

On the point of actual game elements, I’ve just started to play “Eternal Sonata” on Tessa the Xbox360 (named after Teletha Testarossa from Full Metal Panic!) and I like the part free movement, part turn based battle system. This is the first Japanese RPG I’ve played on the new generation consoles, but I’m looking forward to researching the others. The battle system is maybe the most important part of the game that depends on coding – I think it’s really make or break