Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Lemunde

Pages: 1 ... 36 37 [38] 39 40 ... 62
556
Creative Projects / Re: Pixel Longcat! Longcat enters space!
« on: July 13, 2010, 02:46:17 pm »
Longcat in space?  This should be fun!


557
C# actually has an included GZip routine that uses a combination of Huffman and other compression methods.  Once I get closer to a release I'll look into implementing it but for now I need the save files in a visually readable format for debugging.  It shouldn't be too hard.  There's a code example in the documentation that should plug in nicely.

I started work on generating buildings.  I got a function that generates simple, rectangular buildings with a doorway.  I'm currently working out a concept for expanding it into more complex buildings with multiple rooms.  The idea is you start with a single, large room that acts as a hub and add more rooms around it. 

It gets more complicated as you try to make the extra rooms play nice with each other so you don't end up with some weird overlap.  I may need to make an extra function that goes through and cleans up any mess that gets left over.  Or I could make it where generation fails in case of an overlap.  This will take a bit of experimenting to get it working the way I want it.

Spoiler (click to show/hide)

558
Yeah, both Morrowind and Oblivion are pretty liberal with letting you leave items lying around.  Their save files are also pretty big but not as big as they could have been if data had to be saved on individual items beyond their position in the world.  I'm anticipating that other variables on items and creatures may change during the course of the game, so sticking to templates may not be feasible.  There's also the fact that data loading is a total pain in the ass to debug.  The fewer variables I have to save the better.  Saving and loading between maps cuts the required save data down to one creature, one inventory and a few miscellaneous variables for the world.

I very well could rework it to allow more stuff to be saved.  I have a few ideas on how I could make it work.  But I think saving between areas will work better for my goals.  And there's still nothing stopping me from adding a handful of special areas later where changes are persistent.

559
The save/load code is proving more tedious than difficult. There's a lot of variables that need to be dealt with individually. I had to make several functions to process saved data into something the game can read. Most of that is out of the way but I need to think about how I'm going to handle the save data as a whole.

Saving every individual creature, item and tile alteration would severely inflate the size of the save file, even for a single map. Currently I'm only saving creature information but that alone puts the save file at 200k. That's not too bad but I haven't even added items to non-player creatures yet.

There's several things I can do to lower the size of the save and all of them come with a catch.

First I can setup creatures and items to load all their information from a template. This would destroy any possibility of customized creatures and items and at the very least they require a position to be saved, plus stat changes for creatures. When a map is first generated this stuff gets all their information from a template anyway and modifies it. I could just save the data that gets modified but that is still a lot of data.

Second, I can let everything reset to it's original, randomly generated state when the game is loaded. This is obviously bad for several reasons. The player will have killed off a bunch of creatures in a dungeon and collected a bunch of loot, then load the game to find themselves surrounded by those same creatures and items.

The third option and the option I plan to use is a combination of the first two, except the player will only be allowed to save between maps. Much like in JRPGs where the player can only save on the world map. The catch is...well there's several.

Creatures and items will have reset every time the map is loaded. This can be good or bad depending on the player's tastes. To extend the replay value of a map I will set the majority of creatures and items to be randomized each time. For important creatures and items like non-hostile NPCs, bosses and special items, I will tag them as persistent. Persistent objects will not be randomized when a map is loaded but I will only have to save their dead/alive/picked up status. They will use the same seed the map uses to be generated. Other objects will use a random seed.

When all is said and done I should only have to save the player character's information and a few variables from each map.

I implied earlier that changes to map tiles may be a possibility. A handful of changes wouldn't be a problem but I also have to consider the possibility of the player tearing down every wall and tree he comes across. I may allow for some maps to be completely saved to the hard drive to let the player construct a home or something. That's going to be pretty far down on the list of added features so I'll cross that bridge when I come to it. For now expect any map changes to be discarded when it's loaded again.

560
Still getting a few issues out of the way with items and inventory. I knew items were going to be one of the hardest parts. Fortunately there shouldn't be much more left to do with them so I'll be moving on to more important stuff soon.

561
DF Adventure Mode Discussion / Re: Dev Log AWESOME Update
« on: July 09, 2010, 04:40:37 pm »
Awesome video games...do do doo dedoo dedoo...video games awesome...

Sorry, had to get that out of my system.

562
The durations seems pretty appropriate from testing.  Even though it takes an entire second to disappear it takes much less time to notice the alpha is dropping.  I was going to have item functions take up a round but that would get really tedious for the player.  But if I did have picking up an item take up an entire round this would be more of an issue.  Either way it's a matter of swapping out a number if I decide it's taking too long.

For previous projects I have made videos but I think I might have started making them too early in development.  So you end up seeing videos of the same game that look like two completely different games.  I guess there's nothing really wrong with that but all the same I'm going to wait a few more days before I upload a video.  But if you would like to see videos of some of my other projects there's a few videos on my youtube page.  http://www.youtube.com/profile?user=Lemunde

563
Still squaring a few things away with command menus. Creatures are now dropping corpses when they die, which is essentially an item clone of themselves with some graphical modifications. The portrait gets replaced by crossed bones. I considered using a skull and crossbones but I thought that might look ambiguous with skeletons and necromancers running around.

For a little graphics enhancement I created a new GameObject array for VanishingObjects. Whenever a Creature dies or an Item is picked up it creates a graphical clone with a 1 second lifespan. As the vanishing object approaches the end of it's lifespan it's alpha value decreases making the object more and more transparent until finally it disappears. It's a definite improvement over the harsh instant transition from Creature to corpse.

564
I got most of the command menu, inventory and item stuff in place.  If there's going to be any hard to find bugs it will be with those so I'm testing them extensively before I move on. 

As a stress test I added 10,000 potions to random positions on the map and didn't notice any slowdown.  So I pushed it up to 1,000,000.  Without placing any items this simply increased the time it takes to load the game significantly.  Normally the game loads nigh instantaneously.  Once the game loads it runs fine but makes the game use over a gig of system memory.  If I actually place that many items...well I'm sure it would load eventually.

The total number of items on the map should never reach 10,000.  To do that would require the maximum number of creatures to drop the maximum number of items in their inventory.  For gameplay reasons I don't plan on allowing creatures to drop more than a handful of items when they die.  Combined with items already randomly scattered on the map I estimate the most you'll ever see is around 2,000. 

Of course there's nothing to stop the player from dropping that many items and I'm sure some will try.  However it will start to look pretty ridiculous around the 100 mark when they start dumping items all on one tile.

I still have a few things to sort out with commands and inventory then I'm going to start laying the groundwork for save functionality.

565
Yeah, the goblin tokens did look a little dark so I went ahead and brightened them up.  I thought about doing a different color outline for the tokens but it seems that won't be necessary.  As long as I keep objects such as creatures bright and map tiles relatively dark it shouldn't be an issue.  But I may still go back and make two color options for tokens, just for variety.

566
I decided it would be a good idea to go ahead and make a blog page.  Despite the manner in which it was suggested, a blog will be a reliable way to backup the posts I make here and it's much more organized.  So if you want to browse through the lore or look at screenshots there's sections for those.  I still plan on maintaining this thread and most of my posts there will be directly copy/pasted from here.  You can visit the blog at http://dathida.blogspot.com/.  I'll update the OP with the link.

I took a break from commands and started changing some of the graphics around.  I spent a good deal of time last night experimenting with different ways to draw Creature graphics.  A full body, colored creature takes a lot of time to draw and can look awkward without animations.  ASCII might be good enough for some people but it doesn't really portray what a Creature is very well.  So I decided to shoot for something in the middle and I'm not sure how popular this idea is going to be.

Creatures are now represented in game as tokens.  They basically look like coins with a simple drawing of the Creature's head in the middle.  The Creature's image is overlaid on the token at runtime.  So for instance I can have a goblin head portrayed on a rough looking, white token to represent a goblin skeleton.  In my opinion it looks a lot better than ASCII but is a far cry from being realistic.  But at a glance the player should be thinking "Yep, that's a goblin alright".  Here's a screenshot of the token in action:

Spoiler (click to show/hide)

567
DF General Discussion / Re: Pathfinding question
« on: July 06, 2010, 02:28:29 pm »
In situations like this there is always a default option, even if the programmer didn't mean to make one.  If the last path checked has the same length as the shortest path, it will either choose the last one or the shortest one, depending on the way the paths are compared.  It's always one or the other, never both.  Of course a clever programmer might choose to make it choose between the paths randomly but there really isn't much point.

568
Yeah, the H is definitely a placeholder.  I can make the character anything I want and I'll probably give the player that option as well.  And yes, I am making my own art which is part of the reason I'm using ASCII characters in the first place.  Map tile graphics and miscellaneous objects are actually pretty easy for me to make but when it comes to characters, well, it just takes a lot longer.  If I can come up with a character art style that is quick and easy to make I'll probably swap out the ASCII for artwork.

I'm using the same wall design concept that is used in Dwarf Fortress.  It lets the walls connect to each other smoothly but not as much as you see in other games.  This is to keep the number of tiles I need to draw low.  The brown color does make it look a little odd and I've been meaning to get around to changing it.  Those tiles are more for constructions than rock anyway so I'll probably be changing the graphics around.

I got a basic inventory screen up and running and it's listing the player's inventory correctly but before I continue any further with items I'm going to have to start work on the command menu.  There's three basic commands I want to get up and running for items: Use Item, Equip Item and Drop Item.  I'm toying with the idea of being able to equip any item in the weapon hand.  It might be amusing to bust a Health Potion over a goblin's head and watch his health increase.  Usable items would be destroyed during the process but if you wield a stack of items(Health Potion x 10) only one would be destroyed.

I still have a lot of stuff to sort out with inventory, commands and items so it might be a while before I decide if this concept is feasible.

569
DF Adventure Mode Discussion / Re: Dev Log AWESOME Update
« on: July 06, 2010, 12:12:38 am »
I'm guessing it might be a couple more days, based on the latest update.  Rebalancing the weapon damage isn't going to be easy and will need a lot of testing.  Still I'm really looking forward to the adventure mode enhancements.  Even minor additions are a welcome change of pace from being neglected for so long.

570
I updated the OP with some lore and finally decided on a name for the game; Dathida's Legacy.  As you'll read in the lore, Dathida is the god of chaos and disarray.  I thought it fitting that a god of chaos should be the creator of a world with so many random elements.  But don't worry, it won't be that chaotic.

On the programming side I set up a system for drawing text to get ready for adding items and commands.  I want to add a window that shows a list of commands that the player can choose from and apply using a combination of an action key plus the direction keys.  So if the player wants to attack a Creature to the east they just select an attack command then press the action key and numpad 6.  Ranged attacks will have to work differently but I'll cross that bridge when I come to it.

Here's the latest screenshot.  Mostly just graphical changes but you can also see the LoS and text at work. 
Spoiler (click to show/hide)

You won't see the text over characters like that the whole time.  You have to hold down a key to see it.  The numbers represent the Creature's current health.  Later I'll add text that shows the class so you'll see stuff like "Shaman" under "Goblin".

Pages: 1 ... 36 37 [38] 39 40 ... 62