View previous topic - View next topic |
Author |
Message |
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Wed Oct 27, 2004 9:10 pm Post subject: Another new project |
[quote] |
|
After taking a few months off from game development, I've decided to start another new project.
I've finished the scrolling engine I was working on for the old DC project, but there's still a few things that need to be worked out.
I still don't have a method for loading map files or objects. I'm thinking of using the scripting system to load objects, but I haven't decided on the scripting system yet, either. I'm likely going to use Lua for the scripting, though.
Anyway, I'll post what I have of my design doc later to give an idea of what I'm trying to do.
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Wed Oct 27, 2004 10:35 pm Post subject: |
[quote] |
|
Here's my design doc so far.
1. Overview
This project is a 2D, console-styled RPG.
The main feature of the game is a main character can take the form of many different
characters and use their abilities in battle. He can also use this ability on the map
as a form of disguise.
2. Story
A band of thieves passes through the small town of Dalinton carrying a device stolen from a faraway lab: a device that can change a person's identity. Unfortunately, they drop it somewhere in the area of the town.
The thieves return to the town and infiltrate the town hall. The leader forces the mayor of Dalinton to order a search of the forest bordering the town. He complies, and the police forces begin searching the forest.
A townsperson by the name of Mike hears of the forces scouring the forest for a mysterious treasure. Intrigued, he decides that he wants to find out what this treasure is. He gathers his friends, and they set out to find the device before the police force.
3. Characters
The characters in the initial stage of the game:
Mike. The main character. A curious, somewhat intelligent personality. Loves exploring. When he hears of the search for the lost device, he takes off to try and find it first.
Joe. Mike's friend. Very brash, rushes into things without thinking. He gets by with his physical strength. Quickly agrees to accompany Mike on his search.
Kate. Mike's other friend. A very outgoing girl, not particularly reserved. Kind and caring, but also very tough. Very intelligent. Reluctantly agrees to search for the lost device with Mike and Joe.
Captain Mark Taren. Leader of the Dalinton Police Force. Is searching for the lost device in the forest.
Tim Alton. Leader of the group of thieves that has infiltrated the town hall.
4. Settings
Initial settings:
Dalinton. Hometown of the main characters.
Stillin Forest. Forest that borders the town to the west.
5. Gameplay/Engine
A. Map
i. Map Engine
A traditional 2D, pixel*pixel tile scrolling engine.
The map loading mechanism should load a map and a tileset image into memory. Map data consists of bytes corresponding to a certain tile in the tileset. Map dimensions should also be present in the map data structure. Maps can contain multiple layers.
ii. Objects
Objects are the interactive items on the map, including the player's character.
An object manager exists to hold the objects on the currently loaded map. The Object Manager holds the objects, contains methods to find a particular object in the set, as well as methods to add and remove objects.
Objects must be associated with a sprite set. (See section 5.A.iii.)
Objects must all have a script associated with them. Scripts contain commands to govern the object's behavior on the map as well as commands to be executed when the object is interacted with. Behavior scripts are contantly being executed.
iii. Sprites
Sprites are used in the display of objects on the screen. Sprites consist of an image file and a frame data file, which contains the dimensions of each frame of animation.
A sprite manager exists to manage the sprite data in memory. The manager makes sure only one copy of each sprite set is loaded at a time, associates sprites with new objects, and deletes unused sprite sets from memory.
B. Characters
i. Party system
Party consists of up to 3 characters, always including the main character. A mechanism wil exist when more than 3 playable characters become available to customize the party.
ii. Stats
Each character will have these statistics:
HP - health. When this reaches zero, character is unusable unless revived.
Stamina - Needed to perform actions. Each action has a stamina cost. Recovers over time.
Strength - Physical attack power.
Defense - Physical defense power.
Intelligence - Non-physical attack power.
Toughness - Non-physical defense power.
Speed - Controls the time between actions.
Accuracy - Affects the probability of attacks hitting the target.
Evade - Affects the probability of avoiding enemy attacks.
iii. Abilities
Most abilities are only usable in battle. Healing abilities may be used outside of battle.
All abilities have a stamina cost.
Abilities are all handled through the scripting system.
Types:
Attack abilities
Healing abilities
Status-infliction
Support status
|
|
Back to top |
|
|
BadMrBox Bringer of Apocalypse
Joined: 26 Jun 2002 Posts: 1022 Location: Dark Forest's of Sweden
|
Posted: Thu Oct 28, 2004 2:39 pm Post subject: |
[quote] |
|
Eergh. To much text. Want screenshots. _________________
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Thu Oct 28, 2004 10:19 pm Post subject: |
[quote] |
|
Well, I really don't have much. All I have is a scrolling engine that uses stock images from my old Threads of Life project.
I still haven't gotten to the point that I can load a map from a file, and I'm still unsure on the format I'm going to be using.
Plus I still have to make some new art.
|
|
Back to top |
|
|
white_door Icemonkey
Joined: 30 May 2002 Posts: 243 Location: New Zealand
|
Posted: Thu Oct 28, 2004 11:17 pm Post subject: |
[quote] |
|
I'm not sure why, but whenever I read common place names used in an RPG I automatically assume the game is set in our world in the present day.
Is this the case with your game?
|
|
Back to top |
|
|
ThousandKnives Wandering Minstrel
Joined: 17 May 2003 Posts: 147 Location: Boston
|
Posted: Fri Oct 29, 2004 1:48 am Post subject: |
[quote] |
|
white_door wrote: | I'm not sure why, but whenever I read common place names used in an RPG I automatically assume the game is set in our world in the present day.
Is this the case with your game? |
'Dalinton' and 'Stillin' are "common" place names? Can't say I've ever come across any place known by either of those names- so I don't really follow, unless by "common" you mean "not involving absurd usage of apostraphes and/or an over-abundance of the letters Q, X, K, and Z". I would refer to that property as simply being "not retarded". Unfortunately, retarded place names are fairly common. So I wouldn't say that those place names are really common at all. I like a simple but unrecognizable name like Dalinton a lot better than some Kh'ghe'par or Qz'trill or Zhan'gfried or whatever nonsense- regardless of whether the game setting is contemporary or fantasy.
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Fri Oct 29, 2004 6:25 am Post subject: |
[quote] |
|
I'm guessing that's in reference to my character names rather than the settings. I do typically use common names for my first few characters.
Anyway, I did leave out that it is a modern setting.
|
|
Back to top |
|
|
Bjorn Demon Hunter
Joined: 29 May 2002 Posts: 1425 Location: Germany
|
Posted: Fri Oct 29, 2004 11:29 am Post subject: |
[quote] |
|
ThousandKnives wrote: | ... better than some Kh'ghe'par or Qz'trill or Zhan'gfried or whatever ... |
Woah! Care if I use those in my next game?
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Fri Oct 29, 2004 11:20 pm Post subject: |
[quote] |
|
I think I've almost figured out how to read Tiled's map files. I can read the XML file using libxml2, but I still don't know how to read the encoded layer data. How do I go about doing that?
|
|
Back to top |
|
|
Bjorn Demon Hunter
Joined: 29 May 2002 Posts: 1425 Location: Germany
|
Posted: Sat Oct 30, 2004 11:54 am Post subject: |
[quote] |
|
DanKirby wrote: | I think I've almost figured out how to read Tiled's map files. I can read the XML file using libxml2, but I still don't know how to read the encoded layer data. How do I go about doing that? |
Layer data can be stored in three ways.
The default is to make an array of 4 byte integers (global tile ids), gzip it, and base64 encode it. This creates a short non-binary string, a rather nice way of storing the data in XML, but a bit difficult to read because you need to incorporate gzip and base64 in your engine.
You can also chose not to use gzip encoding, but only base64. This could be a bit simpler but still requires extra effort and maps files will be big.
The last method is not to use binary encoding of the layer data. It creates the biggest map files but they're the easiest to read using libxml2. I'm using this method for the moment, until I get around to integrating gzip and base64, from which point on I plan also to write a small tutorial about how to do that yourself. To try it, untick "Use binary encoding" in the preferences. It will create an element for each tile that looks like <tile gid="X"/>.
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Sat Oct 30, 2004 10:09 pm Post subject: |
[quote] |
|
Well, I used the second method and hunted around on Google for a base64 decoding routine, and I got a map to load into my engine.
I might go for the gzip compression sometime in the future, but I think I'm all set for now.
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Mon Nov 01, 2004 11:36 pm Post subject: |
[quote] |
|
Inspired by my work with the map files, I came up with XML-based files to hold sprite frame data and object data. Now, I can load different sprites, maps and object sets.
When I get some new art made, I can finally post a screenshot of the engine. Unfortunately, I won't be able to switch between maps in-game until the scripting system is implemented.
|
|
Back to top |
|
|
DanKirby Monkey-Butler
Joined: 16 Jun 2004 Posts: 54
|
Posted: Sat Nov 06, 2004 11:42 pm Post subject: |
[quote] |
|
A few screenshots of my engine. I used some old sprites from Threads of Life for the characters here. The actual game will have a different guy as the main character.
I'm not sure if the size of the sprites (16x32) works well with the size of the tiles (32x32). I'm worried they're too small. Need some opinions.
Tile art isn't my best, I know. Especially that grass tile...it looks like a carpet...
|
|
Back to top |
|
|
ThousandKnives Wandering Minstrel
Joined: 17 May 2003 Posts: 147 Location: Boston
|
Posted: Sun Nov 07, 2004 12:58 am Post subject: |
[quote] |
|
As a general rule, if you want your characters to have a more "realistic" proportion you want to make them two tiles high instead of half a tile wide (32x64 instead of 16x32). If they are only going to be 1 tile high, they need to be squashy cute little buggers that are also 1 tile wide (32x32).
...but thats only a general rule. You can make what you have work if you design the tiles accordingly. I would like to see larger character graphics, although I realize (from personal experience) that when using such a high screen resolution, making things "big" can be very time consuming - especially when it comes to animations.
I do like the bright colors used in the tiles - but it makes the characters look awkward though since they are darker and not as pastel (I realize you said they were being re-used).
The only tile that really bugs me is that blue clapboard siding. The shading is way too "gradient" - it looks as though the building is made out of stacked pipes, and the light source appears to be coming from the ground.
You also need to work on making the grass and road loop better (the tile edges are extremely noticable).
Don't use JPEG format when showing off pixel art.
Edit:
I should say that I recommend AGAINST using a 640x480 resolution. I've used it in all of my games, but it absolutely kills me. Graphics production time seems to go up exponentially as resolution increases, especially with regard to animation. Don't make the same mistake I always do, go with something more agreeable like 320x240.
|
|
Back to top |
|
|
biggerUniverse Mage
Joined: 18 Nov 2003 Posts: 326 Location: A small, b/g planet in the unfashionable arm of the galaxy
|
Posted: Sun Nov 07, 2004 3:56 am Post subject: |
[quote] |
|
Was that map made in Tiled? _________________ We are on the outer reaches of someone else's universe.
|
|
Back to top |
|
|