Showing posts with label tcod. Show all posts
Showing posts with label tcod. Show all posts

Monday, December 15, 2008

Test dialog

Feedback on portraits is pretty good. The poll is unquestionable... 38 / 0 in favor of realistic portraits...

I'll setup a little test to see if/how portraits can really improve the storytelling process.
Here is a dialog that I find pretty good. I didn't write it myself. See if one of you can find where it comes from... ;) I've hidden the character names so that it's not too easy...

I'll post the version with portraits within a few days...


Girl [close to tears] : I'm sorry. It was my fault. Why do I have to be treated like this ? Just because I'm a little different ? It's not fair... [sob] [hears a music box]
Boy [the music box in his hand. looks surprised]

Girl [sees the boy. frowns]
Boy : You like it ? Why else would you be staring ?
Girl : I thought... I just thought it was a pretty song. That's all.

Boy : Really ? [see the horns] Oh ! Are those going out of your head ? They look like horns !
Girl : I'm sure you think my horns are disgusting don't you ?

Boy : What ?
Girl : I'm sick of this. I'm sick of it all.

Boy : That's cool ! They're so cool ! No way, that's totally awesome ! I'm nearly jealous !

Girl : You're jealous ? You have no idea how much trouble these horns have caused to me.
Boy : Uh... I'm not sure what you mean, but I don't think I've ever seen anything that cool ! I'm not kidding. I think they're great.

Girl : Leave me alone. You're not funny.

Boy : Hey ! What do you think, do you want to be friends ?
Girl : You must be joking

Boy : What ? Why is that ?
Girl : It's because I hate all of you.

Boy : You hate all of us ?... Hold on ! Listen ! My name is XXX. Same time tomorrow. I'll be waiting for you right here. Don't forget to come. I'll be here. I promise.

Thursday, December 11, 2008

First emotions

Eyebrow / eyes only.




WFT ???!!! A tourist in hawaian shirt ? In a cave ?








Ah man.. I don't remember... Did he say the blue pill or the red pill ?








Oh my god... This guy will never release his game...








Why would she call me a pervert in the first place ?? She's so un-cute...








I wish I never accepted this portrait job...

Saturday, December 06, 2008

Some clothes






At least, since I junked GTA4 10 minutes after I finished installing it, I had more time to work on tcod portraits... Here is the complete good happy family with clothes. Those versions are bigger than the in-game portraits. The guy still has those weird plastic hair. I'll improve it later.

Since it's rather difficult to find pictures of people in medieval clothes, I'm using several sources of inspiration. There are first a few on-line medieval clothes shops :
here and here

I'm also using a few very good comics with medieval settings :
Lanfeust of Troy
and François Bourgeon's awesome Companions of the dusk

It's very cool to take a little refreshing break, drawing a few new layers from time to time. The next steps are the emotion engine and more eyes/nose/mouth variations. I have first to figure out what set of eyebrows/eyes/mouth I need to represent the main emotions. I improved the engine so that it works directly with the full size layers (220x220). Once the final portrait has been created, the game uses a high quality supersampling technics to scale it down to the appropriate size (either 64x64 or 80x80). This feature has been recently added in libtcod svn version. It allows not only to work with the original pics without having to scale them by hand, but it makes it also possible to do a few new tricks, like randomly translating vertically the eyes / nose / mouth position just by a few pixels before the scaling operation to increase the portrait diversity. I'm also thinking about splitting the eyes into 3 layers : eyeball, iris+pupil, eyelid. This would allow to move the pupil inside the eye which would be great for the emotion engine.


Friday, December 05, 2008

Kids...



Hehe I'm getting good at this :)
This is definitely the right way to do it as I would never have been able to get such good graphics without a real picture as back-up. It took me less than one hour to do those ones. Now I'll have to provide all those people with some cool medieval clothes.

Thursday, December 04, 2008

First male portrait




This seems to work for males too (sorry no clothes yet. I could have put him a dress from the female portrait but I'm not sure he would have enjoyed...). He still lacks personality, but I try to create the template from the most archetypal model as possible.

Also see the improved female portrait. Doing the male made me realize that the female has a neck slightly too long... I'll fix that soon.

Wednesday, December 03, 2008

portrait v2




It seems I found a way to compensate for my poor artistic skills. Instead of trying to draw portraits from scratch, I tried to draw on top of real pictures. Results are encouraging. The problem is that they might be less legible than the big headed comic-like portraits... What you say ? (please try not to judge the girl attractiveness but what would be the best in the game!).

Sunday, November 23, 2008

Procedural skin/hair color and jewelry

The grayscale layers used in the portraits have some very convenient properties. For example, to randomize skin or hair color, I just have to multiply the corresponding layer by a float factor (between 0.5 and 1.5 for hair). I also added new layers to support jewelry.

Following Mingos advice, I changed the eyes so that they look less manga. The eye/mouth/eyebrows still have only one version.

Women, women, are there no men in Doryen ? Well, before I start another set of layers, I want to be sure that I have explored all the procedural possibilities.



Saturday, November 22, 2008

first real procedural portrait



Here is the first portrait actually created from independent elements (body / clothes / face / mouth / nose / eyes / eyebrows / hairs), and totally drawn from scratch. It took me two hours to reach this point. Making additional sets of eyes/hair/... should be much faster. I hope so, because there are loads of elements to draw, especially since I decided that portraits should also reflect the character's mood... That means that each set of mouth/eyes/eyebrows must be drawn for each mood supported by the engine.




Wednesday, November 19, 2008

Pixel level grayscale graphics

Ok, Jotaf's idea has just left the world of vapourware.
Here is the first shot of a greyscale bitmap dynamically mapped to unused ASCII codes and printed on the console.

Right now, the portrait is a placeholder shamelessly ripped from faceyourmanga.com. As you can see, it works pretty well and we could almost think it's actually colored, but it's displayed using the same color as the text next to it (a very dark brown) and the different colors are the result of different alpha values. Of course, this only works if you use a 32 bit font, as a 24 bit font has no alpha layer and could only produce monochrome bitmaps.

Of course, now I'll have a hard time trying to convince people that this is a text-mode game...

Yeah, I know... Doryen's dwellers have a strange way to say hello...

Now, the question is... Will I be able to do decent graphics for the procedural portraits system...

Thursday, November 06, 2008

Colored city

I finally allowed TCOD to use custom foreground colors. Now walls, roofs, doors go through the same shading pipeline as the ground color (background color of the console). I'm not yet really convinced by its new look, but for sure it's more... well, graphical...




Friday, October 10, 2008

Subcell resolution, antialiased font in action

Early concept of game introduction for TCOD... Does it still look like a text-based game ? Yet it is...



Sunday, September 28, 2008

Sub-cell resolution - a blessing or a curse

While not planned for the libtcod 1.4 release, there is already a working prototype of the sub-cell resolution module in TCOD. This might be a rather controversial module. With true colors and customizable bitmaps fonts, we might already wonder if libtcod still produce text-mode games. With this module, the question is even more justified. Of course from the technical point of view, we still only print fixed size characters from a set of 256. But from the gamer point of view, distinguishing between games using libtcod and full graphics games is more and more difficult. Of course using the sub-cell toolkit to do an actual graphical game would be stupid. It's only there to improve the game look to make it more appealing. Look at those early screenshots from TCOD (title screen and death screen).

Now look at the new version, using the sub-cell resolution. It looks like real graphics uh ? And yet it only uses 7 special characters (see this post). Zoom on the picture and you'll see that every console cell always contain only 2 colors (foreground/background). While being highly unoptimized, the sub-cell toolkit is already fast enough for fullscreen animation with the 80x50 TCOD console as you can see on the youtube video below. The question is... Is sub-cell resolution evil ? Maybe I'm pushing too far the visual limits and in the process, TCOD may definitely lose its mind as a text-mode game... Should I really add this in libtcod 1.5 ? I'm waiting for your comments / votes on this subject.


Wednesday, June 11, 2008

Work-in-progress crafters GUI

This is not the definitive version, but it gives a more concrete idea of how it will work.

On the first screen, you see on the left the list of items that the crafter can create. Items for which you don't have the necessary components are disabled. The right side show the part of your inventory relevant to the current item. As you can see, each item has a list of mandatory components and some optional ones.


After selecting an item with ENTER, you can choose which components you want to use. Each time you add a new component, the properties of the resulting item are updated.



Friday, June 06, 2008

Two new articles + TCOD crafting

Ok, they are not really new. I just recycled two blog posts and converted them to permanent articles on the doryen main site. I think they're interresting enough to deserve a place here !

Dungeon morphing :

http://jice.nospam.googlepages.com/dungeonmorphing

Dynamic map :

http://jice.nospam.googlepages.com/dynamicmap

Also, some new stuff from TCOD. I've just implemented the first crafter. Crafters are NPC you can find in towns and they build stuff for you. You bring the raw material and for a few gold pieces they create useful objects. There will be different ways to get raw material. For now, you can get hides on some creatures corpses. The first implemented crafter is the tanner. This guy create leather and hide armors.

The tanner has a list of items he can create. Now what is interresting is that the properties of an item (leather boots for example) are not static. They depend on the type of material you provide. Leather boots require 5 pieces of leather. Leather pieces have different properties depending on the creature they come from. Some give good armor bonus, some have a better durability, etc ... This is interresting because you can get items perfectly adapted to your needs, provided you find the necessary materials.

Finally, raw material is not a special hardcoded type of item. It uses the item feature system (see this) and only adds a few features. Thus, 'raw material' is not really appropriate since any item in the game could be used in the crafting process. This could be used for example to reproduce the potion system used in The Witcher, where you create different potions, and some potions can be used as ingredients for more powerful potions.

Tuesday, May 06, 2008

TCOD dynamic map video !

Ok, this is not new, but I couldn't resist showing the real time thing. Here is the real time scaling feature of the world map in the Chronicles of Doryen.
You can get the high definition version here :
http://jice.nospam.googlepages.com/tcod_dynmap.avi
or simply watch it on youtube, and remember... it's only ASCII :D



Sunday, March 16, 2008

The Doryen forums are open !

Even if it may be redundant with the blog comments and the libtcod online documentation comments, I quickly set up forums for the Doryen projects. There will probably be very few posts at the beginning, but in case the developers using libtcod need somewhere to exchange ideas, it now exists !

The Doryen library forums :
http://roguecentral.free.fr/libtcod/forum

The Doryen Arena forums :
http://roguecentral.free.fr/arena/forum

The chronicles of Doryen forums :
http://roguecentral.free.fr/tcod/forum

Tuesday, March 04, 2008

Armor panel

I've just fixed a bug that was keeping your armor from being damaged during fights. The problem is that the only way to see your armor status is to open your inventory to check its durability. So I finally added a small panel that appears as soon as you wear at least one piece of armor. It shows you what part of the armor you are wearing and the current durability of each part. Like the weapons skills, there is an exclamation mark if it is damaged (durability < 0.66 base durability) and two exclamation marks if it is badly damaged (durability < 0.25 base durability). If an armor part is about to break (durability=1), its background color is flashing.

I also started working on the game balance. Despite hours of play, I never reached the XP level 3... In order to be able to increase difficulty more gradually, I had to multiply weapons damages, armor bonus and health points by a factor of 5. Of course, to multiply everything by 5 would be too easy (and wouldn't change anything), so I played with every parameter while doing it and now it is completely unbalanced...

Another big task is the streamlining of the skill system. When I first wrote it, I added Guild Wars skills without having a clue of what I was doing, choosing skills that sounded cool. The result is that there are some really complex skills available as soon as you reach XP level 1. I have to work on it so that the player can discover the skill system gradually, bringing concepts one after another. As a source of inspiration, I have the complete Guild Wars and World Of Warcraft Fighter/Warrior skill reference...

Saturday, March 01, 2008

Graphical character dump

I've just played the longest TCOD game ever, managing to make my character live for 1 day and 20 hours of game time without having a crash (this is only 33 minutes of real life time). I was finally killed and decided to put my character dump on the blog. Since I have no .txt dump implemented yet, I had two solutions :
  • painfully type the sheet in a text editor while watching the death screen
  • assemble screenshots of the death screen
I choosed the second and doing it gave me a cool idea. While a .txt dump is handy to copy and paste your character sheet in a blog/forum/whatever, it would be cool to have a more graphical, more TCODesque character sheet. Something that is more pleasant to look at than a raw text file.

I don't know if other roguelikes have already done it, and it's not implemented yet, but it will definitely be in the first release. When you exit the game, it will generate both .txt and .bmp character dumps. The bitmap one will look pretty much like this (this one was made quickly and crudely by hand) :




Friday, February 29, 2008

Improved death screen

While struggling with the inventory system debugging/polishing, I've taken some fresh air by improving the death screen. It's now splitted into four subscreens :
  • a summary with some stats on the player
  • a list of achievements
  • the player inventory when he died
  • the highscore table
Achievement are rewarded in certain circumstances, for example when you open all the chests in a dungeon. They give you additional XP points during the game and improve your score.

Friday, February 22, 2008

The best roguelike map ever !!!

Ok, probably not, but it's a good slogan anyway :D
I've spend a few time on the map in the Chronicles Of Doryen. It's important because the world is huge and you need an easy way to know where to go. The map allows you to see your position in the world and find places of interest like cities. In fact, there is currently only cities, but I plan to add more specific places like trainers and your active quest's target. When
you have selected a place in the map, an indicator will appear on the main game screen. Follow this indicator and you will reach the selected place.

Ok, this was the functional part. Now let's see the bells and whistles... There are two pretty cool features embedded in the map. The first is the zooming ability. You can zoom from an eagle eye view where each console cell represents 250 cells of the game view to a very low altitude view. In fact, you can currently zoom up to scale 1. The zoom is done in real-time and is powered by the image mipmapping features to be included in the upcoming 1.2 release of the doryen library...
You can see the zoom in action with this animated gif. It's far from being as impressive as the real thing but it helps you to get the picture.

The second feature is even more useless... But I find it awesome. In fact, the map does not behave like a paper map but rather like a plane view of the world. Thus, it gets the changing daylight (orientation and color). Ok, it makes no sense from the player character point of view, but I couldn't resist coding it...

Again, an animated gif...