Showing posts with label Graphics. Show all posts
Showing posts with label Graphics. Show all posts

Sunday, 18 April 2010

Lighting Enhancements

Something I'd like to introduce in future releases of Kharne (mainly inspired by the visual sexiness of Brogue) is independent light sources. Fortunately Delphi implements the Win2k+ AlphaBlend WinAPI call which would make implementation quite easy (he says confidently).

Tuesday, 31 March 2009

The New UI


The new UI.

Yes, it is very Crawl-ey. That's deliberate. If anyone connected with Crawl is reading this, consider it in the spirit its given: a homage; a compliment of the highest order.

Friday, 27 March 2009

Screen Usage

Minimising and Maximising now work. This is the default size - 792 x 995 pixels:


In comparison, this is the main window maximised on my widescreen monitor, to a resolution of 1440 x874:


Like any proper Windows Application, it can be ran at any resolution in-between too. Even though I'll have to sacrifice some space, I'd like to get it working with 800x600 too.

Graphics and Lighting

I think I've really got my bit between the teeth at the moment when it comes to the development of this beast. Which is just as well as I've got an upcoming assignment (General Relativity and Electric and Magnetic Fields, natch) which will take a huge chunk of my time (weeks, in fact). I don't think I'll get Alpha 2 out before then, but things are well in hand.

One thing I'd like to add to Kharne in the meantime is ambient light in the dungeon, such as is currently being implemented in Umbrarum Regnum. Coding ambient light like this (dynamic lightsources is another matter) is not actually that complicated, if we assume lighting follows the standard field of view code.
  1. First, add an attribute (lets make this a real number) to every cell in the dungeon called "AmbientLightSource".
  2. Assign a cell as the light source itself.
  3. Using the Recursive FoV algorithm, calculate the FOV and write a value to this that depends on both the distance to the light source and the strength of the light source.
  4. The cell that contains the light source is assigned the strongest value.
  5. If two light sources overlap, we take the strongest value.
  6. During the display routine, adjust the brightness of the character to be displayed depending on the "AmbientLightSource" value.
  7. If cells contain ambient light, then items and monsters should be visible all the time, much like what happens in the players' view.
At some point, I'd like to go further and make lightsources spatially dynamic, so feasibly a) monsters could carry light sources and b) light sources could be extinguished or created (known in DnD terms as "cracking open a sunrod"). In any case, the basic graphical premise of Kharne would be unchanged: 1 standard ASCII character per "square", with all effects coming from changing colours and brightness.

Wednesday, 25 March 2009

Tuesday, 24 March 2009

Progress Report #10

In parallel with developing the Monster AI routines, I've also been sprucing up the aesthetics of the various dungeons (and there's a very interesting thread on the aesthetics of ASCII over on r.g.r.d. started by yours truly) . Here are some screenshots:



And this last screen in monochrome:

Friday, 13 March 2009

More on Screen Sizes

Following on from my last post, and the comments therein, the main window of Kharne is now much smaller - with dimensions of 792x725. With the optional minimap and monster view displayed, this is what it looks like on a monitor with a resolution of 1280x768:

Without any additional windows displayed, this is what it looks like:

To do this, I've had to simplify the main window considerably and change the information that is always visible. I think I prefer the newer look - its more streamlined and less distracting.

Eventually I hope to get the main window down to less than 800x600 so it can be run on this lower resolution in extremis.

Sunday, 8 March 2009

Retro

(click on the image to display it full screen if the animation doesn't display)

This just seemed like a good idea, even if it is nothing but a blatantly transparent attempt to recreate the original atmosphere of Rogue. But I think there will be someone out there who likes at least having the option of playing in monochrome.