Search Results
Searched for posts by vasiliy in all forums

Showing results 121 - 130 out of 431 total
Modify your search
Posted by vasiliy, Feb 21 at 5:11 am
new minimap look: normal and small.

minimap basically works like "Look" — you can move the cursor around, and press "l" to look at the square. i will prolly add map markers later, and maybe something else.

p.s.: if anybody wonders why paperdoll is not at the top… because in the top right corner of my display is usually sits the videoplayer. which covers that top part of the game window, and i cannot see the paperdoll. this is the only reason why there is the option to move it down.
Posted by vasiliy, Feb 20 at 11:34 pm
i like both. 4x4 pixel tiles is "more map", but with 8x8 it is possible to see items and such. it's fun to play in 8x8 mode, btw. also, 4x4 map is a noticable CPU hog: on my box CPU usage for normal play is 1-2%, but it raises to 7-8% with 4x4 minimap. this is because it is full-sized bitmap internally, and it is HUGE. but this is the only sane way to do it. trying to follow IVAN rendering routines and recreate them for other tile sizes is… just no. that's why i HAET OOP: it's virtual method calling virtual method calling virtual method calling… no central point, no way to trace it without remembering the whole class hierarchy.

and thank you for the noise idea! i'll definitely try it. that brown is not even something consciously choosen: i simply typed in RGB numbers without thinking at all. that was the first minimap — empty brown rectangle. i decided to think about it later… which usually means "never".


i wanted minimap for a long time simply because "Look" is too boring to use. i added "ctrl+arrows" to move by 10 squares (accidentally, to all cursor selections , but it's still far from good map view tool.

also, i always wanted to hack in some code to visualise level building. i want to see the animation of IVAN placing rooms, digging tunnels, and so on. dunno it if is possible without too much efforts, tho. so i decided to start with minimap first.

p.s.: i remember about console command for vanilla. i even started it, but then got distracted by reading git log.
Posted by vasiliy, Feb 20 at 11:53 am
SCREENSHOT REMOVED. SEE LATER POST.

minimap, small mode. i cannot decide which is better, so let's support both!
Posted by vasiliy, Feb 20 at 8:14 am
SCREENSHOT REMOVED. SEE LATER POST.

also, experiments with minimap implementation. just a first draft, it renders something. totally not optimised, but meh…

the implementation is very simple: render big part of the level onto separate bitmap using only memorized squares, then blit the result with /2 stretching. memorized monsters are not rendered, but memorized items are.

it is possible to make everything much faster using minimap caching, but… i see no reason in such complex code. everything is fast enough, and i'll rewrite it later if it turned out to be slow. anyway, minimap is planned as separate mode, somewhat like "Look", so there is no need for it to be lightning fast.
Posted by vasiliy, Feb 20 at 7:45 am
k8jam is using pkg-config to detect libraries. SDL2 mixer might have a different name. i am testing for "SDL2_mixer", but it might be "SDL2_Mixer"… or might have no .pc file at all. also, there might be a conflict between 32-bit and 64-bit libraries — pkg-config is using 64-bit libs, and it just happened to work. i never really tried to build k8I on 64-bit system, so i simply don't know.

fejoa wrote
Very pleasant playing experience vasiliy, and great ergonomic improvements, thanks heaps!
thank you!

i believe that color printer could be easily integrated in vanilla. it is using two control codes: "\1N" and "\2". the former sets the color from some predefined set (or you can use "\1#nnn|" for hex RGB (3 or 6 chars), the latter resets everything back to the "default" color. and it is easy to use `RawTextData` object to reimplement `SplitString()`. also, `str.GetSize()` should be replaced with `str.Length()` in several places — `Length()` calculates string length without control codes (also using `RawTextData` iterator).

once all text printing methods understand colors, colors could be used anywhere, and it is possible to gradually introduce color coding. or even imlement it as option — printing routines will simply ignore control codes according to the flag.

this is prolly the easiest thing to port.

p.s.: `RawTextData` is useful, because it tracks the current color, so word wrapping routine can use it to start the new line with the correct color. see `WrapDataFont` object (silly name, i know , which implements word wrapping with color code propagation. it uses `CharWidth()` method to get char width, which can simply always return `8` to implement monospace wrapping.


p.p.s.: `k8jam -jN` works too, just like you expect it to work with `make`.
Posted by vasiliy, Feb 20 at 5:22 am
great idea. totally "ivanesque".
Posted by vasiliy, Feb 20 at 4:06 am
but "mostly fixes" means that the game is feature-stable! what else do you need to declare it "1.0"?!

anyway, it was just a suggestion, i never intended to push you all in that direction. just thought that the number looks nice, and won't hurt.

p.s.: will it work if i bump k8I to "666.x"? everybody knows that there is "0." before it, so it can be simply omited. so vanilla is "v60" now.
Posted by vasiliy, Feb 20 at 1:19 am
sadly, sane versioning is almost forgotten these days, so there is little reason to stick to it, i believe. i tried to recommend IVAN to several people, and some of them said: "oh, it's still 0.59? i'd better wait for 1.0, or even 1.1 then, it is definitely not ready for playing yet."

of course, hardcore RL fans know that no roguelike is ever "finished", and they all at 0.x permanently. but i believe that many "non-RL fans" could enjoy IVAN too. why don't make it slightly easier for them by removing the imaginary "0.x barrier"? IVAN is already more attractive to… let's say "casual" players, with its graphics instead of ASCII. and blood, and gore. so i think that we may cheat a little. it may not help to get wider audience, but there's no harm trying.

i.e. just bump the version number, without much phanfares. consider it "0.60" internally, but use "1.1" for public announcement. "0.59" was released almost 3 years ago, so it's fair to assume that the game went all the way to "1.0" and further during that time. version bump won't look as pure cheating (even if it is .
Posted by vasiliy, Feb 20 at 1:05 am
yeah. also, in k8I PC can find some "money bags" in UT. with some luck, PC is arriving in Attnam with 300-500 gold. smith and tailor are able to harden items, so there is some use for that gold. but i want the players to decide if they want to spend money on hardening, or on that cool item in the shop, or maybe wait some more and buy even better thing?

also, it's not that hard to farm several K of money later with all those gem stones lying around… and there's basically nothing you can spend that gold on.

currently, shops look like something that is there just because most RLs have shops, so we need them too. so i'm looking for improvements which could make shops both more interesing, and more useful.
Posted by vasiliy, Feb 20 at 12:46 am
btw. don't you think that bumping version to 1.0 would be a good idea? i mean, why not? the game is fully playable, it has a lot of content, it's way further than 1.0 even. we all know why it is "0.x", but most… normal people still believe that 0.x versions are some half-working prototypes. so why don't bump it, and go with 1.x versions instead?

p.s.: maybe even to 1.1, so it won't look like some Huge Milestone Release, just like the normal dev process.