simple machines forum

Please login or register.

Login with username, password and session length
 

News:

Remember to make your own backup of posts before submitting.

 
 

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 - Holey Moley

Pages: 1 ... 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 ... 58
256
Update: I tested both the idea of not squatting/crouching when not running (or jogging) and to squat simply when releasing the action button when not running.

But first, I identified a long standing bug in the jump detection system that has been causing jumps to misfire (duds) for a while. I'd suspected my switch over to using triggers but the problem was because even though the button was held long enough the character hadn't ducked down to the level required to jump. I'm not sure how's that possible, so there may be another problem, but it is complicated when doing rebounds.

Back to the original topic, I felt not squatting to seem flat and encourage running when fighting monsters, which I don't consider to be normal way to engage monsters. I had a number of technical difficulties with the squat option but I've worked it out. The biggest hurdle in it is there's a pretty significant discrepancy in speed when switching. But I think it's the right direction to head in. The speed relationships (or lack thereof) may need rethinking. In the short term I made squat-walking move at the same speed as regular walking to make it a little faster, and increased my project walk speed 0.1 m/s, but I don't think these changes have a big impact. I probably would have increased the walk speed anyway since I think people will expect it to be a little faster.

Switching in and out of stealth like mode and squat-walk is an interesting addition. I think since the stealthy mode is slow I can probably figure out a way to make switching to a crouch seamless. I don't want to get rid of the new way to go from running to crouching/squatting. It's useful just to not have to stop.

Because the dash modes are so complex it's shifted my thinking about them to not be about 1-to-1 controls like in traditional games. I think that they serve a few different roles. One is to encourage body awareness that I think is important to a game like King's Field, to its mood. One is to just make the movements more complicated. I've been bothered for a while that the movement is too simple to seem robotic. It works fine in the original KF with its course digital controls, but it just doesn't suit analog controls. I wonder if From Software tried analog with its later games and decided against it for these same reasons. My personal preference in games (everyone's different) is for heroes who aren't exactly competent and proficient. The Ico and SOTC games have very awkward and clumsy heroes that seems to me to make more sense. So I think of making the movement controls convoluted as a way to introduce a challenge of just having your body get in your way like in real life. In "survival horror" games clumsy controls are often prized for causing suspense and terror of failure. King's Field is not so far away from that mode of game. For me personally my primary objective is to make an ultimate kind of VR experience that is very fixated on bodily movement, so it's a natural outcome of this I think to have many movement options on the table. As many as possible. And of course if you're really deeply attuned with the game you will want the character to carry out the movements you imagine for yourself, so it's good to be able to approximate that. If you're really absorbed you may find yourself learning to be proficient like a camera man. My biggest reservation is my lack of confidence in the DualShock style controller. I think it's not ideal or what I would prefer. It's very imprecise and noisy. I wonder sometimes if a traditional joystick would be better or if it's even possible to make a better controller in this style. For the dashing modes I wish I could reliably push the stick to get the mode I want but I find it's almost a crap shoot if I press it, will I be in the bottom third, middle, or max press, I really don't know. It feels different every time and the more strung out I am the more finicky it becomes. My fingers aren't very reliable devices either for that matter.

257
Some interesting things happened today, and my UPS battery died so I have to make an emergency trip into town tonight.

From yesterday I had an idea that the events that do the trap doors where monsters fall out of the ceiling (maybe these are always pirate skeletons) I'd reasoned it makes more sense to attach the event to the monster so that the door wouldn't open after it's defeated. But because of this the door opens when approaching the monster, even after they've fallen through the door.

So yesterday I made the event to progress to the next stage that would be its terminal stage. That way the door only opens once. Except in that case there is more than one skeleton in the hiding places, so the encounter could only happen once.

So this morning I tested this theory and added some new logic to SOM to reset monster attached events when a monster spawns. That way every instance of the monster can use the event. I limited this to multi-spawn monsters that are driven by chance encounter, and not the other modes. So if there is a single instance monster the event just has to do itself manually even though the monster technically can spawn many times if bypassed. I could reverse this choice but I felt like the spirit of this change is to deal with multi-instance events, not multi-spawn events. Come to think of it's possible that instances don't respawn because the value SOM uses to test this is a "floating-point" value that is loaded from the save file as a "boolean" byte. So it's possible that once an instance spawns it roams forever, and is retained by the save file. (The "float" value may be its opacity when it fades in.)

I've noticed Aleph is a little taller than SOM's default hero so I've been adjusting his measurements. It got me scrutinizing the "bob" effect, and one thing led to another. So I got an idea to increase the threshold for using the Action button to move stealthily, deemphasizing the jogging ability. I'd even like to make jogging only work when holding down all three buttons, but I'm not sure if acceleration would feel right in that case since you need to run some to get to a full run, and jogging handles that transition okay. (Note this change is just changing the default value of the dash_jogging_gait extension from 3 to 4.)

My idea really was to try to incorporate this into the swordplay element. But also too lately with my PS4 controller it seems like the stealth region is too small to be used easily, and it was always kind of touchy, which is not so bad for stealth since there's an element of taking care...

But I really wanted to instead be able to use it kind of like an alternative stance for fighting the monsters. Even expanded like I said to cover normal movement up to a full sprint/run. But I think the jogging ability still has a use here too. The stealth mode drains the gauges whereas the jogging mode restores them. In that case you can combine them by approaching monster cautiously in stealth mode. You have to do that slowly or else you sprint because the first few moments of running are a fast sprint, acceleration to full speed.

But if you want to move in on the monster then you can kick the gear up to jogging and restore your gauge that way before striking. And the stealth mode actually moves faster than walking when moving sideways, so circle strafing is actually beneficial there. It's a little bit like lock-on in the Souls games play style (that I don't like.)

I think this is a good direction. I think it will be built on. Right now I can't really see a path to transition literal jogging to the 3 button combo but I think that's the eventuality. But then the jogging will have to be replaced with some kind of generic fight mode that also looks like running somehow and that doesn't drain your gauge, so just like jogging mode without literal jogging. When jogging was added the 3-button mode didn't exist at the time. I might have made it use that then if it'd came about in the other order. At the time I just wanted a less intense style of movement that's faster than walking.

For KF2 I'm trying to exaggerate the bobbing effect a little just as homage to the original, but you really can't turn that up high without it becoming a distraction. Analog is really different from digital input and it was always pretty goofy, but there's something about bounding around that does feel pleasant compared to being stiff as board. And I haven't figured out how to cross that gap yet. You really notice it with the monsters so maybe having an alternative stance will be helpful.

In the stealth mode you duck down some always, so that makes it feel more dynamic. And it's probably better to be able to use it more easily just for role-playing scenarios, although someday monsters might be sensitive to stealth. In fact I could program that easily soon since SOM_PRM does have some settings for how alert monsters are that can be dialed down when using stealth movements without doing anything overly sophisticated.

EDITED: As much as I hate to complicate things further, it seems like the way of pressing/holding the action button when exiting dash mode to either crouch or transition to a squat-walk seamlessly is at odds with using the stealth mode because it is technically dashing mode and so does these things that feel natural when running but not if you're trying to circle a monster.

What I think is an interesting move is to always exit stealth mode into squat-walk mode so that you can switch between them easily, and it's a kind action button free stealth itself. In that case to go from stealth to normal walking you have to speed up a little in the transition, which also helps because that matches the walking speed better. And the squat-walk mode is actually interesting for combat so it may be nice to be able to use it in combination with this mode. I've been asked to have it be a more defensive mode or a sturdier stance.

In this case doing the tap/hold wouldn't crouch/squat but would instead do a squat dash/doge on tap or reenter stealth or run on hold... at least as long as you're moving. If stationary it will crouch. Which is useful in fighting too. But you can also do a standing up maneuver (exit squat mode) by doing the equivalent of a stationary jump, which is like crouching but letting go. Because of this you can't do a vertical jump in squat-walk mode. (It's mostly a curiosity... maybe could jump over some attacks. Though you can crouch first and then jump up. Same as a super standing jump.) Running leaves squat mode too, except in tight spaces. It's all very baroque TBH. It's a wonder it feels as natural as it does, at least once you get the hang of it. Kinesthetic controls are much better than push button controls. I can never remember what button does what when everything is just a push of a button.

258
A short note, I've been trying to improve SOM's "feel" to rise to the occasion of KF2. So far I've just tweaked the "pedals" to loosen it up since it's been feeling very stiff to me for a while, and after that I made some changes to attacks by having the gauge not wait for the animation to begin refilling, and I shaved some time off the back of the animation so it's not frustrating to swing after it's done.

I don't know if it needs a delay on the end or not. KF2 doesn't really seem to have one. You can kind of swing your arm like a windmill. Maybe some find that funny. Right now I have it stuck behind do_red so it can't be abused too much, although of course it can if strong enough to stun.

I've staked out a new release number for this stuff. Just now I've added a new npc_hitbox_clearance extension that somewhat decouples the clip shapes from the hit-boxes. I've made it default to 0.6, which feels very good with SOM's weapons and my KF2 project too. It makes it so you have to actually look like you're visually connecting with the monsters to hit them. (It doesn't scale and if the monster is less than that it's set to a minimum size. To handle extra large monsters it seems like the player needs to be able to actually get closer in order to make contact. This system just subtracts this amount.)

SOM's stock monsters have too much range on their direct attacks, so it doesn't seem fair. I don't think the player's hitbox is too large. They probably just need their PRF files gone over. Speaking of which I discovered today the enemy/NPC PRF files use diameters for their clip shape and shadow. I've changed the EneEdit and NpcEdit tools to show it as a radius to be consistent with ObjEdit. It's not great to multiply/divide by two to read/write the files but I couldn't fit "diameter" in the layout and it seems kind of funky to me. It's converted to a radius in the player program, hence why I've been confused about this for the longest time.

I also lost most of my day today trying to make crouching while moving (not "squat-walking", just not stopping fully to crouch, since there's momentum) smoother by removing the whiplash, but I just ended up convincing myself there isn't an easy fix. The reason it's like that is integral to how it works and does work well in that regard, but part of me wants it to not be a distraction. I have more reservations than this but it's part of a theme of trying to do a flurry of upgrades. Maybe the biggest weird feeling I have is I feel like it needs some kind of generic bounciness. In a way the exaggerated "bob" effect provides that but I've long since reduced the bob effect so it doesn't come close to classic KF or SOM except when running hard. It's just not how people move, but I feel like there should be some kind of sense of upper body movement and looser legs. I just have no idea how to translate that into a game system where you're in control.

259
I've started to look at selectively darkening some groups of tiles but I'm feeling intimidated by the project, so lately I've found myself working on these trap elements instead.

The blades work pretty well. I didn't replicate having one swing as if it's broken down over time, or whatever it's doing. I think KF2's worked that way because I suspect it's responsible for the interesting grinding sound that's like sharpening knives, and I think because neither is synchronized with the sound effect that their asymmetry helps to make it less noticeable.

I made it so that the only way to pass through is to walk directly through the middle very accurately or to try to slip between at a diagonal with good timing. To do this I had to make the hit box virtually square, which is a little counterintutive. There are two CPs positioned on the mid points of either side, that SOM must treat like balls. Not a very scythe like shape but you can't exactly tell.

I manipulated the sound effect by doubling it and making it more symmetrical. It sounds alright. The animation has to make two swings in order to loop back but the sound is only one swipe. I don't think there are two swipes in the original game.

I did the trap door today. SOM isn't really designed for this I don't think, but it basically works. I haven't tested it thoroughly but I think when the trap doesn't trigger the door is slightly leaky, which I could fix if necessary, and it looks like SOM doesn't have a way to make a door that is unresponsive to the Action button. I'm not sure how to approach that, but it means you can make it say "sealed" or "locked" but it is possible to hide those messages if you don't want them, but I'd like another alternative. I think the trigger is pretty reliable. I had to convert into having an open and close animation. Hopefully it isn't glitchy. It remains open like a regular door ever since I added the logic to hold doors open. That seems fine probably.

SOM's doors aren't designed to be placed in the floor. What I did is put the CP that designates the height of the door on the lip so that it goes down as it opens. And beside that I suspect it's more like an elevator door than a trap door, but that pretty much does the job. It can always be improved.

(EDITED: I'm thinking maybe the messages can be hidden if objects react to the phantom rod, since that ought to imply they're invisible secrets assuming games use that in the traditional way. It'd still be nice to add an inert option to SOM_MAP someday.)

P.S. I took some time off to play Moss on my PSVR yesterday. I can't believe sometimes I can't tell I'm looking at a display. I don't know what makes the difference but sometimes many things in the PSVR look like they're fully native vision without any pixel artifacts, it's really spooky when the simulation of materials is very realistic, it's like the thing is really there.

260
Devs / Re: EXIT: Unleashing monsters
« on: September 24, 2020, 04:51:38 AM »
CRITICAL PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.2.zip

:doh: Sometime back I broke the most important [Option] section so that I discovered the do_red extension wasn't working, and it's a wonder more weren't. (I need to change the Ex.ini system to not require that I keep it alphabetized, since I can't even do that right.)

Also the do_hit extension has been misinterpreting monsters as traps ever since I extended the monster limit many months ago.

P.S. I should do a more in depth write up of this subject, but lately I've been working on traps, and enabling the spear traps to work for the first time, and changing some of the behavior. I discovered some weird stuff. Like for one you can (and it's not hard at all) actually climb onto traps, that are built out of CPs instead of regular shapes. That's not a feature in my book, it's a bug. Also weirdly the clip system uses different radii for the CPs for clipping and the hit test that can deal damage. The hit test was actually using half the height value in the PRF file. I wonder if this was a bug...

The clip test uses a radius value that is computed for boxes. I assume it's the distance to the corner of the box, but if so that would be a simple length, but the calculation that does it uses multiple trigonometry functions that I don't recognize what they're doing without analyzing it. I think this value used to be part of the PRF file, since it's in memory where there is an unused value in the PRF file that matches it. I think it was an activation radius. I may restore that value to use for traps since they're pretty ambiguous right now. (EDITED: I think I saw this activation radius value in the bogus screenshots on From Software's website that show the internal version of SOM instead of the commercial vesion.)

To activate the spear trap it needs to be like a normal box shape, so I stopped using the height for the hit test, bug or not, and went with the radius. But that came into conflict with the clip test, I actually believe the clip test pushes you out of the way so that the hit test can't detect a hit using the same radius. (EDITED: Maybe not, but I can't think of a good explanation. Two positions are maintained for the game's location, I think that one should be the previous location at the later stage of the loop cycle, but I don't know if they're used consistently if so.)

I couldn't figure out something that works, so for a quick fix I've made it so the do_hit (or do_hit2) extension is required to get better trap behavior by eliminating the clip test (this also solves the climbing problem) so that the do_hit response from the damage is all that there is to animate the trap knocking you out its way. I was also able to switch do_hit over to using the CP position instead of the object position for better accuracy. And I made it so only the first hit determines the knock back trajectory so that the trap can't cancel itself out.

Also the spare sound effect can be used to make the spear sound, so that the open/close sounds don't have to be combined with the trap mechanism.

261
I seem to be progressing very slowly, in the past few days I've worked on issues around MDL models, to make them precise for hiding secret doors and compartments, including adding an extension to the MDL format so the texture can cover the last pixel on the end opposite of the 0,0 origin. The extension works by setting 6 bits is the back of the TSB field that are ignored (not allocated) by the PlayStation and MDL code. The bits are interpreted as meaning the UV coordinate is 1.0. The PlayStation doesn't need this because it doesn't filter its textures. SOM sorely needs it, although I intend to phase out using MDL for texture coordinates.

Yesterday I began work on the spear traps that spring out of the walls from secret compartments. SOM has some spear traps but I've long suspected they don't actually work. That appears to be the case. Today I will probably be investigating the code responsible for traps. It should be fun, but its continuing the trend of piling on delays.

I haven't decided if I will try to do something about KF2's trap doors at this stage. It seems like the something I'd like to include in a new demo, but it's a technical challenge.

P.S. I bought $40 of PSVR games the other day in a digital sale, including From Software's game, that cost $7. I don't know if I have time to actually play them, I'm sure I'll try, but I'd really like to play more games with a PSVR.

262
Devs / Re: EXIT: Unleashing monsters
« on: September 19, 2020, 09:23:18 AM »
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.2.zip

I think I've been doing dither wrong all this time! But this patch is to fix lingering problems with the F12 (or Alt+F12) muting function, since I changed it to have 255 values instead of 16 (like the other volume levels.)

About dithering, this patch changes the "high color" mode with dither to match the same brightness as the "true color" mode, which is helpful for artists who want to match colors. I thought since it was darker I would just try to brighten it, but in the process I figured out for one reason or another the darkness was a mistake. I had centered the dither pattern on the color, but instead I think it's supposed to be added to the color, which is counterintuitive, and maybe differs from the source I was working from (I don't know.)

So now it matches exactly the other mode. When I added the missing brightness I realized the math was simpler to just add the dither pattern, but I was concerned this would be a problem for black/dark colors, but I think not, it's just that when the colors are quantized (reduced to 16-bit color) the brightness added by the pattern collapses neatly into the gradations, so that 0 remains 0 and 1 lights up 1 dot in the dither pattern, so it seems ideal. I wish I'd given it more critical thought. The screenshots I've been sharing lately are four shades darker than they should be, which really doesn't seem like much, but it definitely is noticeable.

P.S. When I went to write this earlier I couldn't access this website. It turned out it was being bombarded by requests to an xmlrpc.php file that's part of WordPress installations, effectively producing a denial-of-service scenario, but it was probably just a mindless "hacker" bot that hits any sites with this file. So I disabled that and the site came back to life. Hopefully no harm was done. I let my host know what occurred. They might have a way to see if anything happened.

264
Devs / Re: EXIT: Unleashing monsters
« on: September 16, 2020, 05:34:52 PM »
Full disclosure: I've reuploaded the previous patch after learning it broke the sound play event for "system" class events because back when I added system/system-wide events I mistakenly thought the "use item anywhere" event needed to be nominally attached to a subject (object/NPC) to work.

So I faked that by attaching them to the NPC type. So I needed to undo that, and so yesterday morning I mapped out all of the event handling code (honestly Ghidra is making mapping/reprogramming som_db.exe relatively straightforward these days; the tools are tougher cookies because they do a lot of indirect function calls) only to learn that it would've worked fine without that hack all along! I can almost remember that time, I think I would have tested it before making that change but there was probably another reason such a test failed. Anyway I tested it this time.

I also learned the play sound event/instruction is unique in referring back to the event's subject. I was surprised to see it has code for 3D sound effects, for that reason. The NPC conversation animations are another case but they're a bit more ambiguous in terms of if they're part of the event instruction.

The reupload also has some new code that I developed to camouflage secrets like King's Field hidden passages and compartments. I had to refine something I already written about elsewhere last night while working on the little compartments hidden in the walls (I'll probably write about this in my dev-log later) and I discovered that the map geometry that has baked in 8-bit lighting is for some reason darker than the regular geometry. I was able to (functionally) perfectly match it for my KF2 project down to replicating the dither patterns (which is actually a very precise way to do color matching) on all of KF2's walls with its fairly complex lighting. It's still possible it varies with the ambient light level, but the code in this upload is dimming the regular geometry 96.5% and quantizing the values to 8-bit intervals in the shader path.

The dimming is a mystery. I'm interested in finding the exact lighting code inside the MPX compiler but haven't come across it so far. It does make the games significantly darker (9 shades darker on a 0~255 scale) and I consider this a temporary fix. I tried brightening the map geometry without success, but I will try again. I did find that quantizing is important, so requantizing is generally not ideal. I can also add something to boost the brightness to make up the difference.

Update: I determined the lighting difference depends on the ambient light level setting, so I've disabled the light level balancing for future patches until I can refine it. In the meantime I've left it on with do_kf2 but that's an abuse on my part, in order to use it with my KF2 project until I get to it on my note pad's to-do list.

265
I may have spent the entire day working on the first secret door model and frame.

I had a couple good ideas. One was to pump the door model through x2msm so it is subdivided as necessary to match the MSM geometry for do_aa to work. I don't know why, but I don't think it's ever occurred to me to do that. Maybe it's because I have a lot more flexibility now with the new MDL<->MM3D tools. I had to add a backdoor way to tell x2mdl to output the fully subdivided MSM model. It doesn't currently have a proper command-line options system.

The other good idea was to truncate the vertex coordinates in the vertex shader so small numerical differences between the walls and secrets don't become visible. There might not have been another way to do it since even after I got the seams to go away from far away they tended to open up.

The tile system doesn't do anything that can corrupt the MSM coordinates since it just swaps the XY coordinates or negates them as necessary, whch isn't destructive to floating-point data. However the objects and character models undergo extensive 3D transformations that are probably way more involved than is necessary and prone to inaccuracies. (Maybe the do_aa system requires more precision than normal, I'm not sure. I could try without it and see.)

Just because the art data already exists doesn't make it a breezy job. It takes me (maybe I work slow) a lot of time to do every little thing. But it's nowhere near as much work or pressure as making art for a game all by yourself like Moratheia did. I still can't really wrap my head around making a game with original art work, but converting KF2 is a test of my ability (and a display of SOM's ability too.)

266
Devs / Re: EXIT: Unleashing monsters
« on: September 14, 2020, 05:23:07 PM »
Final patch? (important)

http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.2.zip

Crap, uh, this patch fixes the "system-wide" event system when regular local events come after system-wide events in the event table.

I'm not sure what happened here, but I tended to put global events at the end of my tables, so I didn't notice, however the mistake in the code is very suspicious, it looks like my old mouse may have triggered the text drag-and-drop system in my code editor. I never use drag-and-drop, but it's not currently disabled, I should try to disable it.

On a technical note, this patch introduces a "breaking change" to do_sounds. I made the sound playing event use 3D sound for non-system events. Originally you had to arbitrarily attach an event to a dummy object or something, but now you can make system (unattached) events to get the old no-3D sound behavior. On the upside you can make an object, etc. play a sound now, via an event.

The old behavior was to play the "always on" and "use item anywhere" sounds non-3D. So like the fountain in KF2 makes a water sound, that sound is "always on" so it makes sense for it to be 3D sound coming from the source.

I considered given the last two patches to go ahead an establish a new release, finally, but I felt I didn't want this release to be left with this system event bug forever. I think I'm going to make a new release shortly, just to mark the time.

267
Here are some more images. In the second I've tried to show off a change I made to the mipmaps_pixel_art_power_of_two extension to accept a fractional value to be used to soften the 2x2 pixels by applying a hand written filter to the blown up mipmap.

My goal is to make them vaguely unrecognizable as pixels so your brain doesn't shoot off "those are pixels!" some level of plausible deniability so you can see what you want to see in them. At the distance in the screenshot it shows off well how much closer you can get without seeing pixels, but it's not as close as you can go, since I wanted to have a nice photograph too, with the subject in frame.

I'm pretty happy with these results. It's very close to a successful upscaling of the textures, and certainly good enough at this stage, and I think it gels well, and is true to the spirit of the original.

EDITED: In case anyone is interested, the filter works differently from a regular linear filter, and it makes new pixels, that the regular linear magnification filter will sample between. Since there are are 4 times as many pixels instead of having them be the exact same color in blocks of four, what it does is to look at the corner of each block and blend it with the value sampled in the very corner of that quadrant. So the structure is still in 2x2 blocks, but the corners are softened, but they're not truly corners because there's only 4 pixels there, so really each one is a quadrant in the multipixel. So there's an organization to it. The pixel's own value is one of the four in the sample, since that's simplest, and the weight itself is quite small, like less than 20%, but very noticeable. You wouldn't want much more of a weight than that. It also wraps around as if the texture is repeating. In theory that can cause problems, but it's better than the alternative. I think even when the maps aren't designed to wrap around it kind of helps to soften the edges subtly, like in the lines in the ceiling.

NOTE: The aliasing is less in the moving picture than in screenshots, because of its temporal nature. I think the chunky dither pattern helps to lend it a film grain kind of quality that can feel a little like CGI. But that depends a lot on if there are any crummy looking elements in the picture. When it comes time to polish it up I want to eliminate any crummy elements.

268
Devs / Re: EXIT: Unleashing monsters
« on: September 10, 2020, 03:49:09 PM »
Layers patch (important)

http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.2.zip

The new SOM_MAP layer system was still "off by one" it seems, from the last time I thought I fixed this. This means it was pulling tile data from the wrong row, but very often rows have the same values.

This patch also maps the sound/music volume levels to a logarithmic scale. The full range of values is audible.

269
A familiar scene :hearton:

270
On a roll :bowl:

To break up the new fat pixel feeling I decided to try to add a fat dither mode, and this is more of a retro emulation thing, but this mode feels much more like the PlayStation in High Color mode, so I think it's how people will want to play the game.

I called this do_dither2 and I was tempted to link it to the mipmaps_pixel_art_power_of_two extension instead, but felt it was more flexible to keep everything independent, even though it's harder to coordinate.



What's better is do_dither2 doesn't make my new Samsung monitor have seizures! It's crazy but these monitors can't actually cope with all video signals. I'm using it with VGA, and I guess either the pixel perfect dither sometimes causes freak electrical interference in the cables or there's some kind of compression or contrast trick that goes haywire. It only happens in some places in games. In KF2 it happens around the water.

It's identical to do_dither except the dots are 2x2 pixels instead of 1 pixel.

I think the new fat pixel look looks better in High Color mode, and this chunky dither helps to break it up so it's not so blocky. And the new texture space do_aa effect that the compass relies on is harsher on high contrast textures, so I think the dither helps to stabilize the more high contrast features caused by mipmaps_pixel_art_power_of_two.

When I finally release the new demo I'm going to set the options to High Color mode by default :cool:

EDITED: Show don't tell (screenshot incoming) :eek:

Pages: 1 ... 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 ... 58