simple machines forum

Sword of Moonlight => Archive (pre 2023) => Beginner and other Nonsense => Topic started by: Holey Moley on April 06, 2014, 01:48:34 AM

Title: STICKY: Random News
Post by: Holey Moley on April 06, 2014, 01:48:34 AM
This thread is for announcements that don't really belong anywhere and shouldn't require any in-depth discussion to be had.


Tonight I noticed that the built-in English translation was using Flame instead of Fire for the first magical element. I really wanted it to be Fire since that's the classical notion...

But still abbreviations were being used in places. I tried different ways of abbreviation, but nothing looked nice. The old way was using three letters, and there is no three letter abbreviation for Fire which looks nice. Which is why I suspect Flame/FLM was used.

So eventually I got the idea to use some special shifting characters as stopgap until a better menu system with positioning and all can be arranged (I intend to use Windows RES files for that which can be prepared with ResEdit.net) so that you can just put a > or a < in front of text to shift it left and right by one character width (technically the width of < and >)

I reckon that's okay because < and > would not appear acceptable within the text of any game. Not in English anyway. Needless to say this way you can make room and even format the text a little bit because it is already heavily formatted with tweaks for the original Japanese text.

Anyway, it worked very nicely. All the abbreviations are gone now, and I even removed the Attack/Defend lines over the affinities on the main equip and status screens because they seemed too cramped too me. I just blanked out their default translation.

I might even go as far to add a simple system for a generic recentering of all of the menu text before working on a RES file based solution. RES files are the same thing used to translate the tools pretty much, just not embedded in an EXE file.


PS: Oh yes. I also changed the Strength based affinities to Edge Brunt and Point. It's funny but the English language lacks a word for the non-edged and pointed part of a weapon (or anything for that matter) but I've settled on this for the game for now. The tools actually use Edged, Blunted, and Pointed, but there's not enough room at 640x480 in game for all of that whether or not it would be an improvement (of course authors are encouraged to alter the text to suit their own/every need)
Title: Re: STICKY: Random News
Post by: Holey Moley on April 06, 2014, 06:32:13 AM
Here (attached ) is a preview accompanying the above post.


PS: I am so happy with this I will probably bump a be-all-end-all fix for in game menu layouts to the end of the list of priorities. It's a pleasant surprise. I don't know why it never occurred to me to do this before. The changes here that move lines of text to different lines are just achieved by blanking the line and tacking a replacement line to the bottom of one above it. Using that trick no information was actually hidden in the end. Which is a good way to let authors know that those texts even exists.


EDITED: The project seen in these screens came from http://www.swordofmoonlight.net/bbs2/index.php?topic=130.0 BTW. I've found it helpful for testing out many things.

EDITED: if you keep reading you'll learn that "Brunt" as seen in the attachment eventually evolves into "Area". The evolution takes more than one step.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 06, 2014, 08:07:45 AM

More randomness.

I just discovered a trick used by the King's Field sample/remake's shops. How it works is if you set an item to 65535 the shop will sell an infinite amount. It also screws up the translation performed by SomEx. Should be fixed in the next release/patch.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 06, 2014, 06:05:50 PM
Strikeout: I actually woke feeling like taking another stab at "Brunt". I brainstormed a few words that might have alternative uses, but none of them did. So I repurposed a word that I think would have a good chance of being the English word for this if there was any need for it outside of video games with abstract play mechanics. So what I came up with instead is Knock. Think of it like blacksmith terminology for the flat side of a weapon used for knocking which may or may not be corrugated. Maybe with the advent of standardized action adventure gaming it will find its way into the vernacular. This trichotomy is certainly useful to games I think. I bet there were words for this at some point of human history, long lost. I suspect some extant languages may have a word for this. In which case if its five letters or less in English it could be borrowed. There may even be a word, but if so it's not on Wikipedia or in any thesaurus.

Anyway. I like the look of Knock. Brunt, while it had some points, I find too forced. Knock, people will know what it means I think, and next to Edge and Point probably even assume it is part of some well established terminology.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 06, 2014, 11:40:15 PM
I also noticed that the Yes/No options are off in widescreen mode with do_fix_widescreen_font_height. That can't be helped, because that fix is necessary for text to look nice in widescreen, but what I did is a little fudge so Yes/No will be centered in the middle of the screen.

SOM's text layout personnel went to great lengths to tweak every bit of text to the pixel to get what they thought were the best layouts in Japanese with MS Mincho font. Unfortunately that just makes everything else appear to be "off".

Anyway, Yes/No prompts are huge part of the presentation, so it's important that they look nice. I usually work in 640x480 just because it leaves more screen real-estate to work with. So it took me a while to take notice of this.

Actually I noticed it, because I liked how the </> trick could be used, so I used it to lineup Yes and No so they'd be flush on the left. Only to later notice it wouldn't work in widescreen, and couldn't work. So I settled for centered.


EDITED: Also while I am here, and before anyone reads this. I am pretty comfortable with Knock as the third arm of the ineffable triad. But it occurred to me just now that maybe coining this term is even more fortuitous, because I think it would be a good trend if weapons with high Knock ratings were prized for their ability to "knock back" opponents. Where Edge weapons are generally best for cutters who must be able to jump while fighting to be effective. And Point weapons are mainly for thrusters.

Cutting and thrusting are special kinds of attacks that need not be associated with particular stats. But it would be the odd weapon that converts cutting attacks to Point damage. Probably the conversion would come with a cost in that it would not be as effective as cutting weapons dealing Edge damage but would still have its uses.

And Knock weapons would not generally be so good for cutting or thrusting but would knock the opponent around including stunning them and even knocking them out. It's a good balanced system I think. To cut effectively you need to be good at jumping while fighting, which is probably easiest to do using the Action button for auto-jumping. And to thrust you must use the Action button differently, coordinating lunges. Then there is Knock, for the uncoordinated amongst us.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 17, 2014, 12:20:37 PM
I've made some more changes to the built-in English for the next release. I'm beginning to be comfortable with pretty much everything. I must admit that I've been uneasy for a while.

The top menu now looks like:

Menu
 Use Item
 Work Magic
 Equip
 View Summary
 Arrange Inventory
 System

I've also changed "Knock" to Rest. This is the 2nd or 3rd of the Strength based ratings as mentioned above.

I like Rest because you can rest the weapon on its rest side, and because it also works as "the rest" or everything that isn't an Edge or a Point. I wouldn't mind if it was the third stat in the Summary screen so that it looks like 'and the rest'. I may arrange for that. On the other screens it's off to the side on it's own.

I also changed Effect back to Accessory. I don't think it was Effect for long, but I was reminded that the point of the built-in English is not to be neutral. Really every game should customize its text to fit within whatever series the game belongs to.

For the record, I base the built-in English on King's Field. Or what seems best for KF to me anyway.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 19, 2014, 06:01:32 AM
I've added a little fix to some extended combos that enable recentering the vertical view axis and mouse. Now there is a 100ms window to release the combo buttons so that they don't have to be released at the same time.

I don't know if the mouse recentering function is so necessary anymore since for a while know the mouse automatically recenters itself if left still for very long.

The combos work by antagonistic inputs. So if you hold left and right down together then that recenters the mouse horizontally. And up+down recenters vertically, this also resets the view visually. Look-up+down also recenters. As does turn left+right horizontally.

This fix just eliminates a potential negative experience for the player.


PS: The original plan was to put the inputs on a delay so that they could be processed in advance. But I don't think that's going to happen anytime soon. So this is a nice afterthought for now, as part of the campaign of late to tie up loose ends.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 26, 2014, 02:59:47 PM
Eureka!

I finally cracked the nut that was Brunt->Knock->Rest and maybe even something I've left out.

I woke up knowing I was still unhappy with this today. I spent all morning brainstorming alternatives. Technically it's the only work I'll do today because I'm heading out in advance of storms.

Dun dun dun, the new (and final) term is Area!

I'm not sure why this never occurred to me. Surface seemed like the right word, but too long, and too wordy. So I'd just about given up, and I decided to see if there were any words in its definition that might function as a lead. I'm sure I'd considered it before. But just before it occurred to me something like all weapons that aren't cutting or stabbing (in the hopes of stuff rupturing) are based on their surface area...

So it makes perfect sense that damage is being channeled through some surface area.

In lieu of this I'll probably consider alternatives to Point before I'm done. But #2 is definitely the trickiest. I'm both convinced and relieved that it won't be changing. If fact I don't even want to think about it ever again!


Edge 1  Area 2
Point 3

Fire 4    Earth 5
Wind 6  Water 7
Holy 8
Title: Re: STICKY: Random News
Post by: Holey Moley on April 28, 2014, 06:47:03 PM
Found a surprising bug today around locale selection. It turned out that do_use_builtin_english_by_default was being applied to Japanese computers!

I don't know how this managed to go so long without being caught by myself, but it was exacerbated by the fact that if there is not a LANG folder then the system locale is used, which is more often the case for me. Plus if there is a Japanese translation file in the LANG folder the bug was well hidden also.

So it basically wasn't setup correctly, but appeared to be correct under both of those conditions. It's only with an empty dummy LANG folder that the problem revealed itself.


Today I also added a trick to the Ex.ini file, so you can reset an extension to its default behavior (which can sometimes be more complex than a simple default value) by writing the extension with a . (period) directly in front of it. I've wanted to do this for a while, but could not arrive at a syntax that agreed with me.

I call this hiding the extension. Like on many computers files that begin with a period (.) are hidden. And I plan on adding the same functionality for whole sections at some point, but there's no rush.


PS: I also changed the English for the Arrange Inventory screen to say Pack and Unpack when asking for confirmation.
Title: Re: STICKY: Random News
Post by: Holey Moley on May 06, 2014, 05:43:44 AM
Here's a strange twist.

Because I was wondering how to translate the new do_start extension in the script file, I was wondering if the gettext plural forms could be used as a kind of a trick, so that each start_mode can be translated independently in one place. So in this scenario the 0 plural form would translate the SOM emulation mode 0, 2 for KF2, and so on.

That got me looking up the binary file format for the message catalogs since that needs to be added to the lib/swordofmoonlight.h portable file format library anyway. That looks like this BTW:

Code: [Select]
namespace msg /*SWORDOFMOONLIGHT::*/
{
/*For gettext-based script files*/

/*UNIMPLEMENTED: we'll need these*/
/*http://punt.sourceforge.net/new_svn/gettext/gettext_8.html#SEC155*/
/*http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html*/

typedef swordofmoonlight_lib_file_t file_t;
typedef swordofmoonlight_lib_image_t image_t;

/*todo: helpers for searching for MO files*/
void maptofile(msg::image_t&,msg::file_t mo);
/*always unmap after map (even if image is bad)*/
inline int unmap(msg::image_t &img){ return swordofmoonlight_lib_unmap(&img); }

/*nplurals: we'll parse the header for you
//plural: you'll have to compute plural yourself*/
/*reminder: add Unicode logic symbols to Ex.number.cpp*/
int nplurals(const msg::image_t&); const char *plural(const msg::image_t&);

/*gettext: int returns the length of msgstr
//this length includes 0 terminated plural forms*/
int gettext(const msg::image_t&, const void *msgid, const void* &msgstr);
}

Anyway, the funny thing, and the reason I'm posting is in order to implement the plural forms part of the Gettext specification you have to be able to compute which plural form to use based on arbitrary formulas that depend on the world language. There are a number of examples in here:

http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html

One of the longest used by Slavic languages looks like:

Code: [Select]
plural=n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;
So what's interesting is if not for the work done last year to add a calculator system (http://en.swordofmoonlight.org/wiki/SomEx/list_of_numbers) originally for the purpose of computing user provided damage formulas, there'd be no real way to do this at this time. But now, just in the nick of time, there is.

It's funny because this would've presented a huge stumbling block to implementing the Gettext specification from scratch. Which is necessary to do because the only real Win32 implementation on Windows isn't cutting it for SOM. I think because no one has ever used it with real-time applications like a game, or because it's not intended to be used with real-time applications.

There's no reason at all a Gettext catalog can't be used by a game in real-time, it just sometimes runs into problems due to however its implemented that drags the frame rate down to a crawl when it shouldn't be taking any time at all to translate each bit of text.


PS: I reckon in order to do this, since things like && and != are not part of the number calculator syntax I'll have to add extended Unicode logic symbols to the calculator, and then just substitute them for these digraphs when generating the formula.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 17, 2014, 12:05:10 PM

I just had a brilliant idea to let the tools be minimized by clicking on the title bar. It works well. It breaks from OS convention, but the classic look can't have a maximize button, or won't anytime soon, so that always looks funny since you can't have one or the other...

And you can't have a [?] button if you have the minmax buttons, so if I have to choose I definitely prefer a help button, although that's up to the language/theme pack.


I'm going to release a patch with this, but first I'm going to add a maximize button to the game window. For a while I always intended to add one (its currently greyed out) but I thought it would blow the game up to full screen. But what I realized, is I think it's better to actually just fill in the space with more letterbox.

Letterbox is already a feature, so this kind of maximize can be implemented in short order, and I think its more professional than stretching things out. There can be separate options for switching display modes on maximize (or just stretching out) added later. For now though changing the display resolution out from under SOM is just a reach too far. But this, this should work nicely.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 24, 2014, 05:37:06 PM
For the next release I am working a new project settings editor for SOM_EDIT. It can be seen in some recent attachments.

Things are going pretty well. Today I realized that since it uses a tree setup like SOM_MAP, it's going to have to have icons like SOM_MAP does. I don't seem to be very good at making icons, so it's something I try to avoid. But I realized as always in this world it comes down to me doing the work.

I don't like SOM_MAP's icons. I don't think they are befitting SOM, or really worthy of it. So before I could work on SOM_EDIT's icons, I had to make new icons for SOM_MAP...

I wanted to make something generic for the first icon set. If I could I didn't even want it to be fantasy based. But I could really think of anything not fantasy based that would be more generic. And anyway, what I ended up doing was just changing the background colour in the 3D views to white, and taking screenshots of SOM's models, and then scaling those down to 16x16 pixels!

This sounds nuts, but it actually came out quite well. The trick is picking the right models. They need to be generic, and fill as much space as possible, and look good on a white background. And ideally have good colour contrast.

I am quite happy with the ones I settled on. I think they are pretty generic, even to SOM, since they don't pick the models you might expect. I am especially happy with the choice for an enemy icon. It looks even better in the second screenshot, which adds contrast to it. It really captures the generic enemy feel I think, without being too specific. I like the NPC in that sense too...

The second screen is how the icons look in SOM_MAP. I can probably work on extensions to improve the colors, but I actually like the changes, especially to the enemy and NPC icon. The NPC becomes especially generic, it could be just about anything. It's not male or female. It could be a knight, a matron, or a priest.


In any event. These will be in the next release. The old icons will be relegate to the From Software language/theme pack for posterity sake. This is something I wanted to do way back on the first release that made improvement to the tools, but editing the icons was just too scary. I could see it going nowhere and consuming a lot of my time. This tack only took an hour or so and went along very smoothly.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 26, 2014, 04:42:54 PM
Here are the icons that will appear in the next release.

I made it so full color icons can be used, and they can be of any size. So the theme pack can make them larger or taller or whatever if it needs/wants to.

I think that maybe they could look better with some posterizing effects or something, but I didn't want to do anymore work since I think they look okay for the time being as is.

Maybe the sign and truth glass model are not the best, I don't know. I did tweak the green/yellow versions of those icons a lot to try to make them look better. Good enough is good enough in my book.


PS: I generally think that all icon sets should do the four colour icons this way. It helps to visualize them like little plastic people etc. laid out across the map and it's real simple to setup (desaturate->colourize)


EDITED: Oh and BTW. It really wasn't on SOM_MAP that the icons were loading up with a limited gamut. This (http://www.codeproject.com/Tips/152904/Load-a-color-bitmap-properly-into-an-imagelist) article explains the problem and a solution. I can't think of any justification for this behavior myself. Especially since LoadImage can and does load full color bitmaps AFAIK.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 18, 2014, 02:38:56 PM
I noticed just now that a lot of the graphics say "Making tool" instead of "Making Tool", so I went to check the website and noticed that it doesn't seem to be there anymore:

http://www.fromsoftware.jp/main/soft/som.html

Maybe it's a temporary outage, but I doubt it.


You can still browse the old site with the files in the web folder here (http://svn.swordofmoonlight.net/web/som.html) but I won't make that appear as a website on this site since it's not From's website here.

Of course you can open if you download it, and this (https://web.archive.org/web/20120216111746/http://www.fromsoftware.jp/main/soft/som.html) works for now. Sites can retroactively pull themselves though by blocking certain kinds of crawlers I think.  Presumably all of the images and downloads are also on archive.org, but I don't know.

There are no snapshots on archive.org after 2012.

Maybe the website changed its timestamp for each snapshot.

The biggest loss would be if From' isn't selling copies of Sword of Moonlight anymore.


PS: I'm still working on a visual SOM file editor. It's worked out surprisingly well. It also occurred to me that it's the perfect final tool for the core tool suite. It's standard icon will remain the same I reckon. It makes sense since the icon is an arrow pointing into a map that is same as SOM_MAP's icon...

It suggest that this is where you setup everything that goes into the other tools, mainly represented by SOM_MAP since that's where everything comes together.

It doesn't just edit the SOM file, it represents the entire project, so it's perfect for visualizing the entire project, and opening even more tools up that aren't available in the main SOM_EDIT menu. It can be used to open the advanced tools up for instance, right from SOM_EDIT.


EDITED: The preview image browser doesn't work on archive.org's snapshot. It works, but the larger images are not archived. I went ahead and sent the following email off as the 404 page suggested:

Quote from: mailto:webmas@fromsoftware.co.jp
Webpage down,

http://www.fromsoftware.jp/main/soft/som.html

https://web.archive.org/web/20120216111746/http://www.fromsoftware.jp/main/soft/som.html

Does the below information remain valid?

商品名   :   Sword of Moonlight 〜KING'S FIELD Making Tool〜
販売価格   :   7,000円(送料・消費税込)
支払方法   :   代金引替システム(郵便局)
購入方法   :   ご希望の方は以下の記入事項をご記入の上、
E-mailにて shop@fromsoftware.co.jp までご注文ください。
記入事項   :   商品名、数量、郵便番号、住所、氏名、電話番号、送付先住所、氏名、電話番号
(注文者と送付先が同一の場合は「同上」とご記入ください。)

※通信販売に関するお問い合わせも受け付けております。
※発送まで時間がかかる場合がございます。あらかじめご了承下さい。
Title: Re: STICKY: Random News
Post by: Holey Moley on August 01, 2014, 12:46:55 AM
Here is something random that caught my attention today.

If you look at this screenshot, and you're familiar with this tool, you might notice that the white and tri-coloured lines in the model view are minced up by the flat map tiles below them.

This is a common technique, albeit not perfect, since you might notice the lines going through the feet of the man, and the green line doesn't seem quite centered, although it is, but it doesn't appear to be again relative to the man.

Still, despite the deficiencies this approach tends to be preferred by modelers since it generally looks more pleasant. The trick is along the axis parallel to the point of view. The depth information for the lines is false.


It turns out that its pretty simple to distinguish the contents of the tiles from the tiles themselves polygons wise since SOM_MAP uses a different method of drawing them. After making a wholly new tool out of SOM_EDIT, I think I'm interested to try my hand at adding wholly new buttons to the already existing tools...

I think I may start by adding a handful of buttons alongside the two buttons on the right in this screenshot. One for pretty/dirty lines. One for no lines. One for no tiles. One for no non-tile components or whatever, and one for turning on/off colorkey.

That's five in total, and as it just so happens, that should perfectly with no room to spare. Actually there should be just a gap. It might be a good idea to separate the close button from the toggle group.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 03, 2014, 04:28:19 AM
I spent the last couple days perfecting the automap system. Well I call it automap, even though I just learned towards the end that the save file doesn't track the exploration of the map, revealing tiles along the way. Although I suppose it's still an automap in the sense that you don't have to build it yourself.

There were actually numerous issues with the system, and that was even after the first pass at making it merely presentable (if you don't mind your frame rate falling off the side of a cliff) a while back.

I think it's still really useful for developers, and players if they want to add it to a game for their own use. I think it would be very useful as a compass item if it weren't for the fact that it reveals the whole map.

There are all kinds of possibilities for extensions around the automap, but for now I'm just glad to have one more feature introduced by From' in working order. It's always hard to say how many more original features there still are that need work. I find new ones all the time just when I thought there could be no more.


I changed the tiny square to an arrow. It's hard to guarantee that the points on the arrow will always fall square on a pixel. I'm not sure it's even possible to guarantee that. So the arrow is larger than the 3x3 square. And I'm quite pleased with the fact that it was very easy to make the point at the middle of the back of the arrow more transparent than the rest (the arrow is made by shifting the square around) so that the arrow appears to be a 3D cone, or at least it does on a white background (I suppose I could make that vertex itself whiter) and the pulse seems to flow towards the tip of the arrow as if it's pointing you in the right direction. Which is helpful since it's easy to confuse an arrow with a view cone.


PS: I also just fixed an issue with the full screen tints not quite covering the edges. I thought that was because the final transfer was off, but it was just the tints didn't go all the way to the edge. These fixes will be in the next release unless someone requests them. I guess I have to look at the regular maps now before I can do anything else. There'll probably be a follow post on that after a day or so.


EDITED: Here is a list of changes for posterity sake. There is an extension, do_fix_automap_graphic. The map is constrained to be proportionate, so it can only be 300x300, 600x600, or 900x900. The arrow scales with the map, except at 300x300, in which case the 600x600 arrow is used. Of course it runs at full frame rate. I thought it would disable filtering to make it more crisp, but it seems crisp enough as is.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 04, 2014, 08:19:16 PM
EDITED: I followed up on the above post in the form of a patch to the current release, since I'd inadvertently unearthed a critical bug while working on it.

What I just realized while finalizing the work (effectively nothing changed versus the patch) is all of the options in SOM_PRM are for maps with a blinking marker for the player's location. I was worried that the image mode would be confused with a map and would require more work to tease it apart, but it turned out its just one more way to setup a map...

But on the other hand this option bewilders me come to think of it. I must have reasoned before that it cannot possibly be a map because it should be possible to use that item on every level, which can't possibly have the same layout as every other level, therefore I think more work is probably in order since it must be erroneous to show the blinking cursor in this mode, as it must be impossible to treat this mode as a map unless the game consists of one level!

I'm going to fix this, and remove the cursor somehow, although it will prove difficult I think to tell them apart, it should be an interesting problem to work on...



PS: Funny how writing about something helps to put your thoughts in order/perspective. I'd already gone back and changed the translation of SOM_PRM to reflect that all modes are map modes.


Strike: I'm actually going to leave this alone. What I think would be nice is adding another option to SOM_PRM's menu so that an image (possibly a note or clue, not even a map) can be displayed without the blinker. It occurred to me that this kind of map could be useful if you want the player to have to reason on whether it's a right fit to the current level or not. That might even be desirable over using the three maps that changes from level to level.

In which case the blinker helps the player to realize the map doesn't match their surroundings.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 07, 2014, 11:32:55 PM
I think I'm going to prepare a micro release featuring usability enhancements for SOM_MAP's tile editor instead of drilling down on translation/script for the next release as I'd originally intended.

I don't think I've voiced that, but all year I've been working towards a suitable translation/script environment so I can make good on a promise to translate and take a look at Hearts Collide, but also because it's the logical next step.


Last night I dug into the guts of SOM_MAP's 3D painting subroutine so that a new toggle button could hide the contents of the tile from view except for the current selection. The trick was establishing a way to know what is being painted when so that it can be selectively displayed or not.

I'd like to keep this up, one thing I find lacking is you don't get feedback of the changes you make until hitting the Record button. I intend to change that so that Record is initially a disabled button, and becomes enabled once you've made a change, or in other words, its only enabled when previewing the changes you are about to make. Or in other words, WYSIWYG.

I think it's probably a good idea to initially disable the Record button on all screens, but you gotta begin somewhere.

Another problem that's always bugged me is the crazy coordinate system that is used for rotation. It's inadequate for using all of the available axes since by the time you move the third (or even the first) axis it's any bet what will happen. I think this has to change, even if initially it might make the event-based animations work differently (although for all I know they already do)


But what really made me want to tackle this right now, at this very moment, is I recalled that in game, if an element is rotated so that its vertical axis is not straight up and down then its clipping ("collision detection") is incorrect. So that's a straight up bug that like all of its buggy kind must be dealt with ASAP, period, end of story.


Another idea for a feature I have is a checkbox to unlock the X and Z rotation axes. Just like a safety lock. And it seems to me like the vertical sliders should be vertical, although that's up to the language/theme pack. Especially for the elevation, it's really unwieldy, and seems like it would work much better if it was extra extra long, in addition to being vertical.


PS: I don't think it would be hard to show more than 3x3 tiles in the setup screen. I don't think I'll work on that for this release. But it seems like if the multi-select feature was used on the map screen, then the tiles of the selection could then be shown in the viewer. Another feature that would be nice is a way to move to the neighboring tiles without closing the screen out. I think some kind of UI for that could be added to the information area. That could also help if the multi-select technique chose the wrong tile for its central focus.


EDITED: There is a screenshot of this work so far here (http://www.swordofmoonlight.net/bbs2/index.php?topic=197.msg1699#msg1699)
Title: Re: STICKY: Random News
Post by: Holey Moley on August 08, 2014, 11:36:53 PM
EDITED: Updated screenshot to final version. The other two screens have similar overlapping layouts. These layouts will be copied over onto the default/Japanese files in the TOOL folder.

EDITED: Updated again to show inclusion of the rotation around the ground axes for NPCs (and enemies) and the new layout brought about by that. More info on this update two posts down.

Here is a screenshot of the direction I am heading in for the next release.

But the reason I'm posting random news is, when I added the vertical slider and +/- buttons, two things came up. One the slider nub was different sized than with the other sliders, being vertical, and the +/- buttons looked different from the ones on the main screen...

This led to two unexpected developments. 1) I did my best to standardize the nubs, and was even able to make them chunkier so they are easier to grab hold of, I say easier because they were always a pain, and are only slightly better now. I may try to do something custom with them later on to make their selection box less exacting. 2) the new +/- buttons had to be drawn custom, and the reason they looked different that way is because the custom routine averaged the pixels, so they come out looking generally cleaner, if not a bit fuzzier. So I went ahead and had this done to all of the buttons (unless the language/theme pack uses a classic setup) so that the end result is a much more modern in appearance, and generally more polished GUI.


PS: Not only are the nubs tricky, but I find the sliders pretty clunky since they are generally on the short side. So in this new layout I've made them considerably wider, but not too much so, because also up/down tickers have been added to the side. My goal is to make the vertical axis slider act like the others, so its range is -1,1, and to change the increments to 0.05 instead of 0.1, and to make the ticker increments 0.01. And lastly the big vertical scroll bar is in increments of 1 and has a range of -20,20, which is +/-10 more than the maximum, which I think can be confining...

Ultimately I want the user to be able to bypass the sliders if they want to and input any number in by hand, which won't be forbidden. But the 3 kinds of sliders/tickers will all be decomposed and recomposed, and any precision less than 0.01 or greater than +/-20 will be maintained as a property of the textual input box.

Since this screen is were really all of the world building happens, I think its worth of as much attention as can be afforded it. Oh and another thing I did last night was spend a lot of time nitpicking little glitches in the tool screens here and there, so that all combined this coming release is going to be a sight to behold.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 11, 2014, 02:44:17 AM
Updated with second screenshot featuring a totally new, and much improved layout. The old screen was so cramped and full of negative space it was abysmal!

Here is a new development for the English language pack. This is the Neutral language pack, but I think I'll probably retain this when I go to work on a King's Field themed package in the future.

This is SOM_PRM, one thing that has always bothered me is the damage coefficients, how to represent them, mainly because everything is so damned cramped on these screens. I honestly don't think there needs to be two identical sections for attack and defense, the magic screen doesn't work that way, but I think it will evolve into every piece of equipment having both attack and defense capabilities (probably even item like capabilities too) that just makes sense.


Lately I've been trying to maximize real-estate for the sliders. So I'd decided by god, I don't care if 1,2,3 is used instead of names, there's just no room for names. I had thought about using balloon tips for the names a while back, but last night I thought about maybe a legend on each screen, but instead I realized it would be simpler to put the legend in the grouping boxes like so...

I was elated that everything fit, it wasn't a sure bet that it would. At that point I was happy with just 1,2,3,4 but I thought, lets see if this can't be made easier. So I think I've gradually warmed up to the idea that language packs should be intimately married to their fonts, and I'd decided that MS Gothic and this language pack are probably inseparable. So I decided to just see what symbol like characters I could find in MS Gothic.


You can see in the screenshot the 3 "physical" attributes all use rune like symbols, that are all made out of three lines, of roughly the same length. And they all pretty much match the implied characteristics of the attribute. It's fortunate because these are pretty much all of the three lined symbols in the font, and they all just happen to fit their parts.

Here, I will write them out. ≠ for the edge, or slashing. You can see the diagonal cut in the symbol. ≡ for surface area, or blunt force or whatever, you can see its like a square, or area. * for the point, or poking or whatever. It looks like a spike coming right ate you doesn't it.


The main reason I chose to use symbols over numerals is I wanted the "magical" symbols to have a different quality to them, so that you can tell immediately where the dividing line is based on the symbol alone, so that it doesn't have to be illustrated explicitly. Which especially hard to do because of the odd number of each class.

For magics, they are easy to remember, alpha beta gamma delta epsilon. α β γ δ ε. They are by no means straight lines. The MS Gothic font renders them in an almost cursive way, so that they appear to be magical sigils of sorts, but simultaneously they can be non-fantasy symbols too, like they'd work in Armored Core to designate special kinds of damage, like heat, and ECM (electrical malfunctioning, suddenly I'm wondering what ECM stands for. It doesn't appear to be a real-world acronym)


I've always thought it would be better if symbols were used instead, since there aren't really words for what they mean. Demon's Souls uses symbols, albeit not good ones. This way there's no need to make symbols, or at least there are standard fall back symbols.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 13, 2014, 12:08:00 PM
I updated the screenshot two posts up just now to show a change to the layout based on the discovery that NPCs can also be rotated around the ground axes...

I prefer this layout since it makes them all identical except for what is missing, and so minimizes the visual impact of the switch. One thing that can't seem to be perfected visually is the switch between these kinds of screens. It will likely always be jarring for a split second.

The MAP files contain all three rotations for NPCs and they are read in and written out. They don't appear in game though, either because MapComp.exe doesn't copy them into the MPX file, or the game player simply ignores them, or both. Of course I will be looking into it...

You can see the NPC is turned to be lying on the (or actually in) the floor. There are clearly use scenarios for being able to do that to NPCs (and enemies)

This new screenshot also shows off the unlocking mechanism I've decided on. It shall use Q on the keyboard, and not have a mouse counterpart. NPCs will be locked always. I don't want to allocate an ID for a mouse-based approach since it would look like an attribute of the map element. A right-click popup menu is the only thing that would work, but I'm very hesitant to add those to these tools since I think they'd go against their (the tools) appeal.


EDITED: for the record, MapComp.exe does seem to compile the XZ (or I prefer XY) rotations for NPCs/enemies, so that just leaves adding that into the game player. I sort of regret not making a thread for this release, since its getting pretty long in the tooth and I'd have liked to have posted more on it than I am willing to dump into a Random News thread. Because I've worked on it for so long now, I don't think I am going to work on the player side before taking a break from this. I still have so much to do before I can call this release a wrap just on the editor side...

I have NPCs working XY wise, I need to work on objects, which work but are not displayed correctly in the editor, and I need to decide how to get at the positional tweaks for the items (I don't think the other classes are tweaked) one way or another. I think I am done with programming around the interface. It took a few days to program all of the sliders and things. Mostly I've just encountered a lot of irresistible ideas/diversions along the way, which I haven't even posted about because they are just so numerous and nerdy. I'll try to recount as many as possible when I blog this release.

I am also not going to mess with the rotations. I just don't want to get into it, but also I want to spend some time getting a feel for SOM's way (even though I'm pretty sure its not very good long run) now that that's possible thanks to the added real-time visual feedback.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 20, 2014, 03:12:06 PM
This morning I restored SOM_MAIN's splash screen.

I only noticed a little while back during this release cycle that it was missing. Because this release draws the big buttons on SOM_MAIN and SOM_EDIT's main screens at one point I needed to compare them to the original apps, and noticed the splash screen then. I'm pretty sure it's been missing from "SomEx" since forever...

Although I can't figure out why. Easier than figuring out why would be to just make a new splash screen (my assumption is SOM_MAIN's program uses some really unsanctioned trick to determine whether it's being opened anew or reopened by SOM_EDIT with it's close out button, and for whatever reason when running it through SOM_EX.exe that looks to SOM_MAIN enough like being run through SOM_EDIT.exe, and so it doesn't throw up its splash screen)

I wasn't going to put it back, because I couldn't think of a nice way to do a splash screen, since the program really doesn't take long to open, its not warranted. But it occurred to me in the meantime that FromSoftware's name is nowhere to be found on Sword of Moonlight, so I wanted to put it somewhere, but couldn't think of anything other than the splash screen.

The old way didn't fully cover SOM_MAIN and looked like it was drawing over the desktop. I know newer versions of Visual Studio do this, Microsoft's flagship application, but it looks bad IMO. Especially given SOM's circa 2000 overall presentation.

So what I did is stick the copyright from the King's Field start screen in the splash screen, since I reckon that comports with From's wishes. And added a frame so SOM_MAIN is fully covered by the original splash screen. I couldn't make the window appear to be active, ie. coloured in title bar wise. But I figure that it's actually better to not be active, since its an non-interactive window, and suggests that the program is not yet active anyway. It can't be moved and the cursor icon is an arrow-less hourglass or spinning thing on Vista.

Plus I made the splash screen show itself as soon as possible, so the application feels as responsive as it can be. It closes after SOM_MAIN's window appears, or in 3 seconds, or in the difference between the two. Theme packs can change the image and size, but can't change the information in the title bar.

I chose to use the toolbox style title bar, but on Windows 7 it appears the same. I haven't tested it on XP yet, but will have to before dropping a new release. I am finished with all of the work for the next release, but I still need to work on the Japanese EXE files in the TOOL folder so they will reflect the same enhancements so far made to the English language package.


EDITED: The coverage is not as much an issue with the new setup, because the windows fade in/out around the same time. A theme pack could probably live with a smaller splash image (and if the image isn't in SOM_MAIN's file then the splash screen won't appear)

EDITED: On XP the window appears active, but I also noticed that XP has some ambiguity around activity since its possible to make two windows appear to be active if you select a bottom window when another application is active. It could just be that my XP box is really funny, but it behaves in lots of ways that are really undesirable that I haven't been able to look at so far, which if I knew for a fact that all XP installs are the same way then I'd almost be ready to give up on XP altogether!

(I do understand this XP problem to a degree. It's shared with other older programs like Solitaire. I think if there is some way to make SOM's tools appear different program signature wise the system will not interfere with it ... presumably it thinks it's helping, but it really isn't. It is something I'd like to remedy eventually.)
Title: Re: STICKY: Random News
Post by: Holey Moley on August 21, 2014, 05:02:34 PM
I think these symbols (three posts up) will have staying power because its clear that the the first set of three can easily morph between one another, because they are all formed of three lines (also representing their three-fold nature) but the same is also true for the five symbols because if you look at them closely you'll notice that they all contain the same basic 3-shape just shortened and or elongated and angled in different directions...

The only other lowercase Greek letters that follow this pattern with the MS Gothic script are η (7th) and ω (last) and omega looks like epsilon/Holy turned 90 degrees, so this would seal the number at 5, which is probably for the best anyway. ω would probably be good for representing Void magic. Maybe everything between (ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ) could be used like an EM spectrum since they (epsilon/omega) are turned at 90 degrees like an electromagnetic wave. That could offer the kind of extended range of magic like powers / notational symbols that might be useful in an expanded universe that more resembles the physical universe than the classical elements do. Of course if you happen to be Greek this will likely look weird to you, so you'll have to come up with your own symbols :rainbow:
Title: Re: STICKY: Random News
Post by: Holey Moley on August 28, 2014, 04:08:21 PM
I told myself I would hold onto this until I was done/ready to writeup a blog post. I will still be doing that, probably before the weekend, but I seem to be so full of enthusiasm that I need a release, and writing for the public is a good way to organize your head, and the unplanned micro/surprise-release ahead could benefit from some writing about it in advance.


I noticed during the last release just days ago that there were issues around the Windows 7/8 taskbar that I had not personally encountered because I keep most of my work files on a networked drive, which to this day Windows still treats as a second class citizen in the disk world--I wonder if it does the same for external drives, like thumbdrives too or what--and as such I hadn't encountered the pinning element since it doesn't work with network addresses, not even when they are "mapped" to drive volumes.


So I hastily prepared a patch to sweep all of the embarrassing stuff under the rug, and I thought that would be the end of it. But afterward I wanted to go a little bit further. I gotta admit XP is feeling kinda sub-optimal these days, and Vista had such a stigma I doubt anyone is using it, so I reckon 7/8 are dominant right now. 8 is like a puzzle box to me that I still can't believe anyone can use effectively for anything, but I know it uses the 7 style taskbar, albeit without the Start menu. So I wanted to seriously invest in this new feature set, also knowing that once Microsoft adds a feature that lasts more than one version of Windows then it is almost always sure to stay around... forever.


The new "pin" setup impose serious restrictions on applications that never existed before. There's nothing wrong with the way SOM works, but it's completely antithetical to the way the "pin" system works. Not only can you not pin the tools, the one tool you can pin is SOM_MAIN, and you rarely use it for more than half a minute before moving onto SOM_EDIT. So if you pin it then its pin slot will just be taking up space even after SOM has loaded itself up. And of course in our case, extended SOM_MAIN can't even be pinned, because it needs to go through a launcher.


Taking all of this into consideration I began trying different things. I'm pleased to announce that I'm really pleased with the results, which is nothing less than a complete rebranding for SOM, and also a window into its future development.


I've tried to gather everything I could into one screenshot to share. The one thing that is missing can be seen in screens there were provided along with the late patches. That is that all of tools are grouped together in one place on the taskbar...

Also I've added a Tasks--- section to the right-click menu which can't be seen. It just contains one entry so far called Setup. I may've posted a screenshot of this, I can't recall. I think I will probably add a Tasks submenu to the start menu so that you can customize the tasks to your liking.


I finally figured out how icons work, and have standardized them. Before some of the icons didn't even support the big view in the taskbar and icons were sampled differently in different places. The reason I think I could never understand icons is the obvious LoadIcon API is used to load "big" icons, which seem like they would've come later in Window's lifetime. Whereas the small icons used on windows must use the LoadImage API. It's totally backwards IMO. What's stranger is the constants for setting the icons are 0 for the small icon, and 1 for the big icon, suggesting small was first, even though LoadImage seems like an API that setup wise would've came well after LoadIcon, and the small icons use a system metric that is prefixed, but I digress. Naturally I standardized around the tools' icons. I think the sword icons could benefit from being remade from scratch, but I did improve them somewhat. The black shadow owes to the fact that they came from the original SOM_MAIN icon with a black background. The thinner black contrast comes from downgrading the 32x32 icons with transparency around the edges I think. 7 seems to have dropped the shadow effect on icons, so it would be better I think to have icons without a shadow. But they'd still need an outline so not to blend into the frames.


First things first, in order to have an icon that can be pinned, and because since 7 Microsoft seems to want to kill the systray outright by hiding all of the icons so that users must manually opt in without having any idea that the icons in the systray even exist in the first place! When opting out is super easy to do just by removing any systray icons you don't want. This leads me to believe that it's only being kept around because it's owed to application that depend on it, even while cursing those applications to not be able to expand their user base by virtue of new users not knowing where to find the application in the systray...

So in other words, SOM can't depend on the systray going forward, and while I'll continue to support it because I prefer it, there has to be an alternative. So the Pin slot I've given to SOM_EX.exe, the launcher, and it is designed to behave virtually identically to the systray icon.


This means SOM_EX suddenly becomes the entry point into Sword of Moonlight. I'd always intended that to be the case, I just thought it would be more of a minimize to the systray kind of setup. I'd made an icon for SOM_EX.exe that looks like the tool icons modeled after SOM_SYS's in fact, except I changed it to look like an ampersand, or & in a font that look like Ex. Because & means Et, so imagine the t turned 45 degrees...

I'm not sure why I made the icon, the file just needed one I guess, and it seemed like it would be fun to try. It never got used since the Start.bat file would assign SOM_MAIN's icon to the shortcut to SOM_EX in the Start menu. But now SOM_EX has to be assigned the Moonlight Sword icon, and so the & seemed even less worthwhile in hindsight. Except! for the fact that since the tools are all grouped together into one icon now, and the icon shifts from SOM_MAIN->SOM_EDIT, then it occurred to me that it would be better if SOM_MAIN's icon matched the other icons. So as it turned out the & icon was perfect for this purpose. So I've unilaterally decided to change SOM_MAIN's icon to that. Of course the icon is up to the language/theme pack.

The new & icon for SOM_MAIN helps to illustrate I think that this isn't old SOM_MAIN, and reminds users that SOM is extended. Plus since SOM_MAIN is the entry point to all of the other tools, the & prefixes them as well, as if saying this is SOM_EX. To be honest I would prefer to change the file name of SOM_EX, and probably will, but I don't know what to change it to. SOM is already taken...


It was around this time that I also had the idea to idiot proof a couple things. I added the big button seen in the screenshot to SOM_MAIN.exe so that if anyone is just poking around or trying to hard and so ends up running SOM_MAIN directly, they won't get far, and will be helped back on the right track. I imagine for people who are too socially awkward to ask for help, this might save some people from having a bad experience.

And in addition to that I followed through with an idea I've been debating with myself for a while, of having Start.bat run SOM_EX for the first time. Most installers let you decide to run the app after the installer finishes. I didn't want to give the idea that Start.bat is a launcher. Its real purpose is to setup the Start menu. But also my thinking was, some people might not even be able to figure out the Start menu, so at least this way they will see SOM in action at least once as a reward for downloading all of the files. Again these same hypothetical people are too socially awkward to just ask for help, and probably not at all persistent enough to be using software to develop anything in the first place, but hey, first impressions are everything.

EDITED: upon reading this it also occurred to me that Windows 8 doesn't even have a Start menu! So Start.bat may be the only way to get the program onto your taskbar and pin it there. 8 is truly insane. I find it very difficult thinking in terms of 8. It's a good thing only hypothetical people are using/trying SOM right now, or I'd need to be coached on how to smooth out the 8 experience, but I think this release should go a long way towards that, if not as far as 8 allows. Lets be honest, there's probably no way to smooth out 8.


The reason I decided to do this in fact was the way 7's extended taskbar works is the program itself needs to set it up. So until the program is ran for the first time the right-click menu is not populated. So I thought Start.bat can complete the process by running the program and populating this menu...

But what totally surprised me, and hadn't even occurred to me is first of all, this gave a perfect opportunity to at least show off once the ASCII art in the commandline as can be seen in the screenshot. But more importantly by running the program for the first time, it can actually complete the setup process by prompting the user to setup their language/theme and update all of their components. Which is something that feels more like part of setup than the initial run. My thinking is people might be surprised or let down at least if they are asked to update when running for the first time, even though that's how the PS3 seems to do everything! But if the update procedure is part of setup then they will be more comfortable.


Finally it was at some point during all of this tinkering that I realized the "Setup" program, SOM.exe is actually a spot on metaphor for the Dragon Sword. And because SOM needs to shutdown in order to manually update it (without chancing running into a lock) that is like the Moonlight Sword in its inert state (aka. the Dragon Sword) and so in order to differentiate the icons between SOM.exe and SOM_EX.exe's new icon (which up to this point were identical) SOM's icon could be like the Dragon Sword, basically a desaturated version of the Moonlight Sword. And I thought not only is this a cheap and easy way to make an icon, it would also be visually interesting when doing just-in-time updates since the software would startup with a greyed icon asking to be updated, and then become fully lit up when it's ready to go!


The only problem with all of this is there is currently nothing, literally nothing, to show for the SOM_EX program. It's a launcher after all. And what's more since 7 the program shows a thumbnail in the taskbar, even if it has nothing to show. As you can guess the default for nothing to show is not pretty.

And on top of this, the name for SOM_EX in the Start menu up to now has been "Sword of Moonlight". But not only did this title not look well to me in the taskbar, especially next to the more spartan titles, SOM, SOM_MAIN etc. neither is SOM_EX itself necessarily "Sword of Moonlight", even if it is an entry point. So that coupled with the way Windows 7 generates the name of apps in its extended taskbar forced my hand to totally rethink the Start menu...

So what I did, and this can't be seen in the screenshot, is change the names of the shortcuts to "Dragon Sword" and "Moonlight Sword" respectively, further embracing this relationship, and I think making a more enduring product in the process. However in the extended taskbar menu "Dragon Sword" is referred to as Setup, since that's its task, and its window title is SOM as you'd expect, not Dragon Sword. However that is its product description, since that is one way that Windows 7 generates the names of applications in the "extended taskbar menu". And likewise for SOM_EX.

And likewise just the same the window title. Not being "Moonlight Sword" that is. I tried different titles, but ultimately because the SOM_EX taskbar title is meant to be identical to the systray icon, I went with that. I changed what the systray icon says too. It now just says your username, so that's the title of the SOM_EX taskbar icon too. Your user name next to the Moonlight Sword icon, suggesting that it's your sword in hand. This is a detail that I think communicates and empowering message, but also it's something that's just a coincidence. The systray icon will need to reflect who the user is ultimately, so that's that.

The Windows 7 taskbar also has extra features I think that let you change its colour to signal different notification states, and it has a built in loading bar too, there may be other things as well. Actually, this gave me the idea that the jewel embedded in the Moonlight Sword is perfect for an LED like status indicator. So rather than modulating the colour of the sword to indicate status I reckon better to use the jewel, since the sword pretty much stays cyan anyway.

The red jewel comes surprisingly well contrasted in the 16x16 icon just by chance. I wonder if its single pixel would be visible enough if made bright red or green.


PS: The thumbnail visible in the screenshot is kind of a hack. To get it to display if must be drawn into the corner pixel of the display, which isn't reliable on multi-monitor setups, even though I hope that's going out of fashion since widescreen displays offer more than enough workspace (admittedly CRTs definitely did not) for the sane among us. So... basically the work I have cut out for me is to move the splash screen into SOM_EX one way or another, so that it can be displayed center screen, which ironically seems to be the only way to get the thumbnail to work (there's just no way to generate it from off screen.)

After this release there will still be multiple instances of SOM_EX.exe running, but the eventual goal is definitely to only ever have a single instance. It will just take more work to get there that hasn't even been scheduled yet.


PPS: About the screenshot. I don't use big icons like this myself, or grouping, and my taskbar is usually two or three times as wide as this, but I wanted to show it in more of a default arrangement, and to show off the glorious big icons. I don't know if big is still the default these days, but I am pretty sure taskbar on the bottom is still default and it's usually as tall as the icons are. I very much prefer titles in my taskbar and couldn't imagine working without them.

Also BTW, you can see my icon is named Michael. There will be a team based messenging service as the centerpiece of SOM_EX or whatever it will eventually be called in the future. But by default it will probably still use your Windows user name, and that was just the easiest thing to use as filler for now. Plus the contents of the registry depend on your username, so it's important to communicate "who" you are using SOM as I think. I very much don't like to hide implementation details from users. I think in the long run it's not helpful. Especially for applications that are geared toward software development.


EDITED: So in both places in this screenshot where it says "Swordofmoonlight.net->Sword of Moonlight" it should say "->Moonlight Sword" now instead. My intention is not to monopolize the Moonlight Sword here, but to contrast it with the Dragon Sword. Plus I do think that "Moonlight Sword" is just easier to ramble off than "Sword of Moonlight" as program names go. And Swordofmoonlight is already in the folder name, so it seems a little bit repetitive/silly to repeat it.
Title: Re: STICKY: Random News
Post by: Holey Moley on December 06, 2014, 05:45:27 AM
So tonight so far I was able to improve things somewhat around minimizing SOM. I noticed after working on SOM_MAIN (adding a number of new screens) that the new screens I'd setup didn't keep the program from minimizing from the taskbar.

Note that the standard way Windows works seems to be to keep programs with popup screens from minimizing. Even clunkier if you right-click in the thumbnail on the taskbar for such a pair (or more) of windows the right click goes straight though the thumbnail with it disappearing and I think the windows are activated. But still its really strange to click on a window and have it disappear out form under the cursor! And as soon as the button is down at that; Microsoft engineering at its finest.


I never liked that behavior, but I couldn't get to the bottom of it for the longest. Tonight I was bound and determined. I caught a break when I noticed that the windows below the popop screen were disabled. Disabled is a status flag that can be discovered with software like Microsoft's own Spy++.

I forgot that you could disable main windows this way. Usually disabling means making a window element (also called windows by the API) grey.

Apparently SOM disables all of the windows that are behind the active window. This is also the apparent behavior of the plain "modal" DialogBox API provided by Windows, but curiously SOM doesn't use that. I think it uses some kind of middleware that abstracts away the standard Windows APIs. It does lots of strange things this way, but in other ways it makes things easier, because its behavior is very regular.


So anyway, the main problem it turns out was this was disabling the special taskbar window I'd setup, it's invisible but has an icon in the taskbar, the reason being so that it can have a [-] minimize button, which looks strange without a maximize button, and is incompatible with the [?] help button.


I developed a system for keeping the bottom windows from being activated, since I didn't realize that disabling them probably would've worked just as well (I haven't tried it so I don't know if the beeping flash behavior is part of being disabled or not) but I decided to keep the new behavior since it lets you reposition the bottom layer windows--which was something I'm not sure I even realized was possible--which I reckon could come in handy if you need to see the information on them (it also has a side effect of changing the cursor to things like an I-beam when you hover over a text editing region, but I'll probably just work on that later. Will probably change it to a (/) cursor)


PS: It's a little weird that you can drag the bottom windows around with this system but can't resize them. I may even take a page out of SOM's book and make it where clicking the bottom windows at any place drags them, the way you could drag the black regions of SOM_PRM and SOM_SYS before with the weird frameless setup that From Software used originally (I think the reason the tools have so many quirks is the programmers couldn't get the application to behave the way they wanted it to, so they just did all they could to make it just barely work!)

EDITED: I think that would be a nice addition. That and eliminating the beep/flash when dragging the bottom windows is probably a good idea. Using the cross arrows cursor is probably a good idea too if it isn't annoying. Maybe only if the cursor is not continuously moving.


UPDATE: I tried setting up the move cursor but it wouldn't work right on Vista because the buttons and menu (click the icon) areas on the top of the window seem to exist outside of the actual window. So unless you have time to invest in the new window manager introduced in Vista it isn't worth the trouble really. On the up side it turns out that the flashing window is a side effect of the background window being disabled, so all of the code I worked on to emulate that effect proved to be unnecessary. Now I just wish I knew why the windows don't minimize the first time you click on the taskbar.
Title: Re: STICKY: Random News
Post by: Holey Moley on December 20, 2014, 03:16:23 PM
I thought I'd posted in this thread about the new buttons that will be sprinkled all around and are going to appear in the next release, but I last posted about them here (http://www.swordofmoonlight.net/bbs2/index.php?topic=206.msg1756#msg1756) instead.

I'd decided the buttons would say Transcript and Content, the first kind linking to the "script" and the second linking to the game's various media folders. But last night after watching a movie (August: Osage County) I had a kind of aha moment...

Both in the top and end credits the playwright gets acknowledged for both the play the movie is based on and for writing the movie's screenplay. So after two whacks on the head it occurred to me that "video games" could really use a similar kind of word to lend them legitimacy and simultaneously recognize that the script of a game is not only likely nonlinear but also non-sequential. So I've confidently decided to start calling the main function of SOM_MAIN writing a gameplay.


Game play is something people say, but it's a nebulous term and not officially recognized as a word and I am frankly unclear on what it means myself. The act of play? Game "mechanics"? The interface? I think I prefer interface, meaning not the on screen elements, but something more like the visual/tactile interplay. But I don't think anyone ever says gameplay meaning the literacy of the game so-to-speak. But I think it's a more effective word used this way and steals some of the toy like nature of games away from them and puts it over on the side of literature instead...

Which I feel is supremely important if games are ever going to be a legitimate (read: good, worthwhile activity for adults) art form. 


I am also very much tempted to relabel SOM_MAIN's 3rd button to simply say Gameplay, but I can't do that, even though it would be nice, because you can do so much more than write an original gameplay with it, even though that's it's primary function. Likewise the word gameplay won't appear withing SOM_MAIN for the same reasoning. But the buttons that link the other tools will use the term, and some extensions may use it, and some comment fields may use it, but also I think the SCRIPT variable in the SOM file won't change, and script will remain a catchall phrase.

A gameplay is more than just disembodied text; it can also include some programming elements. Not everything, but where programming is essential to the unfolding events that is an element of a gameplay also.


Second order of business, I consider Gameplay to be a warmer word than Transcript (although Transcript will still be used on SOM_MAIN's editor's main screen) and Content to be of about equal warmth to Transcript, so I went seeking a new word to use in place of Content. What I settled on is "Library", which is short for Media Library, which is something that has been bothering me of late...

One ultimate goal for SOM is to manage a media library. Just a system where you can register media files into it's library. I feel that's important because one thing that I haven't really heard of that seems obvious to me is in the near future, since music is digital, then I don't see why videos and games and things would need to license music anymore, because if you own the music, then you have a right to listen to it while watching videos and playing games. So if an artist wants a song to play in their game, then the game can just search for it in the player's library and play it. Licensing music is incredibly complicated and that would just make it a non-issue. So that's one of my goals for SOM. And so while the Library button for now will just open the media folders in the project's DATA file tree I think it would be worth the work to eventually extend that to selecting media from a personal library (which can include stubs that are metadata without actual data behind them too, that could either just be placeholders or could be streamed on demand)


PS: I'm also renaming SOM_PRM's 3D Preview buttons to say Visual, which seems both fine but also anticipates that popup screen housing a new Armored Core style Paint system, or customization basically. The new system will probably be completely hidden until you single click the left mouse button without dragging. Then it may be just a popup menu or may toggle on screen elements.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 02, 2015, 05:01:16 AM
I just decided on how to handle Big Endian with http://svn.swordofmoonlight.net/code/lib/swordofmoonlight.h even though I'm not sure how big of a deal that is these days since Apple bought into x86/Intel for its Macintosh line like a decade ago but there are probably other BE systems out there.

One thing that kind of makes me angry is it seems like C the programming language should have some intrinsic(s) way to represent cross Endian data types but it doesn't seem to. That would be so obviously useful it's really irksome. Anyway since C doesn't the plan is to just require non-Little Endian systems to use a C++ compiler instead of C which allows for custom made intrinsic-like data types. This way cuts down on a lot of code bloat and eliminates opportunities for human error.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 31, 2015, 08:36:22 AM
Something that's always bothered me about the copy/paste paradigm is if you need to paste an item into a list, then if when you paste the item does it displace the highlighted item? or is it to be placed after the highlighted item?

There isn't a good answer for this. If it's the first option then there is often no way to paste into the last item in the list. Sometimes you can select the area below the list, but not always, and usually keyboard support for that if present is awkward.

The second option is no better, you can't then paste an item at the top of the list!

I definitely prefer the first option, since the highlighted item then becomes the newly pasted item. In fact yesterday I tried to add this functionality to SOM_MAP's programming screen. At first I added a button that inserted new instructions above the current selection (so that the newly inserted item becomes selected (this may be an extension provided by SomEx) but the cursor itself doesn't move) but I soon realized that the ability to double-click the instructions in the menu meant that there can only be one way to insert, because there isn't two ways to double-click!

So instead of a button I changed it to a checkbox to change the way the insert button behaves. Except there is an option to make a checkbox appear like a button, so I used that so it looks like a toggle button instead, since that looks much better on that screen. In hindsight I realized that in that case inserting after was generally more useful, because you are essentially building up a program from top to bottom, but with the toggle on to do that you'd have to think in reverse to do the same! So although I find it more intuitive toggled, I think it would only be useful if you are coming in to alter an already built up program.

Still when building up an outline do the same rules apply? I don't know. I think the >> and << buttons do advance the cursor. But I prefer to enter and paste items so that they end up on the same line, even if that means you must manually advance the current line sometimes.


But there actually is a good solution to the copy/paste problem using the XCV keys on the QWERTY keyboard. It turns out that the key right after V is actually B. Which is perfect for Paste Below! or Paste Behind!! Heck even Paste Before if you are in the RTL world!!! It's actually pretty interesting that all of these keys just happened to be clustered together and in the right place. Anyway, I just wanted to share that. XCVB.

The other cool thing about Ctrl+B is it auto advances the cursor if that's what you want. Still in a copy/paste scenario you'd have to go back to whatever you are copying, so it isn't quite as fluid as entering new items.

To make a new item with Enter key there isn't a way to advance the cursor, but since it necessarily opens up an input window it's easy to move it down once past the last item. Ctrl+Enter might be fine for automating that. Ctrl+X,B after the fact would also work.


EDITED: For the record the way >> and << work in the script and project settings editors is the source side's cursor moves in reverse while the destination side remains in place. That's to make it easy to push over a line of items even though you have to start at the end of the list on the source side. In the settings editor there is an "endnotes" item that caps off the list, so adding to the end isn't a problem. But in the script outlines there are no such items, so my plan is to have an error-like box ask if you want to add to the end of the list if the last item is selected. If you need to move many items over and don't want to see the box then it's easy to think to make a temporary dummy item in advance and delete it afterward. It would be possible to add a checkbox to change the behavior, but I feel like it would mess up the symmetry of the classic layout based on the weird MAP file import mini-tool that is now obsolete.
Title: Re: STICKY: Random News
Post by: Holey Moley on February 23, 2015, 05:09:52 AM
I had an interesting afternoon.

I noticed last night that the Alt key could be used to trigger the buttons with underlined letters in their labels. I later learned that actually Alt isn't even required, and probably doesn't do anything magical, except with Alt you can use the underlined label trick from anywhere, whereas otherwise it tends to only work when buttons/checkboxes are targeted.

Up to now I'd been pretty much ambivalent about this ability. It was designed for simple Yes/No dialog boxes, which turned out to be an easy way to make applications, so Windows' dialog boxes soon became full fledged control panels of applications. Everyone does this as does SOM. Anyway, I'd debated whether the labels should even have underlines. Maybe they should be removed. Because it seemed like a very inelegant feature to me. Sometimes the solution is worse than the problem...


But armed with this observation I made some adjustments to make it more useful. I always kind of thought that it was supposed to work with the Ctrl button, but it isn't, it just so happens that it doesn't respect the Ctrl button. So the first thing I did is disable the feature when Ctrl is down.

Strikeout: I ultimately decided to make it Ctrl agnostic after the changes described two or three posts down.

Since SOM's tools don't use top bar menus, and I don't think they'd look good with them, plus they need to stay simple I think, I did a little trick to disable the way Alt switches into a separate mode (it goes up into the menu area even when there is no menu... I guess technically because there is a system menu, but that requires then pressing the spacebar to even open it)

This way to open the system menu you must hold Alt combined with Space. Another innovation I came up with was to not show the underlines just because the keyboard is used, which is something Windows just does. Pressing Alt reveals them, so that should be good enough. Using arrows and Tab to navigate shouldn't reveal the magic underlines in other words. I'd like to go one step further sometime later on and make it possible to hide the labels by pressing Alt alone, but for now they just remain hidden until Alt is pressed.

Strikeout: actually it turned out that there would be a sticky Alt feature, that works pretty much like the menu mode switch except there is no actual mode change. So you can access the system menu by press Alt and then space in other words. I found pressing alt in combination with letter keys to be really finger tying to say the least, but whose to say what habits you'll pickup after working with a tool for a while.

Strikeout#2: I don't see a way to use Alt to hide the underscores because of the sticky function. I guess Alt, Alt might be able to do the trick, but leaving them doesn't seem like a problem either.

Finally one thing about the feature I really don't like is the way it automatically presses a button if it's the only button with the magic label available. Otherwise it targets the button, and will go to the next as you input the underlined part. There is anxiety I think in not knowing what will happen, so I've made it so that the button is always navigated to rather than pushed. That's also useful if you intend to use the tickers beside the button rather than push it. But that only works if Alt is held down, so otherwise if just the single input is used the button gets pushed (note single input doesn't even work if you are not targeting another button. I'd prefer to remove this behavior, but it's also useful I guess, but most of all there is no easy way to counteract the behavior since it can come from anywhere)

Strikeout: there actually is an easy way, just not from the vantage of the button.

I also would not mind the ability to press Alt alone to navigate back to the place you last Alt navigated from. That would put the Alt in Alternation :cheesy:

Strikeout: again the sticky function seems to forbid this. Maybe Alt+backspace would be good for that, but it would have to be well documented.

In any case I think this is a nice development along SOM's path to a very easy to use and simple tool. It doesn't have a sprawling top menu, instead the familiar menu based keyboard navigation moves around the screen itself.


PS: I don't know how useful the underline trick is for non-English-like languages. I assume if your keyboard has keys for any given letter pressing the key would do the trick, but I know languages based on Chinese, or other writing systems with lots of "glyphs" need to use compositional techniques to input many things, so I doubt that in that case that would work.

EDITED: It is possible to extend the system menu. I think that could be one way to add some basic menu features to the tools (that should be the same for all of the tools) separate from the right click anywhere inside the window (but not in the frame) popup menu that is already planned for. The system menu can also be accessed by clicking the icon, or right-clicking anywhere in the frame/title area. For example, "minimize to taskbar" would be a definite plus to add to the system menus.
Title: Re: STICKY: Random News
Post by: Holey Moley on February 24, 2015, 04:57:50 AM
EDITED: I sunk a full day into going over all of the English language packs adding in these "mnemonics" and adjusting things around them. It's also possible to put them into the regular text labels and group boxes labels, but I'll have to do more work at a later time to support that since the labels have to be disabled along with the things they label to work correctly...

I am actually having SOM_MAP use a fake one of thse to have an underscore separate the file name of tiles from their description, ever since using the [] brackets no longer made sense. But I realized that would introduce a mnemonic just above the tile palette, so I did some initial work to disable that label and assure the underscore is always visible for it. Disabled labels need to be regular colour I think instead of greyed out, I don't see any reason to grey them and I think it would look worse, so I had to work on that just for basic labels to get the SOM_MAP trick working. It turned out to be not so simple since it isn't possible to change the text colour for disabled text in the regular way, which is interesting to know.


Although I think it is often useful to be able to press one key to hit the button without Alt, I'm inclined to remove the ability to press the buttons this way (I can think of a way to do it) because I decided to use k for OK and e for Close/Cancel/Exit and I made an effort to avoid using those letters elsewhere, especially e, it becomes slightly dangerous to be able to Close/Cancel just by fumbling and hitting e when reaching for r (Record) or something like that. I basically like the system for moving around more directly but I think it does too many things to be able to do that and push buttons. Plus it removes the ability to have single key shortcuts, which I am a fan of. I was going to make restricting it an extension but if not for e.

I purposely didn't assign anything to Delete and Cut. E can also be dangerous if you are typing fast/not getting a visual, but I intend to add "are you sure" prompts to all of the screens with Record buttons eventually.

The only real restriction that is kind of weird is if two or more buttons in the same group have the same assignment then Windows prefers the buttons in the group and so can't break out of the group to any other things that share that assignment. I don't agree with the idea put forward by Windows that the assignments should best all be unique. That is one of the problems I have with this kind of system because it's pretty much unworkable to not have duplicates, and it doesn't help "mnemonics" if you can't remember them because they are assigned to letters that aren't meaningful, and lots of the time there just aren't any unique letters in a label that remain.

Most users probably won't even use keyboard navigation, but having the text based options can help I think, especially if you are used to working with your hands in the middle of the keyboard, since the other navigation keys tend to be off and around the edges and so require moving your hands around which can slow work down (if only Alt keys tended to be as convenient as say Shift then you could really get around)
Title: Re: STICKY: Random News
Post by: Holey Moley on February 25, 2015, 05:01:43 PM
I have pretty exciting news for anyone who likes the classic Windows theme or is stuck using Windows XP (I still have an XP machine I occasionally fire up for testing SOM and would use in the event of computer problems)

ACTUALLY I just tried the Windows 7 Basic theme and was surprised that it has the same problems. The trouble is with SOM's tools when you drag another Window over it in these modes the picture becomes dirty, permanently. I think my XP box may have a larger problem in that its entire screen seems to refresh itself on a regular basis when anything moves, but only for older apps, including SOM. I pray that's a quirk of the integrated board on that nettop and not something everyone experiences (I'd modified SOM to ignore the pulsing refreshes, which usually works but is imperfect. Better would be to find out why its treated the same as the other older programs)

There is also the problem on XP and possibly these other basic themes on 7 of the 3D windows occasionally drawing themselves on top of the windows in front of them. That could be related to this new finding...

But essentially I've determined that there is something wrong with the way the tools fill in their backgrounds. It took me I guess up to the point of having made some new tools (SOM_EDIT/SOM_MAIN) that don't experience the same problems to want to pursue it further.

What I've known almost from the beginning is SOM's backgrounds are filled in during the window manager's painting phase instead of inside the erasing phase. I'm not sure if there are separate phases (my intuition is that each window just erases inside its painting step) but it is unusual to not do the background in the "ERASEBKGND" prompt; or it could just be a bug in the filling routines.

Either way since the main windows are basically empty canvases I seem to have been successful in having them skip the fill in but still do all of the inner elements (which are also windows) correctly. So the only thing in the way of remedying this problem is to go in and manually fill in all the backgrounds just by collecting and cross referencing all of the IDs that are involved.

My attention has been diverted the last few days during the last week in the month I'd hope to finally produce a new release after five months! I've also been sitting on a lot of nice developments that have accrued in all that time more or less unrelated to the new SOM_MAIN tool. So, I don't know if stopping to tackle this fix is a good idea or not. It definitely seems like something to work into a patch immediately after I can get a release up.
Title: Re: STICKY: Random News
Post by: Holey Moley on February 27, 2015, 04:43:54 AM
I overworked myself the last two days and ended up clocking upward of 20hrs of sleep last night. I couldn't remember what time I went to bed because that seemed preposterous, but I had the presence of mind to look at the timestamps on the files I've been working on before I modified them further.

I don't think I've ever slept anything close to 20hrs in my life, I just hit the sweet point I think of being up just too long so that my body took the opportunity to reset my clock to around where it should've been.


I couldn't resist working on the problem in the post above yesterday. It is a complete success for the most part and revealed some interesting things I think. The only real wrench in the works was SOM_PRM's two graph screens. Also I still have to draw the rectangle borders around the 3D screens for SOM_MAP. They really do help, but I wonder if the backgrounds were a lighter shade of black if they'd even be necessary...

One unrelated thing I noticed is the new buttons have an annoying flicker when they are highlighted. That's because the contrast layer of the text gets drawn over the top layer when it is refreshed, and I expect the button behind it does as well, over both of the layers. The old buttons don't do that because SOM must be "double buffering" them, which explains part of the weirdness around the way it manages its bitmaps, basically using one as a temporary, but it doesn't explain why the palettes are off, whether that's on purpose or not. It could even be SOM is double buffering the entire screen. It should no longer do that with the fix above, yet its buttons remain buffered, suggesting that those at least have their own double buffers, which would suggest that a full screen buffer is less likely to exist. On the other hand when the screens load up they seem to all appear at once, suggesting there is one, so it's hard to say. The new way loads up like Swiss cheese more or less. It's still better. I'm not sure why it does that on Vista/7 with Aero since it does compositing which includes full screen double buffering. Probably just takes too long to draw everything.

The new approach also provides a fairly straightforward way to disable the custom graphics altogether as an extension or if a theme package omits the graphics. Funnily the scrollbars can still get junky every so often when you drag over them (in classic mode) the same way SOM was, so must be even Microsoft's own code is doing something wrong (the Taskbar leaves an after image fairly consistently on my desktop too (in classic mode.)) As for my XP box, I haven't tested it, but I think unless there is something special about it it should be okay now.


(edited: by the way I want to add that this is really a big deal for me, I was less enthusiastic about continuing to support XP as long as this problem existed, but also now I know it applies all the way up to 7 Basic mode also, so that's not even an option. Making SOM work properly in these modes is about as big a development that can possibly be. There are also a lot of Windows emulation projects out there, so these OSes could be with us for a long time if not forever)


Also I want to get the last word out on the "mnemonics" subject. I decided for numerous reasons having them push buttons was wrong headed. Like if Alt hasn't been pressed its not safe to assume the user even knows about them, and they can also change as the software does. And probably the biggest reason is what if you don't actually want to press the button right? I.e. You just want to get closer to its neighbors. So basically Alt is required, but since Alt combos can be really contorting it can be used in a "sticky" way by pressing Alt, releasing, and then pressing what you want, and then as long as you press the same key it will still work to cycle through the buttons that share that mnemonic (eventually labels will be able to have them too)

This sticky behavior is completely independent of the switch to the window menu mode, which is pretty much disabled now thankfully. That reminds me, I guess the sticky should also support space for the system menu access.


EDITED: I was able to improve SOM_PRM's look while loading, which happens to be the only tool that really looked like Swiss cheese when changing tabs. The holes are actually good because it means that the elements aren't plastered over by the wallpaper, but when the thing behind them happens to be SOM_PRM's black screen it's really noticeable. In fact I can't tell the difference, so maybe there is no full screen buffering after all. The trick just involves letting the background fully cover the black when the tab changes. So now I don't have any reservations.


EDITED/Follow-Up: actually the trouble with SOM_MAP's frames was unrelated and something I've already been aware of before. Basically the borders are just sometimes styled as pure black and so can't be seen. I just standardized them (it was actually a fairly involved/all-consuming job of trial and error) to the Windows 7 grey version, which seems best. Earlier today I worked on the backgrounds of the transparent elements, including the text, sliders, and grouping boxes, because they would still become corrupted in classic mode owing to not having proper backgrounds. So now the transformation is 100% complete, and it's pretty cool/will be touted in the coming release for sure.


EDITED: further victory, I double-buffered the targeted button only, since the only place I could see flicker was when transitioning from white to yellow text buttons. The black text buttons must flicker too, but because of some optical effect I can't see it, but they are not singled out. The previously selected button is not double-buffered, and I can't see flicker in it even when I don't pay attention to the new button, so there may be something weird going on, like being double updated when targeted, but anyway, there is no longer a noticeable effect for me. SOM is feeling rock solid even in classic/basic mode. Can't wait to try it on my XP box. It will be much better if not perfect. Anyway, no reason to double-buffer everything.
Title: Re: STICKY: Random News
Post by: Holey Moley on March 01, 2015, 07:28:10 AM
I had another good idea involving SOM_MAP yesterday. I almost gave up on it because nothing obvious would do the trick but eventually got it to work.

I've always found the map painter part very clumsy to use because there is no way to just select the tile without clobbering it with the current "pen" setting. You have to keep one hand on the Ctrl key basically to use the thing. Whether or not you get used to this and it's more effective in the long run or not, I don't think it's at all welcoming to new users...


So what I've done is make it so clicking a tile selects it, as if you held down Ctrl and clicked. For now actually holding down Ctrl does the same thing. It's also now possible to double-click or press space to open the tile up in the 3D setup screen (double-clicking was a feature that has always been available in the other two views, so this is a nice addition)

The trade off is to draw you now have to drag click or hold down the button long enough for the drag detection period to timeout. You can shorten that time in the Windows control panel.

On the one hand that very much simulates using a pencil, and feels natural. On the other hand it's a little unnatural if you just want to lay down one tile on one spot. In fact I think that's probably what Ctrl+click should do now.


During the drag detection phase the tile doesn't have a square around it. I wish that were not the case but there isn't an easy way to draw it. I guess I could draw it pretty easily, but the old tile square would still be visible given the current state of what is knowable about SOM_MAP's internal state.


I definitely intend to change the way right-click works in the future, so that it is more drag oriented. If only because I want to free up right-click for opening a menu. But I think dragging to set the orientation will be more intuitive too. Doing this left click logic while tricky is comparatively less involved than setting that up, and more immediately useful.


I also learned that the tile windows would accept "mnemonic" inputs as if they were buttons. That took me by surprise, so I'm glad I learned that before rolling out the new mnemonic oriented stuff in the soon release.

I was surprised that the spacebar doesn't seem to do anything in the map painting screens. That's good though since it's been used as the keyboard equivalent for double-clicking everywhere else, to the degree that if it had been used I would've remapped it.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 30, 2015, 10:04:56 PM
So after working on the Auto Map feature mentioned in this thread I just happened to be using random items, and one was an automap and it crashed. Turns out I managed to bugger something that looks like:

*(DX::IDirectDrawSurface7**)(som_status_mapmap);
som_status_autolock->Lock(0,&icons,DDLOCK_READONLY,0);

The top line doesn't actually do anything so it's obviously a typo. Apparently it was supposed to be:

som_status_autolock = (DX::IDirectDrawSurface7*)som_status_mapmap;

So I must have got distracted when making a last minute change at some point.


The last couple days I've been up in the game player's guts making binary changes to its program so to get between it and places where it displays screens of text, so it can be translated by text block instead of line-by-line.

So far I've done the three kinds of event based text and am wrapping up work on the Truth Glass text for monsters and NPCs. It was while I was doing this that I began noticing, or being reminded of, annoying little single frames between two black tint frames...

This has been a problem for a while, and I don't know if it's an original bug or misfeature in SOM (I'm surprised that misfeature is not underlined by the spellchecker since I just made that word up???) or something that crept in due to all of the sanity checks I've added to SomEx to screen out crazy things that SOM does that causes further insanity to ensue.

Either way I was going over some of said sanity checks around the black screen tints and everything seemed in order, so I realized what was happening was when the Truth Glass was used SOM would basically start drawing a new frame without ever having sent the current frame to the screen. That's pretty much something that should never occur. It might be a good idea to have SomEx send the current frame up, but since that's slightly complicated I opted just increment the frame counter that functions as a kind of heartbeat for many extensions/sanity checks, which doesn't seem to break anything ... the result is the single untinted frame goes away and everything looks alright.

It seems like the single untinted frame would appear almost anywhere between two text like events. I hadn't noticed it before when transitioning between two regular text screens, as in a double dose of text, but it's possible it's just been a while since I encountered one of those and these corrections were put into place.


At one point I was also having input problems with the Truth Glass screens, but I haven't had them since. I thought I had finally rectified all of SOM's input firing problems on an scenario by scenario basis, but if there is one scenario I haven't addressed it would be the Truth Glass; especially the monster/NPC use cases. It's possible the problems I was having was due to debugging, suspending the execution of the program, which seems to break DirectInput's internal timers irrevocably somehow from time to time, but anyone whose messed with SOM knows that these kinds of input firing problems are hit or miss (that is, when they are not making the game literally unplayable)
Title: Re: STICKY: Random News
Post by: Holey Moley on May 06, 2015, 06:39:59 PM

Good news. Today I finally got around to devising a fix for the lines in the Options and Controls config screens. There are both "texture" and "polygon" problems, and I'd just kind of half given up on the polygon problem for no real reason...

I'm not sure if something changed or what, but I didn't think it appeared on standard resolutions. I noticed it was on the 1080 screen the other day, which is most common. I got a new monitor a year or two ago, and I'm not sure why but the ones I had used before never had that problem. I guess my main display was my laptop's, which I had to pull out after it turned psychedelic one day. I think it was more than 1080, but it was 1920 as I recall, so SOM would've ran mainly in 1080 I think, with letterboxes.


The fix is so simple I don't know why I didn't think of it. It basically just checks the tops and bottoms of polygons against every other transparent polygon so far drawn in the menu that are aligned left edge wise and matches the current polygon to the preexisting ones' tops and bottoms.


There are so few bugs in the player at this point that every single one seems like it's worth taking seriously. I just have to be reminded of them I guess.
Title: Re: STICKY: Random News
Post by: Holey Moley on May 13, 2015, 03:24:02 AM
I finally got around to switching from Visual Studio 2005 to 2010. I'm really displeased with the Help Viewer situation but otherwise it's not bad (using a pirated version just so the colors can be customized from the insane magenta/black theme the Express version is saddled with)

I delayed doing this only because it could've potentially got in the way of the work I was doing. This version supports a rather small subset of "C++11" features ("Visual Studio 2010 enables six C++0x core language features: lambda expressions, the auto keyword, rvalue references, static_assert, nullptr and decltype.")

It has more standard C++ classes/utilities than 2005. I think 2005 is better in every way except for the further implementation of C++. To move beyond 2010 would mean either abandoning XP or abandoning Visual Studio. Maybe in 2020 it will be time to jump to Visual Studio 2015 for Windows.

(2008 is a version between 2005 and 2010. According to Wikipedia it didn't add anything interesting.)
Title: Re: STICKY: Random News
Post by: Holey Moley on June 04, 2015, 08:11:28 AM
I'm going to be trying to add some basic sound effects extensions to the next release, I think in the form of a new section called [Sample] starting with the new extensions footstep_identifier, headwind_identifier, and headbutt_identifier. Possibly along with some volume/pitch modifying extensions per each of these sound effects.

headwind_identifier will depend on whether or not I can successfully loop its sound effect. I'm not doing any sound programming, I just recently learned about the subroutine that plays non-3D sounds by their SND file number.

I thought about having a heel and toe sound effect, but instead I think footstep_identifier can optionally encode two numbers using http://en.swordofmoonlight.org/wiki/SomEx/list_of_numbers#id for this purpose. Heel+toe mode should be much more sophisticated.

EDITED: headbutt_identifier will be limited to hitting the ceiling with the top of your head. All numbers are programmable, so you can change them on the fly according to environment, equipment, etc.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 07, 2015, 06:39:11 AM
^EDITED: Another thing I think I'm proud to report, is SOM used to have a bug where really low framerates would cause its input system to get stuck in time so no further input is possible (edited: not just until the frame rate returned; no you'd have to restart the program at that point; basically game over)

In my tests pushing very low frame rates I haven't experienced this today. It's not something I worked on, but just seems to be a side effect of one or more thing that I've changed over the years.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 16, 2015, 11:04:15 AM
It's been mentioned elsewhere but SOM recently got a major surprise upgrade in the timing department, so frame rates wise it's beginning to behave like a proper game (this is not a statement about performance but just having a reliable steady frame rate. Although it does seem to improve performance somewhat as well)

This development grew out of noticing that jumping/falling would become really unpleasant at low frame rates. You never know when something will get attention next with SOM/me.


Having SOM working for a change led me to conclude that my display adapter (graphics card) is probably very unstable. In fact this may've began only last week when it had an episode towards the end of the day that began with crazy frame rates and ended with the screen exploding into a snowfield of static-y pixels. It hasn't exploded since then but it does go into the erratic frame rate behavior when I push SOM beyond even the lowest resolutions... and I've noticed video playback doing more or less the same thing for a while (edited: to be clear, Windows itself exploded/had to be restarted to get a proper picture back)


So I decided to try to underclock the card, since that's always solved any crazy problems I've had with cards in the past, but it didn't help. I looked into the relationship between temps and frame rates though and learned a lot about display adapters that I've never had to really know about not really being a PC "gamer".

I decided my card was way too hot almost all of the time, and that I'd like to give it some maintenance (clean it out, put a new cooling slick under it) but being a laptop that has to be completely disassembled to the very last screw to get to the modular (MXM II) seat I decided that if I'm going to go through all of that for the third or fourth time I'd just assume install a new one, especially with the current one showing signs of being at the end of its life, and had had a good run.

I placed an order for a new gaming class model. I think I'll need something with more onboard memory anyway once I begin work on a new renderer for SOM. That reminds me. I had a good idea earlier today, to use the vertices in the MDL files to form bounding boxes, which is something SOM lacks, which are very necessary for lighting. Currently bounding boxes are generated at runtime, the first time the model (or parts of it) appears and even for each variation for softbody models, and this can cause a pause sometimes. So this will be very useful, and it will also mean that MDO files should have MDL files even if not animated with CP and bounding box info in them. The bounding boxes can also be used as hitboxes, which is especially good for giant monsters so that you can't just swing at obvious air and hit them.

July was supposed to have Windows 10 and OSVR headsets going on sell. But neither has happened yet. It's looking like August may be an interesting month instead. It should also be noted that I've achieved most of my performance goals for SOM for this year without even having to get started on a drop-in renderer, so things are getting interesting. And SOM's performance will only be even better with the new renderer (SOM will be given the MHM models and hitboxes to draw instead to keep it busy, but they won't be shown unless you toggle that on somehow. Probably with F4 since that's associated with clipping. Alt+F4 if the function overlay is on)


PS: I'm thinking SOM will have an unconventional bounding box system, so that its boxes just have to be convex shapes instead of boxes. That will make it easier to make them form fitted, and will let them double as abstract versions of the monsters/NPCs. They can even have simple textures and lighting parameters.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 18, 2015, 03:56:23 PM
I received an Xbox like controller today. I was hoping if nothing else it would be much bulkier than the PlayStation controllers, which I decided were doing long term damage to my hands.

I thought Xbox controllers had a reputation for being big bear claw things, but this controller is still small and I don't understand what you are supposed to do with your middle finger. There is no support for the middle finger in controllers for me. And no products I can find to fill in the negative space. Controllers should be something we are obsessed with, but no one seems to care about them as far as I can see.

This is the highest end MadCatz model, although used, and one of the top left trigger is stuck but works. I may attempt a repair. But whether I make a habit of using it or not, at least I can add XInput support to SOM now, which seems like a VERY important thing to do, since this controller is basically useless with SOM without using any of the advanced manual configuration extensions.


Thankfully there is detection code here (https://msdn.microsoft.com/en-us/library/windows/desktop/ee417014%28v=vs.85%29.aspx) and that's all I really need. I don't know if I'll actually add XInput, but at least I'll have it detect it, if not in the next release, the next one after. Mainly the buttons all have to be remapped. The nice thing is I guess the button layouts are identical. The only thing that makes it weird are the bottom triggers aren't mapped to buttons, so the Pause/Select buttons are two buttons down, and you can't use the triggers... so totally useless. Not good for SOM!!

If XInput isn't added the bottom triggers are mutually exclusive. I figure people will use these for dashing and accessing the menu (plus quick select once I get around to that) and I wonder if somehow the extra sensitivity could be used to aid this in any way...

One thing I've noticed using the DualShock2 is whenever you have to hold buttons down for extended periods they always seem to eventually come up on their own somehow when you think you are holding them. Maybe my setup is defective, but I reckon they are just not good for holding. I'm hoping the Xbox controller will give you more to hold onto (and the DS3/4 I guess is the same)

I honestly think there should be a special grip for the middle fingers on both sides. It never works to keep your middle fingers over the triggers for extended periods of time, and there should be grips on both sides for left handed people if nothing else. I've always thought that the face buttons are redundant too! And that there should be two d-pads, if only so left handed people can use the same controller, but d-pads have advantages.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 09, 2015, 02:37:52 AM
I think I've found a good/open implementation of morphological antialiasing here (https://github.com/iryoku/smaa)

I've read the paper and things it's associated with in the past, but I'm not sure it had code and everything readily available then.

I'd tried searching for open implementations then. I'm not so much interested in the GPU based screen filtering, which is why most people talk about it. Although if I develop some good code around it I will look into using it for that.

What I want to do with it is to filter the cutout textures that people use for things like grass, so to remove their lumpy qualities. I think with perfect morphological antialiasing they may even come out as perfect cutouts.

I've done experiments with this before but couldn't find any code and didn't want to invest in developing my own code base at the time, based on the best papers I could find on the subject, which were not even part of this GPU based version of it.


However now I think I have code I can work with, and also SOM is becoming more and more mature everyday, and so much of it has been spruced up and polished that there are few more places left to clean up its act graphically.


So, it seems like working on the cutouts is a reasonable place to focus on. I don't know if i will get to them this year, but if not next year. The load times are already quite high because mipmaps are generated at load time. To add another generation step will only increase load times. I think this speaks to a need to cache the results of the generation in temporary files to improve subsequent runs, or to generate the cache before the game starts if players want to have the fastest loads possible on the first time. I see this as a larger step to introduce caching to reduce load times. CP files can also be cached files. There's no reason to store these files in the games or on websites.


PS: "morphological" is actually the oldest form of antialiasing and is what antialiasing originally meant before faster/cheaper versions were invented. Still at the time I turned to GIMP's code base to find code implementing it, and was shocked that's GIMP's "antialiasing" filter was probably the crudest form of antialiasing imaginable. There's really no reason for image processing software to use substandard AA, so I began to wonder how that could be, if possibly the original/most obvious form of AA was patented or something like that. It really seemed more like it was just a little too complicated for people to bother implementing....

In theory it's very simple to do the original form of AA, but it becomes less clear what to do when not dealing with stark black lines on pure white backgrounds, which is what AA was originally intended to address (print on paper)

Fortunately in the case of SOM's cutouts, they are precisely that. So I wasn't too worried about implementing a solution from scratch for that simple use case. I can probably reason my way through it if I had to. It just hasn't seemed like it should be a priority until only recently (and I'd hoped a reference implementation would turn up in the meantime so I wouldn't have to!)
Title: Re: STICKY: Random News
Post by: Holey Moley on August 10, 2015, 01:51:30 AM
Crud

I'm out of commission for a little bit. My luck ran out replacing the MXM (II) based GPU cards on my notebook workstation.

I received a new card this weekend and despite everything I'd done Windows 10 (which I recently tried to upgrade to) kept cutting the signal to the monitor after a random spell no matter what I did. So I had enough and decided to install the new card tonight hoping it wouldn't do that. Although it probably would still (lots of people seem to be having such problems with Windows 10 w/ Nvidia cards)

The operation (involving at least 50 screws and a completely factory disassembled laptop) was a success but the BIOS won't fully accept the card, so its working in a crippled form while I wait to decide what to do. I've emailed a few companies to get information about updating the BIOS and contacted the Ebay seller about possibly returning the card at my expense.


So unless I can update the BIOS and that doesn't brick my workstation I'm either out of $100 or out of return shipping but also won't be able to upgrade the card which I think would've made the workstation able to play games like when I bought it with a similar marked model from the 8 series (8600M GT)


I feel like I should take a break for a few days. I'm certainly not eager to open the notebook all the way back up again, and then reverting back to Windows 7 (although this seems like it will be inevitable)

The card won't play games as is so if I don't do that I'll have to move my work onto my backup PC. I assume the card is involved, I can get its BIOS anyway. I may lose my mind without work to do. We'll see.


EDITED: For the curious, what I expect is actually happening when the monitor is cut, is my card would occasionally short out and Windows would switch to Basic Mode and recover itself. I think on Windows 10 when this happens it just goes black, there is no signal to the monitor but it also seems like interaction eventually breaks down, even though I could unpause a video after it did this, I couldn't then pause it. It just seems very likely, so if so it seems like an ability removed from Windows 10.
Title: Re: STICKY: Random News
Post by: Holey Moley on September 02, 2015, 08:35:43 AM
Update:

The "bug" looks like a legacy bug in SOM_MAP that happens when SOM_PRM creates a 0 hole in the PR2 file record tables. SOM_MAP sees the 0 and gives up on the rest of the table!!

The hole happens if you change an enemy or NPC profile to one that is already in use, and the old profile is no longer needed, and so becomes a 0 hole in the PR2 file (now called PRO)

It could well also happen if you just deleted an enemy or NPC in SOM_PRM. But I think SOM_PRM probably consolidates the table for no real reason in that case, only because it seems like this bug would've been noticed before long if not :confused:
Title: Re: STICKY: Random News
Post by: Holey Moley on September 18, 2015, 11:33:27 PM
I just ordered a new computer for working on SOM to begin to replace my 7 or 8yo notebook workstation that has been having problems lately, finally to do with just the power button strip circuitry (Bluetooth is turned on randomly and sometimes hitting power when asleep/hibernating just kills it cold)

It's a $368 unit with an i5 processor with the best integrated graphics AFAIK. Which I'm assuming should be enough. I wish it was black:

http://www.amazon.com/Gigabyte-Barebone-i5-4570R-Graphic-GB-BXi5-4570R/dp/B00HYEU0C8/ref=sr_1_3

One of the comments says it's really not much bigger than a mouse. I am planning on keeping my workstation alive and trying to put Windows 10 on the new PC using the same product code, so I can test Windows 7 and classic/basic modes on the original workstation as long as it lives.

I'm assuming Windows 10 will work on the newer hardware, and so I can do tests with it. And now the OSVR headset SDKs are supposed to be coming in October. I'm hoping this computer is more than enough for the kind of VR I'm interested in. Speaking of which...

KillScreen ran an annoying article today (http://killscreendaily.com/articles/technical-challenges-virtual-reality/) that somehow posits that VR tech is more demanding than ever, so I guess we need PCs that are bigger hogs than multiple refrigerators, and that we cannot accept that we can't make out individual hairs on a dog (I'm a big fan of body hair which is one reason photo-realism in gaming has never interested me) so the games have to be super massive to do the hair of a dog instead of you know, scaling back our expectation! The final line is the most annoying of all...

One of the Oculus people idiotically says that computers that cost thousands of dollars today will cost $200 in the bargain bin a few years from now. Never mind that the cost of computers has hardly changed in 10yrs and shows no sign of doing so, SO my only guess is he meant to say a few HUNDRED years or something like that!


PS: I think I'm going to try a solid state HDD, and will surely have to buy memory for it as well. I'm surprised that a 250GB SSD costs less than $100. I think I want to have SOM on the local disk also to try to speed up load times. Having an SSD will make that crazy to not do! I also wanted to invest in a decent CPU both because SOM is a CPU hog and because when I build (compile/link) programs it's a relief to have a strong CPU.
Title: Re: STICKY: Random News
Post by: Holey Moley on September 30, 2015, 09:10:48 AM
^Update: this new computer is working well, except it does something unthinkable, that I've spent countless hours today trying to remedy, where it dims the display based on some measurement of the image on the screen's overall brightness!! (or darkness rather)

Everything I can find out suggests this is a technology provided by Intel... and that it can probably be disabled in the Power section of its control panel... only I'm in a unique situation because my computer doesn't have a Power section! So I'm losing my mind.

Strikeout: actually it's the Samsung monitor/television, but it only does it on the HDMI inputs, and somehow I never noticed it on my backup/XP computer. It's especially noticeable int fullscreen games/movies. It's really annoying frankly. I think there is a hidden factory settings menu that can disable it, but only turning up "Shadow Detail" helps on this model, which minimizes it. I will probably just switch to VGA when playing games, since it seems like the only way to get oranges be orange on this monitor! Whether it's better or worse I can't tell, but it doesn't have the all of the psychedelic settings, which is the only reason I might try to get at that hidden menu, even though it will reset all of the setting!!!

What's annoying is I've long wanted to do something like that in video games, but not in the way it does it. What I wanted is to simulate eyes adjusting to the environment, which it would be in a perfect situation to do. But as is I think it's just messing up the image, which is an especially awful thing to do when the image is art!!


On the plus side, I thought maybe I needed to completely remove the drivers and reinstall them, to fix what may have been a bug. So I installed new 10 drivers that I happened to get from the computer's OEM instead of Intel's updater, and they just happened to return the computer to playing SOM with a steady frame, whereas after I'd updated the drivers it had become very unsteady.


So this new computer can play in 1080 HD at a constant 60fps (on the F5 overlay, which is just an average rounded to the nearest 5) which is pretty cool. Unfortunately I find that bruising is much more noticeable on a big screen, and that I actually preferred the low resolution window for realism sake. I think I want to go back to the days of soft analog displays, which that somewhat provided....

Perhaps only because in HD little artistic imperfections are to be found everywhere, I've actually taken solace in a weird mode my Samsung monitor has called "Dynamic" which I think is probably just a showroom floor mode for producing very eye catching but ultimately brutalized images that don't holdup under scrutiny (technically you can make it whatever you want)

Which is actually pretty interesting when applied to a 16bit dithered image. It produces a super-dithered image that makes me feel like I'm playing a PlayStation game like King's Field only piped through some kind of advanced technology that produces perfectly straight high resolution geometric forms. Anyway since I can't soften the image, this is the next best thing for airbrushing away those imperfections. Normally I despise all of the cruft around display/display input configuration these days. I've spent probably 12hrs trying to sort out this new computer vis-a-vis my display ... when it should just be WYSIWYG, but I guess the monitor can do all of this stuff for "free" even though I'm sure it adds latency, which in turn means you can twist all of its image brutalizing effects to create non-realistic viewing modes that can't be screenshot to your hearts content.


I was having serious problems with HDMI until I found the one setting that fixed the big one, which would make everything reddish appear very pink. They are still a little pink, but more or less look like the old computer being replaced. This setting was the Color Space, and for some reason it had to be set to match the inputted color space (automatically so) and defaulted to the monitor's native color space, which I'm not even sure what it is. With this Samsung monitor to get anything like a natural image you first must undo about 20 different settings, many of which don't even have clearly defined parameters...

I thought it was a very good monitor though, but now I'm seeing its slight bruising, and not being older than it is, I wonder how that compares. Bruising is a big problem for video games since you can turn around and go anywhere it's always there staring back at you however faint. Fanfare for a non-bruising/clouding LCD would be only second to a cure for cancer I think.

Next month the OSVR headset development kits are supposed to go on sell. Unless I decide to pass, at the very least it shouldn't have any bruising, and maybe being enclosed or something about it it will be less likely to bruise over time. With any luck.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 04, 2016, 11:24:02 PM
I've decided to change up my Patreon page for Sword of Moonlight at:
 
https://www.patreon.com/swordofmoonlight

I'm sorry if the new direction is off-putting, but I'm making some bold decisions, and I expect things to get pretty weird.

The main reason is I don't think the appeal to video-game history is ever going to attract anyone, if it hasn't already. I've been pretty shameless about plugging the Patreon since I set it up, and chose a very click-bait name for the account (in lieu of my own name) just to get people to click on my profile. Patreon is not known to be effective for projects that are not already well underway, but I don't think even after SOM goes into Beta and I drop a SOM version of King's Field 2 that it will make a big difference at that time, if it hasn't already drawn some interest. But the only reason the site is there really is to hold down the URL and not get caught flatfooted.

Second many Patreon accounts have alternative layouts, that it seems like Patreon just assigns at random, essentially using the account holders as human guinea-pigs. This layout looks like it's probably going to replace the original layout for everyone at some point. And it requires a big backdrop image, which I just cannot provide now or likely ever. It seems I could not be more different from most of the artists represented on Patreon. I don't know if that will be good for SOM or not, but realistically the artists on Patreon seem like horrible fits for something with the scope and grandeur that SOM seems to imply. So my out-of-place-ness may be more appropriate than not. 


Since I cannot come up with any imagery that I feel is befitting of SOM. I've had an idea for a while of somehow wrapping SOM in Derek Jarman's final film Blue. It's a bizarre fit given the history of video games, but I want to be aspirational, I want to invoke video game future. Or 3D future. I'm also inclined to stop using the video game word. I feel pretty comfortable with just "3D". Especially since with the new consumer VR glasses poised to appear like cellphones did around the turn of the century, I think 3D is going to just implicitly mean "realtime 3D" by default.

The film Blue is like a paean to the color blue. So I want it to cross over creating the sensation of worlds colliding with our own, dissolving the boundaries of 3D and art and virtual worlds, this is part of my process, that I call extreme-3D. Or that's when intentionally the fourth wall is pierced by the 3D artifice.

Blue also has lots of imagery that feels befitting the in-universe legend of the Moonlight Sword, and even a battle sequence with the "yellow goblin" that is evocative of something from a fantasy video game. The entire film is a blue screen, as if to say this is complete blue, as blue as it gets, obviously the blue in this context is code for the Moonlight Sword itself, or the "blue light", as described by in-universe legends.

This part is sung:

Blue protects white from innocence Blue drags black with it Blue is darkness made visible

[edited: I also read somewhere these lines are taken or derived from a book the artist wrote called Chroma, which is just more private meditation on colors, including the color blue. To me it's very evocative of King's Field. You can see why, although only vaguely; as is appropriate in these things. I think there's a general consensus that creativity is mostly the ability/discipline to associate freely between things, real or imagined, in order to exploit them. If anything creativity should represent the arts. I don't think this is a controversial statement.]

Other parts are more complicated, as Derek Jarman made this film while dying of AIDS as a gay man. I think it was debuted on one of the original BBC channels. So it is perhaps a prestigious film, although I do not know the historical context. I do not know if the film was shown in any theaters before this, of if its primary experience was that of a blue television screen, as is often the default color of many old televisions and VCRs. It's this flat blue screen that I intend to use as a backdrop, even though eventually it will doubtful be in the shape of a television screen, but I hope that if you see Blue or try to sit through it, you'll at least get the picture that it's intended to represent SOM symbolically and absolutely as a transcendental force or element of nature.

I am absolutely comfortable with this. I think its time that "video games" flirted with actual art. And I think that King's Field is actually an adult series, truly adult, and not "rated M for mature" and this is fitting. I slightly worry what From Software would think, internally, but they should be impotent to do anything about this regardless I'd think.

I am not too concerned about scaring away potential juvenile game authors. I think the world is becoming more sophisticated at a rapid pace, and this kind of content will not make anyone blush or bat an eyelash if not tomorrow then very soon. It might offend some religious sensibilities in small circles, but it's already about a game with very pagan and heretical themes. I think more offensive would be what I intend to do with King's Field going forward. Which is going to heavily mix in vampires and themes of Christianity, but only because these things have won the global lottery, of what is emblematic of humanity in the here and now, and not too mundane for this kind of popular series that can eventually go toe to toe with the likes of Star Wars. I want KF to be very much ground in the humanity and history here on planet Earth.


I am going to play on the acronym VR. Instead of Virtual Reality, I want to call what SOM is for Virtual Reincarnation. Or VR+intimate storytelling. It's going to be interesting, and hopefully shorter and sweeter than my history of SOM. Still I have to write it. It's going to get weird. You have my apologies. I value art that is vital, bold, and anything but almost has the opposite effect on me anymore. The world is overflowing with media right now. If it is not vital, perhaps we can do without it. There is really so much to spare. I seriously doubt anyone will care about most of the video games of today a century from now. Perhaps only a handful as representative of an era, like the few earliest films that survive in modest rotation. History is written by the victors, and it's difficult to realistically see the video games of today claiming victory over anything.


PS/EDITED: I do feel mildly uncomfortable appropriating Derek Jarman's work, but I feel like it's for the greater good, and art is meant to be reinserted into new art going forward. Just as movies have soundtracks with preexisting compositions, and for that matter may feature images of every form of art imaginable, 3D incarnated art is just poised to take this to the next logical leap. The fact that Derek Jarman made Blue while dying and going blind also mildly plays into the theme or reincarnation, and it's a conceit that I expect to employ in King's Field 9, the final episode in the main trilogy of trilogies. But of course I do not mean literal reincarnation. Just reincarnation into something like a video game protagonist. But in fact scientists may even discover ways to make us forget who we are for a moment, by whatever means our dreams accomplish this, and so SOM could easily be a vector for such technology, just as it can be a vector for VR glasses, etc.


EDITED: Speak of the devil, I just received an email announcing this layout change, minutes after writing this.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 09, 2016, 06:55:53 AM
Update: I rewrote my Patreon brochure today, among other things:

https://www.patreon.com/swordofmoonlight

I've tried to make it more warm and highlight the most interesting things in a way that feels a lot like non sequiturs. Unfortunately it cannot really descend into anything interesting, so I hope "unparalleled virtual reincarnation" is evocative of what SOM is.

I am surprised I never made a thread about the Patreon page. Or if I did, I'm not sure where it is. Maybe it was a blog post. I'd like to move these two posts to it if so. But maybe not if it's an old blog post. Anyway, enjoy the read, and consider joining Patreon/supporting my work with money!?!?!?!


PS: I intend to leave the page this way. I know it seems like it could use some pictures, but I don't think it needs them, and I am thinking about the coming layout change. It doesn't really have an about page, or anything, so my plan is to just not keep a Creator blog, so there is just this pitch, and maybe a Bio post below it (what's currently in the left panel.) And then have any pictures or anything in the Patron's wall. Which I don't know if I can post to or not as the Creator. It may be up to Patrons to run the show! Wouldn't that be a nice act of all-for-1, 1-for-all.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 22, 2016, 03:09:20 AM
Lots of pre-production Shadow of the Colossus images, including "8 unused Colossi":

http://nomads-sotc-blog.blogspot.co.uk/2011/07/unusedbeta-colossi.html

I think SOTC is one of my main inspirations for developing Sword of Moonlight. I do not know how I would feel if not for this work. Video games have been so very barren. This is an edifice that somehow stands erect like a colossus tent pole, keeping the floating world of video games from collapsing in on itself for me.

I imagine the new King's Field games will be a lot like this. Except free for air to really pass through their halls for all time...
Title: Re: STICKY: Random News
Post by: Holey Moley on May 03, 2016, 03:42:40 PM
Speaking of SOTC, here (https://killscreen.com/articles/think-games-are-ready-to-sit-beside-other-forms-of/) is an article that sums up my assessment of video games for the most part, and why I do not consider my work here to be obscure or something like a pipe-dream (although it may be a little bit quixotic, I honestly think it's one of our best bets.)

Here are some of the follow-up links:
https://killscreen.com/articles/should-game-designers-care-about-putting-their-name-on/
http://www.clicknothing.typepad.com/click_nothing/2011/11/redacted-the-dominant-cultural-form-of-the-21st-century.html

And link from the page that brought me to this old article:

http://shmuplations.com/ueda/

This is recently translated to English I think.

I haven't read all of these. I probably will.


EDITED: I found this (http://www.newyorker.com/culture/culture-desk/the-video-game-art-of-fumito-ueda) one, which may've prompted the whole thing up to the last link to be good too, especially toward the end (the rest is a bit de rigueur.)
Title: Re: STICKY: Random News
Post by: Holey Moley on June 03, 2016, 04:15:11 PM
God I wish someone would do something interesting with SOM! I feel like I'm about to lose my mind if something doesn't happen soon :CecilD_crouch:
Title: Re: STICKY: Random News
Post by: Holey Moley on September 26, 2016, 01:03:25 AM
Here's some thoughts on VGs courtesy Kill Screen's "Weekend Reading" links:

http://reallifemag.com/the-parallax-view/

Quote
Rending beauty from machinery in this way reframes aesthetics as an authoritative deployment of industrial waste, the accumulation of decades of competition among companies trying to distinguish their products from one another with computational imagery that is never more than a few months away from being outmoded.
Title: Re: STICKY: Random News
Post by: Holey Moley on December 18, 2016, 03:03:56 AM
Here's the annual SOM status report on GameFAQs:

http://www.gamefaqs.com/boards/958393-sword-of-moonlight-kings-field-making-tool/74735366

I feel like SOM's completely disappearing off the radar. I don't all that much care that no one cares about SOM. I never have. It doesn't change anything for me really; or it shouldn't.

It probably doesn't hurt that my mood is very much slipping off the radar. "2016" has made me very much feel like I just want to avoid as much of humanity as possible for as long as possible...

I fully believe at some date I will emerge victorious from all of this... even if we're all so far up our own *******s by then that no one takes notice.

I have not heard a peep from Verdite. I fully assume he's quietly dropped SOM like a bad habit. Or I finally made an impression on him.

People disregard me and my works as much as ever. I think I've resigned myself to the belief that that's just how the world works (news flash: It mostly doesn't work. It's a human world after all.)

Merry Christmas. The COLLADA-DOM stuff is going swimmingly. I've achieved all of my design goals for it, and am just doing very fine finishing touches at this stage. I will get a front page post up with a near complete review version of the library accompanying it.

I think I've fallen just short of achieving something impactful for Sword of Moonlight before the end of the year. It looks like I will just barely finalize the most elementary form of the new COLLADA-DOM library before the end of the year.

There's no time to think of how to apply it to Sword of Moonlight's problems. That's largely theoretical to be honest. Right now I am just trying to establish a pathway for maintaining competent COLLADA software.

I feel like Sword of Moonlight has lost a year; but it's important work, and it has to be done in order to do anything much less so to carry on.

SOM has already come a great distance. It's so refined that it can stand to lose a year. It's unfortunate that there's no human in our midst fit to be its champion. No matter. Great things have all of the time in the world to wait.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 29, 2017, 08:57:48 AM
The last 2 days or so I've compiled all of SOM's textures into new BMP folders. There was already such folders in the ITEM and OBJ folders. And I made some for the MAP textures. And I did the NPC, ENEMY, and SFX ones while at it. And even some of the odd images haunting SOM that seem to have no place among its files.

I'm sure I missed some though. Of the odd ones; Not associated with PRF or PRT files, nor in the SFX models.

Anyway, they are already in the SVN Update files. I want to get a pristine set in before alterations commence.


P.S. I lost a lot of time grappling with software bugs. It wasn't until the very end, the home stretch, where about 25 of the SFX models remained. I actually used From Software's little auxiliary programs to get at most of them. I don't think I'd ever used NpcEdit before. I thought it was very charming. Especially with the names changed to be the names of the King's Fields characters, etc. and not the unmemorable "Man (2)" style names From Software chose. I wish SOM_PRM and SOM_MAP had posed the character models like so. The lighting is not flattering but it helps identify deficiencies in the models I think.

I used tricks to speed the process along, and get at the SFX files via NpcEdit. I've decided to copy the MSM models across the 4 additional nearly identical sets by hand, the same way. I found it very meditative. I forget how it is like that to do these long data-entry style tasks; and those bugs have made me programming software adverse until I can shake the dread. (The worst I left unresolved. I tried to build the JSOM project with Windows with a new thing called vcpkg and it uses a mix of file-handle types, which seems to play havoc with Microsoft's C runtime implementation; and it just seems unworkable and aggravating that the C runtime should have such basic problems. But it can always be something much weirder with software; if memory is corrupted, random stuff happens.)
Title: Re: STICKY: Random News
Post by: Holey Moley on October 22, 2017, 04:42:03 AM

As soon as I find my way back to SOM I've made a note to try to get the aspect-ratio on images right. I've double underlined this. Not that I haven't tried before. I really have no idea why this problem never shakes out...

Lately I've been preferring a fairly square Resolution setting. Wide screen be damned, I seem to just prefer the more tunnel vision image. I actually think that the smaller the image is in your field of vision the easier it is to get lost in. Ironic.
Title: Re: STICKY: Random News
Post by: Holey Moley on December 24, 2017, 08:34:05 AM
Here's a probable source for Tzedek's name. I think it's a surname.

https://en.wikipedia.org/wiki/Melchizedek
https://en.wikipedia.org/wiki/Tzadik

I think the water magician in the first game (KF) is probably named Cherubim or Keruvim. https://en.wikipedia.org/wiki/Cherub

Currently the DATA language package is using Tsedek. I guess I just guessed at it. Pretty close. I will change it to Tzedek.

I chose Kelvim for the other guy, since I was trying to use real people's names, but maybe in light of this Keruvim is a better guess.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 24, 2018, 02:12:12 AM
I'm >this< close to finding my back to working on SOM. I've been banging my head against a brick wall for weeks. (Below is a link to a status update.)

https://sourceforge.net/p/collada-dom/discussion/531263/thread/acb5c945/#f709

I feel like I'm not accomplishing anything lately. I hope when I get back to SOM I will be reinvigorated. I don't feel like my work has been sluggish. But I do feel like at this rate it will be a wonder if I ever accomplish any wide goals. Mostly I feel exhausted :frown:

January 28 Update: Finished!

EDITED/P.S. Oh yes. As long as I'm posting, the other day I decided to try to set up a new forum for SOM on a website called Reddit ( https://www.reddit.com/r/KingsField/comments/7rsudb/sword_of_moonlight_subreddit/ )

I don't use Reddit and I rarely find information in it (via links) but I've got the impression that it's probably the place to park a vanilla as possible forum. I thought that there should be a neutral forum that is hosted by a big ass Silicon Valley company in an as highly visible and trustworthy place as possible. Something that can deal with gluts of spam and traffic and is not intimidating; A first circle of hell if you will.

I was going to make a blog post about the new forum, but I had to make an account and it doesn't have the ability to make a "subreddit." I think probably it must wait for 30 days and I hope that the little points I can wrack up from the above post/link will be enough to let the account make a SOM forum.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 27, 2018, 07:33:14 PM
This morning I finally added transparent NPCs (edited: yes, monsters too) to the do_red+do_hit extensions so that they flash red when hit. It was last October when this extension was added. I guess in the meantime there's been little imperative to complete it.

For the record, this will be in the next demo/release/patch but isn't public yet.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 05, 2018, 09:37:09 AM
I mistranslated the Missile Shield (green) and Refuge (blue) screen effects magic profiles. I got them reversed. Maybe I was thinking RGB order, but they are RBG. I was probably very thorough, but even still these things seem to happen to me all the time... always getting things reversed, I guess maybe that is dyslexia. But I don't know, I read just fine.

http://www.swordofmoonlight.net/swordofmoonlight.com/text/English/ has an updated Default.zip file, and the DATA/MY/PROF files are updated with Japanese text.
Title: Re: STICKY: Random News
Post by: Holey Moley on November 01, 2018, 12:25:07 PM
I just removed an annoying habit SOM_PRM has of reading/writing Sys.dat. I don't know why SOM_PRM is so destructive about ancillary files. The upside is minuscule to nonexistent, whereas the downside is infuriating.

What it seems to be doing is removing items from the starting inventory, maybe when they are removed, but I think anytime they are modified! Likewise it's deleting entries from the magic table. Other things I addressed earlier in the year, is the annoying habit of removing sword magic assignments, simply because the assigned magic is modified...

This seems to be applying the same logic video games have of forbidding "cheating" to the degree of hamstringing the audience, only to the author themself! Perhaps in an overzealous attempt to mitigate unforeseen glitches.

At any rate, if this has ever driven you crazy, rest assured it's fixed in the next update.


P.S. Oh yeah, sometimes it wipes the inventory out completely. I don't quite understand what those conditions are. It should no longer matter. But it's really weird when you give yourself 1 of every item, go in the game for a test, come out, modify said items in SOM_PRM, go back in the game, and the inventory is fully emptied! It's hard to imagine what's really happening there.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 13, 2020, 05:57:36 AM
I haven't had an excuse to use this topic/thread in a while, but just for the record, today I found myself working on a new extension feature to add black masks around the game view, probably limited to full screen mode.

The rationale for it has to do with something called "back-light bleed" that isn't always visible on monitors but tends to be very visible on first person video games like anything that just kind of sticks to the screen when you move around.

I probably should've just figured out a way to augment the resolution (not being able to directly control the resolution menu is kind of anachronism to begin with) and use the black backing "window" to fill in the space, but instead so not disturb that I went ahead and used an existing system that originally was mainly only used to enlarge SOM's title screens that are stuck in 640 x 480 normally.

I think the system is used in dedicated full screen mode also but that's pretty well a thing of the past today.

One side effect of doing this way is the "function overlay" stuff can actually exist in the mask area. I will probably add an option to keep it out of the mask area too in case it's unwanted there. That is to say the mask area is actually part of the allocated resolution. Though by default it will be traded off with the black backing window margin.

My use case for it is the 1050 resolutions have 15 pixels on the top and bottom on a 1080 screen but my back light is still visible on the bottom half, so I notice it, and the next available resolution is 900, which sacrifices 180 pixels, which seems excessive. I could use a custom resolution in the INI file, but that's only temporary if you change resolutions, and it would be symmetrical, whereas my issue is on the bottom only.

With this system you can just tell it to make room for your crappy back-light. I wonder how many games support this kind of thing?

For the record it was a good amount of work to implement since it really pushes the existing system to its limits. I had to fix a lot of things that didn't work. And those are things that probably wouldn't have worked if you tried to actually use the old dedicated full screen mode today (which I don't recommend.)
Title: Re: STICKY: Random News
Post by: Holey Moley on June 23, 2020, 03:50:13 AM
I thought I could find a topic/thread for this post, but alas no... for the record yesterday I FINALLY worked on a strategy to eliminate false positives from the jumping system!

It seems like an improvement. This is actually important but something I kept thinking to myself I would get around to one day or another and never would.

The jumping system has been one of those incomplete things that I would immediately fix if I got wind of someone about to publish a game with SOM. But since nobody has it's not been a huge priority. False positives (accidental jumps) is one of those things that players would be right to not put up with.

How the changes work is to try to tell when the thumb stick is being let go of as opposed to when it's just being moved through the center manually. To do this there is a delay after the jump is inputted to wait and see if the stick lands in the center or crosses over it. This means the jump doesn't happen immediately.

It's programmed to wait 33ms more right now. Anything longer than this is probably going to feel weird (unresponsive, jerky, etc.) so I wasn't sure at first if this strategy would work or not.

I can move the stick around wildly while pressing the dashing button down and releasing it without ever jumping, but I think there is still a chance for unwanted jumps, just a very small one. My attitude toward accidents in games has always been that we have accidents IRL too and so we should embrace them in games and look at them as an opportunity to send us down a different path or just make things interesting from time to time. Hopefully you don't jump to your death, in which case I wish SOM had better features for recovering from that scenario, meaning that in time I will program in more and more safety net features. But right now you just have to suck it up.

EDITED: Big things I still need to do for jumping is to take a look at trigger (analog) buttons since I only added good support for them this year and they're not currently as satisfying for jump inputs as a regular (digital) button, and I think that the direction of the jump should be considering the raw input from the controller somehow instead of using the gait system, which has very low resolution by comparison (between 3 or 4 bits technically speaking.) It will be much better by the end of the year.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 10, 2020, 03:14:35 AM
Alt+Alt+V :ssh:









Title: Re: STICKY: Random News
Post by: Holey Moley on February 10, 2021, 05:30:00 AM
Today I worked on the timing for when NPCs show their titles, at 60 fps. There are 4 bytes in the profiles for the frame when the titles should appear. If they're set to 0 (as some are) the title will show at the end of the animation. This is because 1 is the first frame and 0 is never equal in the test.

I've added this to NpcEdit today along with the turning rate setting, on a second page. I've been meaning to publish EneEdit with two pages and this one now. There's nothing in the way really, except I feel like I should do the Japanese versions and publish at the same time. There's also a chance I will change them or discover something new in the meantime.

If someone needs these features by all means ask and you shall receive. I'd like to find out if there's room in NPC profiles to add a turn-table and flight/swim/incline parameters so they can have parity with the new enemy profile feature set.
Title: Re: STICKY: Random News
Post by: Holey Moley on March 24, 2021, 11:53:41 AM
A personal note

I haven't worked on SOM the past few days because of (wisdom tooth) dental surgery and my usual trips into town. On the plus side I got a leftover COVID vaccine at the pharmacy, and the second shot is timed for 4wks which is exactly my schedule for driving into town. (I'm not the ideal candidate for an early vaccine, but how could I say no? My mother got hers like two days before retiring because for some reason everyone at the university got one... I still don't understand why university personnel got one and not all teachers.)

The day before I spent most of my time with the PlayStation VR, mainly playing games on the PS4 because I have to plug it into the PS4 when its firmware resets (or something) since it reverts back to being green when that happens. (Something adds a purple filter to counteract the display's greenness. I have some code that adds a purple filter but I disabled it when I found out the PS4 installs one... only to find out it can go away after a little while of using it on Windows.)

Actually I just played one game (Moss) because I was reminded I don't have the magic wand controllers, which I'm not sure I was thinking about when I purchased some VR games on sale, including From Software's game. I ordered a used pair of wands (PlayStation Move) that I guess I can test with the Exselector project I'm going to turn my attention to any day now.

ATM there are three things I'm working on: 1) monster AI, behavior/clipping, 2) new inputs for the attack/magic buttons, and 3) I want to begin peripheral work with Exselector.

I'm using (2) to flesh out the animation infrastructure that (1) heavily relies on. And I want to dig into clipping for monsters because it's unacceptable in its present state. (I don't know if clipping glitches were as pronounced in the original version of SOM or if there's something about the current clipping code that makes it more "spectacular".) The handling of "checkpoints" for monsters is not good, I look forward to overhauling it at the same time I work on supporting layer-based checkpoints. Today I think I'm going to make the new shield system react to NPC clipping and use that opportunity to fix a behavioral problem where at a certain range monsters would automatically become aggressive and switch animations to attack... the problem is it causes animation glitches (maybe when there's no viable attack) so I've disabled it... but I think what it should do instead is make the monster aware of the player... which is not nearly as aggressive, but at least should be stable. I just don't think it makes sense to become aware at a certain distance (or how to determine that distance) so instead doing it as a response to contact (clipping) is what seems to make the most sense.
Title: Re: STICKY: Random News
Post by: Holey Moley on April 03, 2021, 11:11:00 PM
Today I made menus sandwich the 3d models between the text and frames so they're no more behind glass. It's a little weird but I think the pros of it outweigh the cons. On the Equip screen it's especially awkward I think to put the equipment models behind the menus. On the other screens they're not as obscured, so it works a little better.

But overall, especially in VR putting the 3D on a back layer is confusing for depth perception cues, and not washing out their colors and having them feel more in your face works out better.

I'm planning to let the analog sticks manipulate the models sometime when it's convenient. It will be at the same time I overhaul how items are interacted with on the ground to be more like King's Field II. Then it will make more sense for them to be in the foreground. It would also be nice to be able to push them into the background if it weren't for the fact the background is paper thin, and even if it wasn't it's not clear how the item would pass through it like a ghost. Time will tell.

Because the arm model is on the same depth buffer layer as the 3d models it now obscures the menus as well. Originally SOM cleared the depth buffer for the arm and 3d models, but this isn't good for performance/stability, so I've segmented the buffer. It's a little quirky but for practical reasons it seems like an easily avoided/ignored matter.

I don't know yet how this will play in VR. It may either look weird or interesting or unsettling. Speaking of VR I played L.A. Noire in VR two nights ago with PlayStation Move controllers for the first time with these controllers. It was a very unusual experience. I have a hard time imagining King's Field as one of these games where you interact with everything with your hands. The main trouble I had with it was with movement since it had no way to move laterally. This is a problem I find in many, many contemporary games, that seems like an oversight or something. If I couldn't move laterally in real-life I'd have to approach everything like I'm a big bus. I wonder if horses have to think in such terms... they tend to only understand forward and backward... which is not good when they're confronted with an obstacle since they tend to just try to plow through things and get themselves hurt. That's what L.A. Noire was like. If you need to look around a column to shoot at mobsters you couldn't just slide over (maybe you could move your body if the PSVR camera's "play area" wasn't so restricted) but have to instead back up like a car, and reverse, and before you know it's like parallel parking. This just seems like a mood killer and a very bad handicap, almost comical. I guess this is "tank controls" but you can't just turn, move, turn, when you're receiving gun fire!

P.S. I will probably try From Software's VR game next, but I've already seen it on YouTube so I know how it works, etc. in full detail, and it's story. It's weirdly like Dark Souls (just let it go FS!) even though the setting seems superficially different. I'll be interested to see what it looks like. Moss looks really nice... sometimes it looks real when the aliasing isn't popping. L.A. Noire didn't look very nice. I'm often surprised how amateur big company games can seem, and how ugly their graphical effects can come across. From Software is known for being a middle tier company, so I'm interested to see what they pull off. Moss's team is middle tier too I think, although it was pulled together from a lot of veterans fleeing big company culture from what I've seen (I got to work with one of its team members since I'm working with PlayStation VR on Windows.)
Title: Re: STICKY: Random News
Post by: Holey Moley on May 08, 2021, 02:43:32 AM
Unpublished work

I just worked on a nwse_saturation extension that makes the King's Field II style compass easy to adapt to a regular SOM project. This is something I meant to do earlier but completely forgot. It looks like it changes its color but its RGB values are fake: R sets the brightness of any opaque materials, G sets it for translucent materials, and B is an absolute opacity level for translucent materials. The problem with modulating the opacity is these colors can't go above 1.0/255 so to cover the full range you'd be tempted to make your opacity 1.0, but then your material would no longer be detected as transparent and so would not be subject to opacity, so this was just the simplest way. These values can be changed on the fly, mainly in case your lighting is different on different maps.

Other than this it's simple to modify the texture since it's not in the MDO file, it's just in the DATA/MENU folder like anything else. You can also replace the MDO file of course.

Just some things to look forward to. I try to post something when I add anything that could be considered a feature. The reason the 3D compass couldn't be easily used before is KF2 has wildly different colors because it uses a formula to augment it. The compass is still subject to the map lighting, which may not be ideal. I have to figure out a way to specify lighting conditions for individual models at some point (I have a plan of sorts) but there's so many numbers involved in lighting that you can't just feed those into an INI file.

Below is code for how to use this extension after I publish it. do_kf2 currently enables both KF style power gauges and the 3D compass. do_nwse is a way to just enable the compass, although it is a little strange because it dwarfs the SOM style power gauges. I should maybe work on shrinking it down to normal size in that scenario. It's a bit of a novelty for now. I don't know it should work with the do_st (Shadow Tower mode) extension or not since ST doesn't have a compass. (Currently that will probably overlap the magic and compass displays.)

Code: (Ex.ini) [Select]
[Option]
;also want KF style power gauge display?
;do_kf2
do_nwse
[Deatail]
nwse_saturation = id(255,96,128)

For the record, the reason I chose 0~255 values for this is I didn't want to make it 3 extensions or more complicated. This lets it be packed into one extension.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 01, 2021, 03:44:44 AM
I've retooled my Patreon introduction and support text to be more inline with how the site works in practice: https://www.patreon.com/swordofmoonlight

I'm not crazy about how the site makes the page all about me personally but that's the appropriate context in terms of how it works in practice I suppose.

I have to keep everything on it very brief so I can't say very much. Otherwise it clips things and I feel that's not a good look. There's no room to drop support links... it wants to do everything through the big social media sites which I don't use. I'm not ideologically against them, I just can't see myself dealing with them in terms of a pastime or professional obligation. I wish I could include links to my personal sites like this one instead. I.e. without sticking them in the intro text. There's just not room for anything there.

There has been some new members join. It's going to be inconsequential unless it starts following a doubling pattern, i.e. a sharp exponential curve.

P.S. I was in town yesterday. I'm still flailing around trying to settle into a new project in an exploratory phase.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 05, 2021, 05:19:38 AM
FWIW I think it's probably come time to let go of Windows XP because I'm setting up a new PC and finding out that Microsoft ended support for Visual Studio 2010 in mid 2020 (only 10yrs for such a major compiler, geez) and so I can't seem to get it to work on a new PC.

Without VS2010 it's not possible to debug software properly. It's still possible to make apps that will work on Windows XP in theory until Microsoft ends VS2017 but that's pretty hopeless because if for some reason they don't work you don't have any development tools to fix them with. So the only practical way to keep supporting Windows XP would be to use something other than Visual Studio and that's just not realistic. Especially if there's no movement to bring XP back to life without Microsoft.

By ending support for it it's possible to start freely using more up-to-date features of C++ but I worry those may run into problems on Vista and Windows 7 and 8 all of which I can't very easily support. I do still have an XP computer and a Windows 10 one with a working install of VS2010, but I it's been a while since I tested SOM with Windows XP and I don't expect to do that. Right now I've all but packed up that Windows XP system (which also has a Windows 7 install) to make space for a new PC. I haven't decided if I will mothball it. It doesn't seem practical to cling to the past without cause.


Strikeout: See next post/reply...
Title: Re: STICKY: Random News
Post by: Holey Moley on June 06, 2021, 08:13:01 AM
CORRECTION: I guess I don't understand how Windows Update works because on day 2 it's now offering "me" an update (service pack for VS2010) so I guess it turns out nothing's changed on the XP front and I apologize for a false alarm post. (I installed VS2019 after it, maybe the updates are triggered by installing the newer "visual studio installer" software, I don't know how Windows Update coordinates updates for non-Windows software, etc.)

P.S. I may be spending a little time playing with trying to install MacOS (virtual machine) on Windows 10. I was going to try to do it on a Linux side-boot but searching around it looks like the same software "stack" can work on Windows. (I'm just interested in being able to do basic tests for cross-platform development purposes.)
Title: Re: STICKY: Random News
Post by: Holey Moley on June 14, 2021, 07:09:44 PM
PayPal

I've added a donation system to the http://www.swordofmoonlight.net/support/ page here. (Edited: I have serious reservations about it. But I don't want to overthink it, everyone uses PayPal nowadays. Mainly I feel like the financial companies should be taking small flat fees out of transcations, not percentages. Or the percentages should be much smaller as the transactions are larger. It looks overgenerous to PayPal to give them 30$ of every $1000 that trades hands.)
Title: Re: STICKY: Random News
Post by: Holey Moley on June 17, 2021, 11:01:06 PM
I think somewhere around here (I can't find it) I expressed hesitancy to buy a new VR kit to develop with because I didn't see the controllers that came with it as viable for playing games with SOM... because they only have one index finger button. Update: I think I may not have seen the big "grip" button that's visible on the side of these controllers in some images. I guess maybe it didn't come up in articles about it because people are more interested in how the controllers have the track pad removed compared to the other WMR controllers before it. I still haven't found a picture of the trigger button or from behind the controller.

Anyway, I think this can be enough to work with. If not I was thinking since when you run in the game you duck down some, and when you crouch you duck down more, that maybe dropping your head or arms low could control dashing and crouching.

Also, again I feel like I mentioned this before, but can't find it: I'm thinking about getting the set (HP Reverb G2) before I can get a graphics card for it in the hopes it will work with my integrated graphics enough to play my KF2 project. I can't get the card because there's a global shortage on them. So maybe I'll be working on this before long. I have reason to believe it will work. It will work at least to some degree no matter what, so I could still lay some of the programming groundwork before I can get a card if it comes to that.
Title: Re: STICKY: Random News
Post by: Holey Moley on July 14, 2021, 04:29:37 AM
Here's something interesting from the past week.

https://en.wikipedia.org/wiki/Open_3D_Engine
https://github.com/o3de/o3de
https://o3d.foundation
https://o3de.org

It's a fully noncommercial game engine under the Linux Foundation (Microsoft and lots of other big companies) with Apache license. It's based on a defunct Amazon engine that was in turn based on CryEngine. So maybe it works with game consoles, but even with Unreal the console parts are withheld, so maybe not. If it's modular maybe in the future I could rig something up to make SOM work with it in some modes if that looks promising. There's many things I wouldn't care to work on with SOM that I wouldn't be opposed to plugging into a fully noncommercial system.

Quote from: Edited: https://www.technewsworld.com/story/87189.html
The most significant factor of O3DE is that the engine has been completely re-architected from the ground up as a modular system. This non-monolithic approach means that game developers can use what they want as plugins, according to LF.
Title: Re: STICKY: Random News
Post by: Holey Moley on August 03, 2021, 06:31:16 AM
Here's another interesting noncommercial game engine project I could see SOM potentially using someday towards more realistic effects.

http://diligentgraphics.com/diligent-engine/
Title: Re: STICKY: Random News
Post by: Holey Moley on December 23, 2021, 01:45:12 PM
New feature idea

This is an uncategorized idea I had. I think I will implement this any day now...

In the PlayStation days, and probably KFIV too, when you pick up an item off the field, etc. From Software chose to do something unique, in that it doesn't generate even a name for the item to tell you what it's called. There's no menu, etc.

SOM takes a different tack here by showing a normal menu with the name clearly displayed. I wonder why the classic games never went this route? For my KFII project I want to go back to the original style. I realized yesterday there's a good way to do this...

In the Options screen there's a fourth option that seems ill-fated, out of place. What it does is hide item visuals in the Use Item and Equip menus. I guess for faster browsing through them, it will just show text. This seems like something that no one (today) would want to ever turn on so it's just kind of this vestigial thing (clearly SOM's developer(s) felt it made sense in 2000.)

Instead my plan is to convert it into an option to choose to hide the menu/text when picking up items. I think it might be a nice compromise to flash the item's name in the "lower third" the same way "gold" flashes the amount picked up. That seems harmless, but I suppose I could add a hard core Ex.ini extension to even not show this.

Anyway, this option should also have a key binding, and I may build one into the menu so the text/menu can be toggled on and off with a spare button. Toggling it on will show the entire Yes/No menu and name of the item via its prompt. So this way players can be put in control of this for any game, so games won't have to decide on a style for themselves.

EDITED: Another reason I'm keen on this is just to get the out-of-place option out of the Options menu since it's kind of weird and so contributes to a sense of a game being incompetent or cobbled together. So far the menus are something I've not made much headway into. I want to replace the system stuff with Exselector,  but would like the game menu to stay and be fully customizable some day.
Title: Re: STICKY: Random News
Post by: Holey Moley on January 16, 2022, 04:45:52 PM
follow-up

I found myself doing a small project at the end of the day from the previous reply in this topic/thread about converting a useless option into a way to get classic KF style experience when examining items. I just laid down the basics. I still have to work on animating the item transition and manipulating it with the controller to call it finished.

But something really weird I discovered is the third toggle option that hides items in menus doesn't actually prevent the model files from being loaded up. That's really weird because I assumed its purpose was to speed up the menus. And I was surprised it even hides items from the pick up screen... which is doubly bizarre since they completely disappear from the scene before appearing in the menu display, so that with this option enabled (or technically off) it looks as if the object (item) has disappeared entirely from the game.

I hope I can find time to mess around with this more before long but it's good either way to be rid of that funky option in the meantime. I have set up a button toggle to turn the menu on and off with the triangle button or J key, but it only works when examining items outside of menus. I'm thinking about having the other button show text, but the menu shows the name too, so it can be used to reveal the name briefly before taking the item.

Edited: Oh yeah, for the default English I called it "Examine Display" and I'm thinking of leaving the Japanese alone since it calls it Item Display (in Japanese) which seems close enough to the meaning.
Title: Re: STICKY: Random News
Post by: Holey Moley on February 26, 2022, 03:43:25 PM
random

I've spent a lot of time the past two days working on MapComp diagnostics. Somehow the error code forwarding (to SOM_MAP) seems to have broken down, which I've fixed, but I also found myself in a weird situation where somehow the DELETE character (127) was injected into the MHM field of one of my PRT files, by Microsoft's text box.

The MHM field was supposed to be blank. So MapComp was trying to open up an MHM file called character-code 127 .MHM. Of course that didn't go well. What it did do however is reveal how brittle MapComp/SOM_MAP are in this regard, since all MapComp generates in this case is a single error code... and (IOW) it's up to you to figure out (assuming you know what it means) which PRT file is the offending one... and of course that's a literal software "hell" since there are thousands of such files to comb through.

Another fun quirk is there is no error code if a PRT file itself doesn't open. In theory that might leave a hole in the MPX file, but in practice MapComp seems to not be able to abide by this and will crash. I guess if running it via SOM_MAP then SOM_MAP would have likely reported the missing PRT file, but I'm not sure these days since I've relaxed that some so that you can at least open and repair a MAP file with missing PRT references (it does raise a box.)

So I've invented a PRT error code (which hopefully isn't already taken) and have added a pop-up box to give a hint about which PRT the MHM or MSM error codes refer. Oh yeah, another point of failure is the do_missing_file_dialog_ok extension wasn't working. Otherwise it would tell you the missing file's name. In practice an MHM or MSM file may have a very similar file name to a PRT file, but this isn't a certainty (so maybe you could reason backward to it.) One reason it was failing is Microsoft's PathFileExistsA was lying about the file's existence. This was because (I think) it was being given a fake path with a > in it that I use to fake SOM into supporting Unicode folders. I fixed some code that was allowing that to happen. A second problem is do_missing_file_dialog_ok can be disabled (that's what it does) and maybe it shouldn't be so for tools, but for MapComp I changed the code to ignore it since MapComp will fail to make the MPX file, so it needs to give a reason. I opted to ignore missing objects (it reads every object MDO file so it can use their CPs for lamp flames, but this is a bit extravagant since it really ought to just read the lamp MDO files when the maps actually use lamps!! I should fix that sometime as an optimization.)

I have a database inside the site here of all of the files and their references (and back references) which was essential at one point, butt less vital these days now that the DLC tools like PrtsEdit are built into SOM proper. Unfortunately the new art system is going to outmode this database since it largely dispenses with all of these file formats (by making them transient files) so it's very likely to remain a time capsule going forward until I disconnect it or something happens. It's a shame because it has a cool WebGL based 3D model viewing system (largely an experiment at the time) that I'm not sure I want to try to salvage with the new extra level of indirection required. It gives me a head ache to think about it. But anyway, the only way to rectify it would be to build x2mdl into this website to convert art files into runtime files, and then redirect the WebGL system to a second cache level to convert those to its format. I think it's probably too tall an order to do anything with.
Title: Re: STICKY: Random News
Post by: Holey Moley on May 02, 2022, 04:31:14 AM
VR again maybe?

I've just placed an order for an Nvidia 3060 RTX video card (GPU) for my newer system, that I haven't been using for development, that I bought expressly for VR work. I had a bad turn of events with it after I signed up for Microsoft's Windows developer preview program, so I could try some WSL features. Don't ever do that, it was a horrible experience, that forced me to reinstall Windows to get out of it (after it stopped offering me updates) so that I lost all of the time I spent setting up the system for work, although I was able to salvage some of the disk contents for basic things like portable apps (like SOM is.)

After that I was really disappointed that OpenGL is unusable on AMD's GPUs. So I've been waiting for this drought on GPUs (since COVID mainly) to pass. I got a really basic GPU (OEM) from the company (Computer Upgrade King) that put the PC together. I really just hope it's not too loud and works. It's not a powerhouse, but I'm not a gamer, and I just hope it can do video well on my 4K PC VR set. And I hope it's enough for SOM work. I calculated in theory it can fill 63 times the number of pixels I need to run my VR set at 90 fps...

I just hope that's enough, plus it may take longer to compute real pixels with some additional math, but in general SOM does one texture sample per pixel, so I figure it's close to the theoretical limit, except for the effects pass. So I'm hopeful it's within margins, and may even be able to squeeze out some 4K super-sampling.

EDITED: In theory these cards can do ray-tracing. I don't know if it will be practical to test SOM with that, but in practice its graphics are really basic, so it could work. On this card it would just be enough to develop it and see. I think it would run only at 60 fps at 1080 or maybe some slightly higher super-sampling target, downsampled to a square aspect ratio on slightly less than 1080.
Title: Re: STICKY: Random News
Post by: Holey Moley on June 05, 2022, 06:58:49 PM
VR update

RE the last post, in the past 2 days I had to stop using my old work PC because I'm hoping its little CR2032 watch battery died. So I finally had to get set up with the new PC since it's going to take some soldering to replace that battery. I'll be sad if that doesn't fix that PC up, but I'm pretty well situated with the new PC now.

I've been trying to finish up a project that's turned into quite a slog, to add some animation enhancements to the software I use to work with animation models. I think I'll have it finished and published tomorrow. I didn't get as far as I wanted with it. Instead I had to stick with it as long as it took to get to an initial stopping point. I'm planning to switch gears to VR work immediately after I'm done with that. It should be interesting.

I may also be playing some VR, I'm not sure. I got a game for cheap off the PS4 that is Doom 3 in VR. It looks like the whole game plus some expansion campaigns. I did own and play Doom 3. I remember the last boss was a big disappointment. But that means I did finish it. I wonder if I'll still enjoy it or not. In theory I could even get some VR games for the PC now. I'm not sure what's out there.
Title: Re: STICKY: Random News
Post by: Holey Moley on October 01, 2022, 02:51:51 PM
So what's next?

Here lately I've been indecisive on what to work on next for SOM. There are a number of projects I know I should be doing but I just feel like I don't want to do them now, maybe lingering effects of burnout from earlier in the year. Then I've got a list of large projects and small projects.

On the "large" front I feel like 2 or 3 seem possible. First I think this is what I may look at next, it is to sort/split transparent triangles for more correct/stable transparency blending. I've been wanting to do this for a long time. The other projects seem related, that is to finally make a UI for Exselector, or rewrite/refactor the OpenGL font/text rendering code I have (it's based on a Github hosted project called nanovg) which I figure a UI project might want to do first. There's reason it has to be done, but I just have a bad feeling about this code and it will be needed for the UI project.

As for the "small", I'm probably forgetting something, but I think it might be a good idea to develop code for animation that doesn't use a fixed integer time signature. That's because it's a problem for high frame rate displays and VR sets. I could look at reducing load on BGM changes, since that is more likely to hiccup during/after the new seamless map changes. I think I should return to working on NPC flying/swimming extensions for my KFII demo. I ended up dropping the ball on that last year. I might look at detecting when monsters are walking directly into obstacles (not progressing) and make them turn to seem less robotic.

This is just a list of possibilities I can refer back to. Motivation has been a problem for me lately. Don't worry. I usually mix small projects in with a bigger project. I just have to write these down because I have to pick something to start work on soon. I definitely have some art work to do on my KFII project, but I just don't feel up to it yet. I'll have to focus on that before long though. Possibly until the end of the year. I think many of these projects are the things I wanted to get into the demo this year.