simple machines forum

Please login or register.

Login with username, password and session length
 

News:

Remember to make your own backup of posts before submitting.

 
 
Pages: 1 [2] 3 4

Author Topic: STICKY: Random News  (Read 16250 times)

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #15 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.
« Last Edit: August 03, 2014, 04:39:16 AM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #16 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.
« Last Edit: August 04, 2014, 08:37:17 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #17 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)
« Last Edit: August 07, 2014, 11:40:43 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #18 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.
« Last Edit: August 13, 2014, 12:09:45 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #19 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.
« Last Edit: August 11, 2014, 05:49:05 AM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #20 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.
« Last Edit: August 16, 2014, 04:12:14 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #21 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.)
« Last Edit: August 23, 2014, 02:32:51 AM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #22 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:

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #23 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.
« Last Edit: August 28, 2014, 04:55:04 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #24 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.
« Last Edit: December 08, 2014, 06:39:43 AM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #25 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.

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #26 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.

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #27 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.
« Last Edit: January 31, 2015, 09:06:16 AM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #28 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.
« Last Edit: February 27, 2015, 02:27:29 PM by Holy Diver »

Holy Diver has 2232 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Online Online
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #29 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)
« Last Edit: February 25, 2015, 05:08:53 PM by Holy Diver »

Holy Diver has 2232 posts
Pages: 1 [2] 3 4