Archive for story

Story Ideas

Posted in Characters, story with tags , , , , on February 21, 2009 by Tau

I’ve been keeping my thoughts on story and characters at the back of my mind for some time, reluctant to write anything down through fear of trivialising the ideas, and because coding is a risk free alternative, which is to say, I can see then and there whether or not my code works; creative attempts can be judged much more subjectively, and can lead to disappointment.

I’ve been thinking about the protagonist, who will, of course, undergo some journey without a defined end, and be forced through trials along the way. Such is the RPG I intended  to make. Why does he/she do all this? It can be Fate, which is an easy way out, or coincidence, that they have some relationship with the events unfolding.

I like the idea that our protagonist is as much like a regular person as can be within the context of the game. They simply get swept along, and are incapable, whether physical or through conscience, to back out.

It is my intention to set the game against the backdrop of a political war between two human nations, a religious war between factions of the main character’s race, and further smaller conflicts. The other playable characters won’t be constant – they will come and go as they follow their own stories, which may themselves be occasionally playable.

Yet, I don’t want to think out loud too much here..

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

The story so far

Posted in general with tags , , , , on July 17, 2008 by Tau

This is all about my attempt to fulfil a childhood dream and code an RPG from scratch. Weapon of choice is Python using the PyGame libraries, image manipulation in Gimp, modelling with Blender and all put together with the aid of Junpei, the Macbook.

“No Sanctuary Found” is the working title for what will be an RPG in the top/down style of the old classics, i.e Chrono Trigger and the early days of Final Fantasy. It has so far no real storyline, except for a few ideas milling around in my brain, but I’m pretty  sure the setting will be science-fantasy, verging on post-apocalyptic. So here we go…