Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Simon

Pages: 1 ... 14 15 [16] 17 18
226
Lix Main / Discoverable UI (scrolling, dir select)
« on: June 05, 2015, 03:46:46 PM »
Hi folks,

while ranting about Neolemmix's undiscoverable keyboard controls, I have remembered the corresponding design gaps in Lix.
  • Definition (discoverable): A program function, or user interface element, is discoverable if new users will stumble upon it during their normal use of the program. Curiosity will lead them to trying the function, and observing how it works.
Any application with a graphical user interface needs this. My usual recommendation is to make a graphical button for the function, and inform about functionaliy or hotkeys in a tooltip.

More important functions should be more discoverable. You can get away with putting less important functions in drop-down menus or the like. What's outright bad, however, is to hide useful functionalities only on hotkeys. Triggering this function by accident will seem like a bug. If the user learns about this function at all, it's from word of mouth, or study of the documentation, which nobody wants to read.

vi can get away with its ton of undiscoverable hotkeys, because it's a text-based-interface editor, not one with a graphical interface.

Lix has these undiscoverable functions:
  • Right-click scrolling. Hold right mouse button (RMB), then move the mouse around to scroll. This is much faster and more precise than the scrolling at the screen edges. While RMB is held, the cursor shape gets four little arrows. But it's not 100 % obvious what those arrows mean, and many users don't press RMB at all.
  • Directional select. Hold a key to assign only to left-lookers, hold a different key to assign only to right-lookers. This makes singleplayer much nicer, and is absolutely critical in multiplayer.
Idea for RMB scrolling: When the user scrolls at the screen edges, shape the cursor into the four little arrows, too. This is a minor improvement, we probably need more.

Idea for dir select: This needs to be at least as prominent as the release-rate changers. Do we even need those? In multiplayer, it's forbidden anyway to change the rate. How many levels use that in singleplayer? I feel it's mainly panel clutter, and it's much less important than directional select. If necessary, I can try to fit both functions on the panel.

-- Simon

227
Lix Main / Sorting skills in panel
« on: May 24, 2015, 04:52:49 PM »
Hi,

a frequent complaint by new users is how the skillset isn't sorted. Experienced users still have to look at the skillset at the onset of each singleplayer level. What shall we do now?

Sorting is generally nice, and custom sort-order dosen't seem worthy to implement. Maybe a sort-yes-or-no option that's on by default, that's okay. A full-blown sort order editor seems of too little use compared to its complexity.

[18:38] <SimonN> I'm considering dishing out a WIP version with mandatory sorting, and ask people to use that for a week or two
[18:40] <SimonN> thinking about it for several days now, the correct order in the right half is exploder-batter-blocker-cuber-builder-...
[18:40] <SimonN> and you and Clam make convincing arguments for why walker shouldn't come first [instead climber-floater-runner shall come first]; on the other hand, Fitts' law (button in corner is very easy to click) suggests walker first, and Neolemmix has it first also


But let's first see what you guys think.

I can post more considerations from IRC later.

geoo's proposal: climber, floater, runner, walker, jumper, batter, exploder, blocker, cuber, builder, platformer, basher, miner, digger
Clam's proposal
My proposal

-- Simon

228
Non-Lemmings Gaming / Codes vs Saves vs Unlock-All
« on: May 09, 2015, 09:33:50 AM »
Note from namida: I have split this topic off from the What video game(s) are you playing at the moment? topic as it had gone quite far from the original discussion.

codes above a save system

Why computer games need an option to unlock all content
Alternate title: Passwords and save files alone are major suck

I've wanted to write this rant for some time. This has been a good opportunity. :-]

-- Simon

229
General Discussion / Ichotolot visiting Simon
« on: May 07, 2015, 01:09:06 AM »
Hi folks,

Ichotolot comes from Göttingen, the same German town where I live. We've scheduled a meetup at my place for the upcoming Sunday afternoon, 14:00 local time = 12:00 UTC.

Naturally, everyone is encouraged to suggest random ideas. We could surprise the community with another noodlish stew. We could do a youtube video of something -- Ichotolot has made at least one video with voiceover, I don't know how time-consuming that would be.

<SimonN> geoo: I'm planning noodles in a cream sauce with broccoli and ham; is this inappropriate time for broccoli?
<geoo> no, it is very appropriate
<SimonN> alright, this is gonna be a nice meetup


Stay tuned! For live mayhem, join IRC on Sunday, 2015-05-10 at 12:00 UTC.

-- Simon

230
Lix Main / 2015-04-25 released
« on: April 25, 2015, 11:03:20 PM »
Hi folks,

Lix version 2015-04-25 has been released. Download Lix or read the changelog. Report bugs.

Main features: Community level pack, and unicode support.

Maybe you've played the community pack already, and don't need ä ö ß é ç in your game, then you don't have to get this. ;-) The pack is now called lemforum, and listed first in the game. If someone would like to translate the game, read doc/transl.txt.

Thanks to ccexplore for pushing and implementing the overdue unicode support in Lix!

Thanks to geoo for being an awesome maintainer of the community pack, and thanks to the level designers of this pack: Insane Steve, Michael, geoo, mobius, Nortaneous, and some others. geoo will continue to maintain the pack, the next step is to include the collected hints.

(This is not the D port, it's a normal C++/A4 Lix release. The D port is expected to take at least until end of year.)

-- Simon

231
Lix Levels / Community pack: OK in main Lix download?
« on: April 16, 2015, 11:41:11 PM »
Hi folks,

I would like to include the community pack in the main game downloadable on the Lix site.
  • What's the current status of the pack? geoo, what do you think as its maintainer?
  • What directory name should it get? lixlfpack is the current one, but only the lf carries information. It's obviously for Lix, and it's obviously a levelpack. I have once proposed lemforum.
There has been no activity around the pack for months now. It seems overdue to release it. A pack is never finished anyway, updates will be possible later on. Rubix and Clam have been fixing levels in their packs with many previous releases.

I'm planning a minor Lix update anyway, mainly for ccx's unicode support. I could include the pack with that release.

-- Simon

Edit in late April 2015: The community pack is now included in the main download. If you have further fixes to levels, let me know.

232
NeoLemmix Main / Tree with text/image files > binary format
« on: April 13, 2015, 01:30:04 PM »
Hi,



Files have names. They can be a number, but that's strange. Consider an indexing file that assigns numbers to graphic tile filenames.

A dir can contain other dirs, e.g., one for each interactive object. It's a powerful database structure.

-- Simon

233
Site Discussion / Clicking smiley: don't insert space
« on: April 01, 2015, 09:53:46 PM »
Hi,

rant rant rant, Simon has found something again with the site. :>

When writing a post, clicking a smiley above the textbox inserts <space>:smileycode: instead of :smileycode:. Why is this bad?
  • Violates the user expectation: The button should insert exactly a smiley. It fails to do that. It inserts a space and a smiley.
  • Leads to bad formatting: People generate posts with two spaces before the smiley. One they type themselves, the second comes from the button. This is very, very common:
    Recent example 1
    Recent example 2, at the end of the first line, and in the lines starting with smileys.
    Recent example 3, it happens even with many smileys directly in a row
    Recent example 4
  • Even when you've forced yourself not to insert the manual space, if you want a smiley at the beginning of a line, you can't get around erasing the unwanted space. See example 2 above, that has the unnecessary space almost 20 times at a line-begin!
  • Computer wants to be smarter than the user, but apparently fails.
  • Two-fold inconsistence: The button doesn't have the space (only the image is clickable), but its output does, while the replaced string doesn't have it. (The replaced string is :smileycode:, not <space>:smileycode:, upon viewing the finished post.) Removing the space from the output makes all three things consistent.
I've considered to suggest the Javascript to check for whether there's a non-whitespace char in front of the cursor, and only insert the space on these occasions. This is also bad: Now the script must interpret whether BB-tags will be replaced or not. This requires the JS to include a full-blown BB-parser, which seems absolute overkill for probably unwanted complexity.

The sane solution is to ditch the inserted space. This is the simplest thing to do in the first place, and the simplest solution to the problem.

I hereby propose this. :-)

-- Simon

234
Lix Main / Hotkeys: Both dir selects on same finger?
« on: March 24, 2015, 06:56:55 PM »
Here is the current default, and my own I've used throughout 2013 and 2014. Runner is on shift in both cases, and not shown.

flo | dig | bsh | jmp | pla
wal |  <  | bui |  >  | min
nuk | blo | bat | exp | cli


flo | dig | bsh | jmp | pla
 <  |  >  | bui | wal | min
nuk | blo | bat | exp | cli


My custom layout (2nd diagram) prevents directional select on the same finger as important skills. The standard one (1st diagram) has directional select on the typical arrow key fingers.

A problem in both layouts is walker-jumper in quick succesion. That is a very common roll in multiplayer: turn around and jump. It sucks when it's on the same finger (my layout). It's still not comfortable when the short index finger must reach higher than the long middle finger (standard layout). I feel like both keys should be mapped to easier keys.

Two days later:

geoo was concerned about directional force clashing with many keys, no matter how we have been mapping it.

<SimonN> the problem with A/S, right -- dir select is used often, and keyboard layout designers recommend to use strong fingers for common letters; it also clashes with arrow key layout
<NaOH> why not use E/D for directional select, then it's just one finger
<SimonN> smart


My new layout, which is not the standard:



Middle finger is used for directional force, the index finger hits the six keys to the right. The six keys to the left are ring- and little finger.

We want to avoid the following combinations on a single finger: walker-jumper, (basher|miner)-jumper, jumper-climber, jumper-floater. Maybe jumper and builder shall be swapped back back to what NaOH was suggesting, jumper in the homerow and builder underneath. We'll have to experiment.

Problem: Batter is often dir-forced. On a staggered keyboard, the top row is staggered to the left, the bottom row to the right. Hitting batter and then force-left feels super strange now. X-(

-- Simon

235
Lix Main / Skill keys vs. positional keys
« on: March 23, 2015, 11:44:34 AM »
Hi folks,

[The Lix keyboard layout] is for people like you, not like me.
-- GigaLem

But once you make it second nature, SC2 feels smoother, snappier than ever before. Welcome to the world of enhanced control.
-- JaK (Starcraft 2 hotkey layout designer) about an advanced SC2 keyboard layout

We've had a lamenting discussion in IRC 2 days ago, and then in Lix in-game chat last night. Giga doesn't like the Lix hotkey system. Some definitions:

Skill keys: This is what Lix and Clones have. For each skill, you can map a key of your choice to it. That key will always select that skill.

Positional keys: This is what L2 and Neolemmix have, and L++ (= old Lix) had it until 2010. For each skill button on the screen, you have a key. These keys are arranged similarly to the on-screen buttons, in a row or grid. The key will therefore select different skills on each level. You can't remap them in any of those games, but remapping doesn't belong in this definition.

Matching keys: This is what L1 and old Lemmix have. It satisfies both definitions above: F3 is always the first key, and always climber.

I consider skill keys by far the superior solution. A modern game must use skill keys. Here is a ton of reasons:
  • Muscle memory. You don't have to look at the skillbar. Each key is the same skill, always. That makes you faster.
  • Comfort. You don't have to move the hand, you map skills to left-hand typing letters. If you mouse with the left hand, you map them all over to the right hand. That makes you faster.
  • Ergonomic rolling motions. You want common composed actions as a smooth finger roll, like walker-jumper. The Lix default layout is not optimal for this, but the Lix layout can be amended (<-- link to topic). That makes you faster and removes human errors.
  • Directional select. This must be in reach at all times!
  • Extra surrounding keys. You can have pause on space, reload or fast-forward on the number row, ..., all quick to reach.
  • The strong players all like speed/ergonomy-maximizing layouts, in both Lix and Clones. And Starcraft 2, see initial quote of this topic. And Quake, and, and, and...
What are the drawbacks of skill keys?
  • It takes longer to learn.
About this drawback, I agree with the linked Starcraft article:

[Our custom layout] does thousands of actions, and every common action, faster than standard or grid [= positional/matching keys], giving you more actions per minute. It minimizes strain, increasing endurance. It is not what you are used to. It gives you the edge. It’s time for better mechanics.

The time has come to choose between what is right, and what is easy.

[...] It greatly depends on your natural ability to adapt to change, but players often report between the range of 30-100 games [each takes 20 minutes on average] for a basic understanding and feel of the layout and 100-200 games for a complete understanding and feel of the layout.


And that's for a game which has about 5 to 10 times more keys to learn than Lix. Learning the Lix layout is faster than learning SC2 layouts.

Your choice of hotkeys is printed on the on-screen buttons, to help you learn it.

Yes, learning a new layout makes you play worse at first. Nobody cares. :-) I've learned a different keyboard layout and ate 1 to 2 months of sucking at typing. I've remapped and relearned in Lix and Clones several times, and took the temporal suckage.

geoo likes skill keys so much that he hates Lemmix's default, unremappable keybinds. He has remapped them with an external program to match his Lix layout.

To compare, what happens with positional keys? Giga suggested the F1 through F12 for the 12 skill buttons. Maybe it's faster to understand at first.

Then, you will end up distracting yourself from the game by looking at the skillbar all the time. You must look at your hand while you move it in position, but looking at the hand shouldn't happen at all. You will never have more than 3 or 4 keys in easy reach. While you can do rolls, by setting the hand up for them before they happen, they will never feel nice!

<SimonN> anyway, he knows what he wants, but he doesn't understand what it would bring him
<SimonN> I know that he might be slightly faster than now, but can never have the good advantages of the clustered layout, and I'll have to implement it and support it as a user option
<NaOH> shh, pat pat
* NaOH ruffles your hair with her bunny paws


Making Lix keys matched?

That requires to arrange the on-screen buttons in a cluster similar to the keyboard keys. Probably not feasible, even with a higher resolution.

Making more skill keys (we have 12 at any one time, but there are more skills in the game than 12) doesn't solve the problem too well, when they're all aligned in a row. There is no good set of keys all in a long row.

A clustered on-screen display of the buttons is possible with a higher resolution, but it would look a little unwieldy. Also, a row of on-screen buttons is best for the mouse: Each button is at the edge of the screen, where the mouse cursor can't overshoot, making the buttons easy to hit.

More data from new users

When Proxima tried Lix for the first time, he wanted keys to move the skill selection left/right. This is also a positional system, and therefore slower than skill keys. Proxima, what is your current opionion on all this after using the game for a longer time?

NaOH's brother has tried the game once. He wanted a matching keyboard layout immediately.

Who has additional experience as/from a new user?

-- Simon

236
Lix Main / Exploders in Lix, with/without fling/timing?
« on: March 04, 2015, 07:54:39 PM »
Hi everyone,

Please start a thread ASAP on the forums if you are serious about the bomber changes. -- ccexplore

Here's NaOH's good summary of the perceived problems and proposed solutions, with my annotations in square brackets.


Problems in bombers [= exploders] in Lix:
 
Problem A. bomber1 (no-fling) [= Lemmings-1-style bomber] is very similar to bomber2 (fling) [= from Lemmings 2]
Problem B. Timers are a nuisance in singleplayer mode, but add fun to multiplayer mode.
 
Propositions to solve:
 
Prop 1. Remove bomber1 from both game modes.
Prop 2. Remove timers for both bombers from the singleplayer mode only.
Prop 3. Remove timers for bomber1 in both game modes, no other change. (It's assumed that bomber1 would then be used for singleplayer mode by convention, and bomber2 for multiplayer, but level designers can break convention if they please.)
Prop 12. Both Prop 1 and Prop 2: remove bomber1 from both game modes, and remove the timer from the remaining bomber (bomber2) only in singleplayer mode.


My gut instinct is: If we want to simplify the game, go with proposition 1, cull the L1 bomber altogether. There aren't many levels that explicitly require the L1 bomber over the L2 exploder.

Others have expressed concern for the timing in singleplayer, and how they enjoy untimed exploders in singleplayer. Catering to these wishes, my second choice would be proposition 12, cull the L1 bomber and remove the timing in singleplayer from the L2 exploder.

Please add your opinions, or copy them from the 2015-03-04 IRC log of #lix if you've joined the discussion there.

Singleplayer nuke is currently set to be the L2 exploder iff this skill appears in the skillset, with 0 or more skill uses. Otherwise, the L1 bomber is used for nuking. Does nuking affect the game enough to be considered here?

-- Simon

237
Lix Main / Porting Lix to SDL, loose ideas
« on: February 26, 2015, 02:10:37 PM »
This might be of interest only to our small group of Lix source hackers.

I'm playing around with SDL 2. (EDIT: Using Allegro 5 for a rewrite attempt since March 2015. The remaining post here is not altered.) The grand idea is to port Lix from Allegro 4 (called A4) to this library. A4 is getting old, and porting Lix to the current A5 would be similarly elaborate.

A4's BITMAP* is a RAM bitmap. Optionally, it can be a VRAM bitmap, but I don't use that anywhere in A4 Lix.

SDL (by which I mean SDL 2.0) works with three datatypes instead of one: SDL_Surface*, SDL_Texture*, and SDL_Renderer*. The latter comes as a window renderer and a software renderer. From the documentation I've digested, these types are used in the following manner:
  • Renderer is the pendant to A4 Lix's pre_screen, which gets drawn onto several times until it's done and ready to be copied to the visible screen. Typically, you draw many different Texture objects, full or in part, onto Renderer, then display it. Every SDL Window should have exactly one renderer. You can't draw from one renderer onto another. You can use drawing primitives (point, line, etc.) on a Renderer directly.
  • Software Renderer similarly collects data to be drawn, but ultimately draws back on a surface instead of the screen.
  • Texture is like a BITMAP* in VRAM or a compiled sprite, I'm not 100 % sure. They can be blitted onto a Renderer, which should be extremely fast. You can have blender modes while drawing, but can't do software pixel manipulation without locking the Texture in RAM and then unlocking it again. This is slow if it fetches the Texture out of VRAM.
  • Surface is the same as A4's BITMAP* in RAM. They can be converted to Texture, and probably have to, because you can't blit Surface to Renderer directly.
Now, what are good replacements for the various data structures used in Lix?
  • pre_screen -> Renderer
  • Cutbit -> Surface. Probably not Texture, since they must be copied onto Torbits, and the idea of Texture is to be copied onto Renderer.
  • Torbit (a bitmap that behaves like a torus when other things are drawn onto it: what's drawn out of bounds reappears at the other side) -> Surface, because you should only have one Renderer, which is pre_screen.
  • Map (the landscape) -> ?
Alternatively, maybe this:
  • pre_screen -> Renderer
  • Cutbit -> Texture, and it still draws onto Torbit, which must therefore become...
  • Torbit -> Software Renderer, making a Surface again. That surface will then become a texture to be drawn onto the screen Renderer.
  • Map (the landscape) -> ?
Everything was easier when I wasn't caring about drawing speed, but this is one reason why efficient game programming is hard. :>

Image: SDL hello world with Texture

-- Simon

238
Site Discussion / Smileys for the 2015 forum
« on: February 18, 2015, 01:32:03 PM »
Hi folks,

I propose the following smiley changes.

:o -> , replacing the current
:clam: ->

The huge eyes were suggested back in 2011, but the admins of the 2009-2014 forum instance didn't react.

-- Simon

239
General Discussion / Forum users' birth years
« on: February 15, 2015, 09:15:12 PM »
Hey folks,

I've compiled this list of LF.net user birth years.

Most info comes from the 2005 topic How old are you lemmings fan? The posts are from January 2005, for simplicity I've assumed everyone there not to have had their birthday in that year yet.

Quotes from IRC:

<SimonN> ccx considers 23 a ripe old age, oh my (this was in the 2005 topic, of course)

<SimonN> the spambots have birthday throughout the year

<Akseli> SimonN: You want to compile everyone's birth year into the same topic? :P
<SimonN> yes, so we can point and laugh at how we thought 23 was an old age
<namida42> heh, why, how old did you expect i'd be? :P


-- Simon

240
Lix Main / 2015-01-26 released
« on: January 27, 2015, 10:31:04 AM »
Hi,

Lix version 2015-02-03 has been released.

Download Lix or read the changelog. There have been many unreleased versions, the new features date back to 2014-07-07's successor version.

There have been physics changes. Test the multiplayer and see whether it's not all broken with all the time limit changes. ;-) If you already have version 2015-01-25 or newer, updating is optional; you will get nice bugfixes if you do.

Clam's levels have been updated. Rubix's multiplayer map updates aren't in yet. Rubix shouldn't take the updated files out of their dirs when making an update archive. Rubix: Please make an archive that I can simply extract over your current maps. :-)

-- Simon

Pages: 1 ... 14 15 [16] 17 18