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 ... 13 14 [15] 16 17 18
211
Lix Main / D/A5: Scaling pixel art, opportunity to help
« on: November 26, 2015, 04:26:15 AM »
Hi,

I need nicely upscaled versions of the Lix menu graphics!



^ Old file from A4/C++ Lix.



^ Work-in-progress 2x file from D Lix. This image has been rescaled manually. The scaling is not finished yet: the '!?' is still nearest-neighbor-scaled, not smoothed out.

What's to be done: Make nicely scaled images of all the GUI button stickers. See: List of all image files, but some of these needn't be scaled. Edit after Minim's reply #1: List of files that need scaling.

I would like upscaled versions at 1.5x, 2x, and 3x. Maybe 4x too, for good measure.

Why: D Lix is still far from finished, but one of its huge improvements is support for arbitrary resolutions (screenshot!). The graphical user interface is scaled accordingly, and more of the map is visible without zoom.

If a user with a massive screen loads the game, the GUI elements will occupy a similar ratio of the screen as in the C++ 640x480 version. They need much bigger graphics on them, scaled 3x or even 4x, to look well.



^ Otherwise, we'd get tiny symbols on huge buttons!

How to help: It can be done manually, but it's very tedious. There are tools to scale pixel art with various smart algorithms. A 1-minute google search hasn't brought up binaries of that Windows binaries for the project it's forked from, may be useful for you guys. I don't have Mono set up readily to build/run C#.

Making these images is not my top priority. But they need to be done. If you'd like to help, you can look into this! I'll be here all the time for any questions, or online in IRC.

Maybe making 1.5x versions is hardest. Pixel art scalers tend to be optimized for integer scaling.

I would fix the image's frame format myself from upscaling. (= I don't care if I get frame borders that are thicker than 1 pixel.)

-- Simon

212
Level Design / Don't create disjoint unions?
« on: November 02, 2015, 12:06:03 PM »
Hi folks,

this wasn't clear-cut at all. The first post has some good ideas, but jumps to strange conclusions. Read all the responses and interpret yourself.

Original first post follows:



my visits at IchoTolot's always lead to fruitful discussions. We have found many unwritten guidelines for contemporary level design. It's time to present some of them in an orderly fashion. I think Icho will make another tread, he's the master of making interesting large levels. :lix-wink:

We want to present guidelines, not rules. If you're a level designer, you can break them at your own discretion -- be sure though that you have a very good reason for breaking them.



Don't create disjoint unions: Don't make levels such that each half is an independent level. For example, don't roll two small levels into one large level, separating the halves by steel or lots of empty space. The same problem occurs when you solve one half, your lems enter the second half, and your actions from the first half have absolutely no effect on the second half.

Modern engines allow players to roll back mistakes, but they don't allow merging/rebasing two separate replays. Whenever you multitask, and fix mistakes in one half, you must rollback and repeat the simultaneous actions in the second half, even if they are completely unrelated.

The problems of disjoint unions tend to outweigh by far the puzzle of dividing the skillset.

Bad examples: Rendezvous at the Mountain, Synchronized Lemming, You take the high road. Also Ground City from Pimolems; it crams three moderately interesting levels into on gigangic disjoint union. Dividing the skillset is easy for all of them. Imagine these union levels with properly separated replacement levels (left half of Rendezvous, then right half of Rendezvous in a separate level). The artificial difficulty of the union level over the separated levels lies purely in the execution.

Somewhat bad example: Lost Your Ground from Icho's pack is a disjoint union of two equal halves. It's not that bad because each half is really small, and you don't have to multitask. But the basic problem remains. There is no extra concept to the solution brought by the mirror image. Icho has chosen to override a guideline for aesthetics here, the level still almost fits on one screen. On the other hand, don't mirror a huge level with no extra gain -- you wouldn't have a good reason to override the guideline!

Good examples Not disjoint unions: Sharing the World from Icho's pack, and Try to Compromise Before You Cue from Pimolems. Both of these look completely symmetrical, but require assymetric solutions. [Edit after Nepster's first comment: Not only assymetric, but a solution where the sides interact. So, these aren't disjoint unions after all, even though they look like one.]

Older threads with design guidelines

Time limits: Give unlimited time wherever possible.
Bridge stretching: Design gaps such that stretched and non-stretched bridges behave the same.

-- Simon

213
Closed / 2.00 Replays: Save 1 file, not 2
« on: October 24, 2015, 02:52:41 AM »
Hi,

this has been annoying Icho a lot. I don't remember if it's brought to discussion before.

On saving a replay, Lemmix saves 2 files. One is the binary replay format. One is a human-readable representation of the data in the binary format, but the human-readable one is unusable by Lemmix. I assume the human-readable file is leftover debugging. This is annoying because one of the two files is nothing but clutter.

The obvious solutions are 1) stop outputting the debugging file, or 2) stop outputting the binary file and have the game read the human-readable version.

You'd expect me to make a huge push for 2) now, but I don't feel as strongly about this as with human-readable graphics sets. The reason is that replays don't foster a culture around editing them with commonly-available tools. Occasionally, their contents are important to know for the game developer, because they're often sent in as bug reports.

I feel 1) is good enough for now, sounds like a one-line change.

-- Simon

214
General Discussion / Simon blogs
« on: October 18, 2015, 06:05:44 AM »
Hi,

some loose rambling.

Basic tenet in open source: People are interested in how other people solve problems. You share source code obviously, but you also love to talk about what it does, and are honest about its shortcomings. You can show proudness of your project, provided you're not hiding the problems.

I'm sure the IRC regulars have grown used to "Lix does it like this, the reasons for it are A, B, C, and the source is ugly." The ugly parts ("// 9 indentation levels is way too much") come to mind much more frequently than the nice parts. Good parts don't come to mind all the time; they're simple and to-the-point.

You value public bug reports, and you value source patches even higher. Likewise, users are happy to make bug reports. (Treat users as co-developers.)

Level design shares some qualities with such development, but is different.

People don't play a pack several times. Given the abundance of great and intriguing levels today, people play your pack once if you're lucky, and zero times if you're not. Useful software is run again and again, individual levels are not.

As a pack developer, you want your users to play thoroughly tested levels. There are several approaches. You can make a closed beta. You can release on Lemmini first, where you have fewer users. Or, what I'd do -- release normally, be honest that it's not playtested, and have good faith that people won't play all at once.

I believe I'm unconventional: I cherry-pick single levels. I wait until other people praise certain levels, or, as with Icho's pack, entire level packs. Only then I invest a serious amount of time. As a result, my level diet consists of heavily playtested levels. Maybe others are like me; probably many are to a lesser extent.

Even if you choose "release publicly, and hope that some will wait anyway", you probably don't want unspoilered solutions in public posts. Most authors like feedback in a spoiler tag, or as a replay file. This way, the solutions are public, but you have to explicitly want to see them. This is exactly what spoiler tags are designed for: They don't put the solution out of reach, but only out of accidental reach.

I don't care if people post unspoilered solutions publicly for my little handful of levels. With time limits and hidden traps, I'm happy that most contemporary level designers share my views. But I won't shape discussion culture for level designers. If many like the spoiler-tagging and don't want solutions bantered in logged IRC, then following suit is the way to go.

Bonus rambling, apropos diet: The guinea pig diet consists of eating lots and lots of cucumber. A guinea pig would do the same, and they are extremely cute and obviously extremely smart, because they eat cucumber, which is tasty. Aim for at least half a cucumber per day, maybe even one per day. And cut way back on sugar drinks. Magic will happen!



<SimonN> I have bought 2 cucumbers earlier today, 1 is already eaten. Love love love
<geoo> me too :D :D :D


-- Simon

215
Closed / 2.00 Tree with text/image files > custom formats (Rant!)
« on: October 07, 2015, 03:03:09 PM »
I have made several attempts to push this. There is at least one thread exactly on this issue, but people haven't joined that discussion much back then.

But this is super important. More people than back then have been using the old setup, and know the problems. I want to drive this point home once and for all.

Tree of raw images and accessible control files = GOOD.
Custom formats for tiles or graphic sets = BAD.


I don't care if the control files have the same keywords as Lix files. I don't care whether one animation goes in a collective image, or in many images. I do care that every single file is a standard, worldwide-known format. I do care that data of different types (header values, images) be not merged in a container. They must be separate files that the host program will interpret together.

This has a ton of advantages:

People can use the tools they like on the files. Everybody is adept at different tools, but they all get the job done well. Even if you provide the best tools you can design for blob formats, you lose a million other tools. You forsake hard-earned experience. You lose scriptable tooling and shell interfaces. Well yeah, some Windows users don't care, and would happily work on tasks in a crazily unscalable way. :> Everybody else will immediately rage.

People don't want to learn a new tool; they want to get ideas from brain to usable file ASAP. And the most usable file is a simple image. It's the job of the host program to chew that into whatever bytes the game likes. It's not the designer's job to tear their perfectly well-represented image into whatever this year's NL version happens to like.

And no, it's not enough to have them make their images first, then later force creators to mass-convert content with a special tool. Omit the need for that conversion.

If the control files are getting complex, you can still offer your own tool to work on the data. People don't have to use it, but they can fall back to it.

Even the most stupid text file is admissible to search and replace, grep, sed, etc.; binary files aren't.

People can collaborate, and send each other good, descriptive patches. This is super important. If one tile needs work, that exact file can be fished from the tree, edited, and sent to the set maintainer.

The current NL culture requires you to be the very maintainer in the first place, before you can even think of making a patch! I would have sent Ichotolot some fixed one-way arrows for the castle tileset, had it been possible. Icho would have merged the patch. Icho doesn't care about the arrow's movement direction to make the patch himself!

(This phenomenon is prevailing in open source. Send in a patch, it gets merged, everybody is happy instantly. But put it on the bugtracker instead, and you have to hope that someone else cares enough to fix that particular thing, in a reasonable time, and in a reasonable way.)

The often-referenced "Neolemmix user" is not our lovely auntie who doesn't use a computer much, but is strangely eager to play trans-ONML-difficulty user packs. The typical user is reasonably computer-literate, knows many non-Lemmings games, and is often a level-designer themself. They have used other programs! They know better than to delete random files from a tree, and then complain that "it doesn't work".

Graphic-sets are archaic and damaging. I have to make a precise definition here. A graphic-set, of which usually only one is selected per level, is a subclass of all possible tiles, and only tiles from the chosen set may be used in a level.

Graphic-sets in NL are fundamentally different from what counts as a graphic set in Lix. A Lix tileset is a certain subdirectory in the tree. It is separated by its path from other sets. The game doesn't care if all tiles come from somewhere particular in the tree. It's perfect, because it matches the user's mental model of a tileset, and doesn't impose any restrictions during level building.

Graphic sets have corresponded to the users' ideas of L1, because all users were players. No user was a level designer in L1 when it came out in 1991!

In a time where people are both designers and players, a blob format per graphic set completely obscures what everything is. A graphic set, by this very name already, claims to be a set of graphics. Therefore, it should be a set of graphics, readily accessible on the disk. It should not be some untouchable blob that magically pops out tiles when the host program eats it.

Likewise, a gadget is a special tile: a graphic plus some meta-information. Put the graphic in a graphics file, readily accessible. Put the header info in a sepearate file, readily accessible as text, or as an image mask.

And obviously, graphic tiles should be referenced by their path name, or maybe by hash value. Never with a number that is dependent on a set. Don't even form the idea that for tileset mix-and-match, you could number sets, and number graphics in each set. Distributed content development is incompatible with numbering, plain and simple.

With this representation of single tiles, which is compellingly the most adequate representation of a single tile, it's apparent that a restriction per level to subclasses of tiles is arbirtrary and ill-motivated.

People have undergone needless chores for several days to work around the limitations in current NL. There's the stupidly named Epic tileset, it's simply a union of all 9 or 10 tilesets from L1/ONML tilesets. Giga has put the 500-something tiles of namida's various tileset into one union set. All by hand. No automation possible.

Ichotolot has meticulously put together L2 graphic-sets for NL from loose images. He has made good use of some programs (eidcut, eidrecol) that I wrote years ago to batch-process tilesets represented as images, and that made it tremendously easier for him. These programs were originally written to make Lix tilesets -- but because Lix only takes popular formats, the tools were immediately useful for his non-Lix purpose.

Despite existence of the Epic tileset, or similar union sets, they're rarely used. Being able to mix-and-match has not lead to only mixed-and-matched levels, not at all. Good taste doesn't go out of style.

Don't be working hard to do stupid things! Leverage the capabilities of a well-designed host program!

For releasing a level pack, it's not hard to program a checker that goes through all levels, and makes sure all necessary tiles from the tree are released with the pack. This is of the same difficulty as going through all levels, and checking what currently-existing graphic-sets are used.

People can use version control on their files. This ties in with the collaboration point; people can make the tool visualize what has been changed and how. Formatting patches becomes straightforward. But it is a sane practise for any project, programming, level design, graphics design, etc. (Chains are git is easy and all the cool kids are doing it.)

In particular, if you don't want to put your tiles under version control, you don't have to. All you have is a tree of images, which you can handle with whatever tools you please. That's the point.

Worldwide-known standard formats also compress better than whatever either of us could cook up. In case libpng is too hard to use directly, there are other libs for handling PNG.

To quote the Kernel coding style:

[Typedefs should only be used for] (a) totally opaque objects (where the typedef is actively used to _hide_ what the object is). Example: "pte_t" etc. opaque objects that you can only access using the proper accessor functions [= Neolemmix-specific tools, here]. NOTE! Opaqueness and "accessor functions" are not good in themselves. The reason we have them for things like pte_t etc. is that there really is absolutely _zero_ portably accessible information there.

Images and control files are super portable, there is no reason to make access hard. Don't hide what they are. Any format that is not a plain image, or a plain text file, makes access hard.

Maybe a classic cbloom quote, for good old ranting's sake?

Developers very regularly get some crazy ideas in their head about why they absolutely must do something in a crazy over-complicated way, and they cling to some silly reason why they can't just do it the simple obvious way. It takes a 3rd party coming in to rip up the code and take out the stupidity. (This used to be sort of my specialty).

-- Simon

216
General Discussion / Simon visiting ADmiral, geoo, Ramon in Vienna
« on: October 03, 2015, 03:34:44 AM »
Hi,

we haven't made a thread while I was in Vienna, 2015-09-14 through 2015-09-26.

I have spent the first week with Peter (ADmiral), seeing the town, and meeting some of his friends.

geoo and Ramond joined in during the second week. All 4 of us have slept at geoo's apartment for one day. We have played a ton of Tetris Attack, and reallife Zendo with my set of Icehouse pieces.



Left: Peter (ADmiral), right: myself. Ramon was sitting off the left, and geoo took the photo.

I have longer hair again than during summertime, when geoo was over in Göttingen. :lix-grin: Akseli will be extremely happy about my choice of clothing, instead of being only very happy, as he is all the time.

The rule on the photo was by geoo:
Secret Rule (click to show/hide)

Despite knowing the game for quite some time now, I didn't test thoroughly the single-color koans, and made rushed conclusions that every single-color koan was white. The game was eventually resigned, and I was angry about myself for not solving this. It's not a suitable rule for new players, but I should have been experienced enough to get it.

<SimonN> there's only one way to make up for this self-letdown -- play another game tomorrow

Of course we did. :-)

The black pyramids aren't used in Zendo. geoo liked to fidget with them to pass time.

-- Simon

217
NeoLemmix Main / Bugs/rants from 2015-09-27 session
« on: September 28, 2015, 01:08:43 AM »
Hi,

I've played some more of IchoTolot's nice pack. Here's the daily digest about NL.

This write-up has become slightly more ranty than I wanted, again. >_> Let's call it a side effect of thorough issue reporting. I don't believe anything here is critical, and NL2 with mappable hotkeys is more important.

Arrows moving backwards: The L1 hell set and the NL space tileset both have one-way arrows moving backwards. The arrows point in the correct direction, but move in the wrong direction.

"It has always been this way": Not an argument during a comparison with L1, even if it's like this in the L1 data files. The arrows that point to the right, but move to the left, are never used in L1. Rotten Egg, and One Way Digging To Freedom, both have only left-facing arrows. Maybe the L1 devs have never noticed this error, because the gadget was never used. They have cared about detail for proper arrow animation in the other sets.

Athlete unspecified: I believe this is already on the menu for NL2. Athlete is a useless description of a lemming, because unlike in L1, there is more than one possible combination of >= 2 permanent abilities.

Climber passes through low horizontal bars: See image below.



Assign climber while a lem is walking up to the terrain setup. It will pass right through the horizontal bar, and continue climbing.

This bug was already in L1 and vanilla Lemmix. The NL builder checks for terrain with all of its body, but the climber is still allowed to pass thorugh terrain entirely.

Expected instead: Climber cannot pass though the horizontal bar. They fall/turn immediately, or don't even start climbing in the first place.

Ignore climbers when assigning climber: Have lem #1 and lem #2 both under the cursor. Assign climber to #1. Try to assign climber to #2. The game doesn't assign anything to #2.

Expected instead: Clicking on the bunch several times should assign this many climbers, and ignore already-climbable lems when finding out whom to assign.

Select only walkers: Assign climber to lem #1, assign climber to lem #2. Assign digger to lem #1. Have #2 in this digger pit as a walker. Hold Shift (= the NL key to perform what is mapped to RMB in L1: select only walkers) while trying to assign builder to #2.

The game doesn't highlight any lemming, and doesn't assign builder.

Expected instead: Assignment to #2, because it's a walker, and the Shift feature is described explicitly as "select only walkers", not "priority invert".

Preferring to implement select-only-walkers" over priority inversion is a different problem. There are times when select-walkers is better, but almost every time, priority invert is better. Priority invert would solve the case at hand.

No-overwrite default for gadgets in editor: Strikingly often, level authors forget to set no-overwrite for exits, traps, etc. This obscures builder bridges behind the gadget. In 95 % of the cases, no-overwrite is the wanted flag. For gadgets sitting on perfectly flat terrain, there is no visual hint in either editor or game that this problem will occur with the overwriting gadget.

So, on adding a gadget in NL editor, check no-overwrite as a default.

Error on missing music: Missing music should not prevent playing a level, and not generate a message box. Only use message boxes for critical events -- i.e., data is about to be lost. Missing music is not critical. If you absolutely need to report the error, display it without resorting to a modal box, or log it.

Replay overwritten without warning: Pressing [U] to save a replay overwrites any existing file with the same name. Here, data is lost, but no message box is generated! Replay saving might use a save browser widget anyway.

-- Simon

218
Lix Main / Usability: What to test with newbies?
« on: September 10, 2015, 02:42:06 PM »
Hi,

what parts of the Lix user interface should be tested with new users?

I do not want everybody to go out of their way now and do this kind of testing. If you ever have the chance to entice new users to play Lix, help them enjoy the game instead. :lix-grin: Rather, it's my own duty to have random people try the game, and observe their reactions closely.

Here, I would like to ask you for ideas what to test for.

This is inspired by ccx's concerns about the user interface.

How to test
  • It's best if your candidate hasn't played before, or at least not in a long time.
  • Keep a clipboard, paper and pen ready for yourself. You'll have to take quick notes.
  • Set up a fresh installation of Lix. Run the game.
  • Have them take over the computer now. Interfere as little as possible. Maybe you'll have to get the program out of weird state for the next test. But during a test/question, there should be no interference at all.
  • Give your candidate one of the tasks below. Clearly explain the goal of the task, but do not explain buttons/hotkeys/etc. This applies to questions by them, too: Do not answer questions about the user interface! We're trying to watch a new user without skewing their actions. Clarify the task itself as much as you want.
  • Write down what they try first to accomplish the task. This feedback is most important to me. Maybe they don't hit keys/buttons immediately, then record what they examine first, i.e., where they look for a solution. If they don't get it right on first or second try, you can also write down what they try next.
  • Don't mix tasks. If they don't seem able to get it right at all, it's OK to abandon a task. Make a clear note of this! This is also extremely important feedback.
  • Pay more attention to their actions than to what they say. People are trigger-happy with rationalizations on whatever doesn't fit perfectly into their mental model. You're fine to write down their recommendations still.
What to test

If you have further ideas, suggest them!
  • 1. Play the first tutorial level. (Remember you shall not explain any UI from the fresh installation's language/name entry menu onwards!)
  • 2. Singleplayer: Pause during the game.
  • 3. Singleplayer: Exit a level before it's finished.
  • 4. Menu: Play a non-tutorial level, right after playing a tutorial level, with the singleplayer level still listing tutorial levels.
  • 5. Menu: Start the editor on a given level.
  • 6. Editor: Select an existing piece with the mouse, then move it using the keyboard.
  • 7. Editor: Add a new piece, doesn't matter which one they find.
  • 8. Editor: Add a new hatch to the level.
  • 9. Editor: Make that newly added hatch the first one.
  • 10. Editor: Exit without saving.
  • 11. Multiplayer: Can they learn to assign skills quickly?
  • 12. Multiplayer: Can they have a good feeling for what's going on in large maps?
  • 13. Multiplayer: Do they notice the sound effect when other players are stealing their lix?
  • 14. Multipalyer: Do they understand the wrapping behaviour of maps?
  • 15. Multiplayer: Do they feel overwhelmed?
  • ...?
-- Simon

219
Lix Main / Bugs reported in IRC on 2015-09-06
« on: September 06, 2015, 04:30:13 AM »
Hi guys,

please elaborate on bugs #2 and #3 you've mentioned in IRC while I was over at IchoTolot's. If you can, attach replays to demonstrate the buggy behavior. Bug #1 I've already reproduced, no need to make a replay.

Bug #1

Floater checks at different x-coordinate for encounters

How to repro: Play single/rubix/"Lost 06"/(Level 15). Assign a floater to the first lix straight from the hatch. She will burn in a fire object hidden in the terrain, before she reaches the trampoline. Watch no-floater lixes fall along the same path. They will not burn.

Cause: Eye is at different position in spritesheet. Game checks eye position to determine where to check for encounters. Encounters are checked at eye and at foot (effective coordinate).

Proposed fix: Force eye to have same x-coordinate as the foot, at least for faller and floater.

Bug #2

<Ramond_> SimoTolot: weird behaviour again with lix landing on platform from below

Bug #3

<Ramond_> so is there by chance a "hidden horizontal wrap" function in lix as that it actually wraps but doesn't show it as such?
<geoo> yes, you got it
<Ramond_> this is really cheap
<Ramond_> SimoTolot please fix
<geoo> There's also a hidden exit


This might be a joke, please clarify. I suck at detecting Ramon's irony. (Super)Lemmini has such a horrible bug, where bashers falling out of the bottom reappear at the top.

-- Simon

220
Closed / 2.00 Open-source NL2
« on: September 02, 2015, 12:28:14 AM »
Final decision: Yes, it will be open-source. No, Git is not going to be used, or at least not in the near-future.

Brain dump from IRC:

<SimonN> I'm considering writing a post for namida, suggesting to do NL 2 development on github. I most likely won't build it myself though, but you never know
<Rubi12> er whats NL2
<SimonN> NeoLemmix 2, his rewrite
<Rubi12> oh
<SimonN> basically, opening the source is important for the odd user who likes to look at the source for fun, and may help with debugging if the co-users can look at the source
<SimonN> he might also attract people who send in patches, but that's not the main point with such a project
<SimonN> maybe someone wants to build themselves on Linux, but right now I don't think he's gonna support it
<SimonN> for Windows users, building from source isn't attractive; the same Windows binary built by the maintainer will run for everyone


I was happy to teach git to people on IRC in 2011, when Lix went to github. I'd still be happy to do that these days.

-- Simon

221
Lix Main / Version 2015-09-01 released (now: 2015-09-02)
« on: September 01, 2015, 03:11:39 PM »
Hi folks,

Lix version 2015-09-01 is out, and 2015-09-02 fixes a little, but urgent multiplayer bug (flickering button). There are no physics changes. Replays and netplay are compatible with 2015-08-09.

:lix: Download Lix.
:8(): View the changelist.
:8:()[: Report a bug.

Main points from the changelist:
  • Tileset: NaOH has released the forest tileset. It's an amazing piece of art. Thanks for pushing it it towards this release. Screenshot is below.
  • Levels: Rubix has released new singleplayer levels, and has fixed some older singleplayer levels.
  • Framestepping: You can go back and forth individual frames in singleplayer. Precise, convenient timing controls and instant error recovery are expected of a modern engine. NeoLemmix has offered framestepping for a long while already. Implementing it in Lix was overdue.
  • Several bugfixes.
Hotkey collisions: With the introduction of framestepping, there are three new mappable hotkeys. If you have any hotkeys on numbers 1, 2, 3, 4, 5, 6, please check the ingame hotkeys in the options menu for possible collisions.

Screenshot of the forest tileset:



Framestepping buttons in the new version:



Fast-forward (>>) and turbo-fast-forward (>>>) remain both available. They have two different hotkeys, but only one on-screen button. Left clicks trigger fast-forward, right clicks trigger turbo-fast-forward.

Framestepping buttons, both forward and backward, skip by 1 frame upon left click, and by 1 second upon right click. Each has 2 hotkeys. You can hold the left mouse button, or hotkey, to invoke the function continuously after half a second.

Likewise, left-clicking the spawn interval modifies it by 1 point, right-clicking it sets it to the extreme. Double left-clicks modify it by 2 points, as it should. If you hold the left button, the spawn interval will change faster after half a second.

-- Simon

222
Lix Main / D/A5 port: Windows binaries to test
« on: August 24, 2015, 09:42:39 PM »
Update March 2016: Try D-Lix 0.2.x with singleplayer largely done, and the editor in development.

The topic here is outdated.



Hi folks,

I would like to know how well the Lix D port runs on your machines.
  • Windows users: download this zip archive. This is not an update of the stable Lix release; it's completely independent. Extract to a new directory.
  • Linux users: If you feel adventurous, you can look at the github repo and build yourself. There are instructions in doc/build/linux.txt. The instructions aren't 100 % complete necessarily, find me on IRC (irc.quakenet.org #lix).
How you can test:
  • Start the game.
  • In the main menu, click the big fat button "Benchmark! Takes 2 minutes to run."
  • A couple of levels will be displayed, and some expensive graphics rendering will be tried. Something new happens every 10 seconds automatically. You can scroll around the level if you like.
  • When you're back in the main menu, exit the game.
  • Send/post the following 2 files: data/log.txt and data/profile.txt.
  • Give some rough information about your computer: What's your operating system? Average age of your hardware? Screen resolution? In case you know it: what's your CPU and graphics card?
And that's it. :-)

If you had weird mouse behavior in the old Lix, maybe that has become better already in the D port.

Skippable background:

In February 2015, I have started a fundamental rewrite of Lix in the D Programming Language, using the newer library Allegro 5 instead of the 15-year-old Allegro 4.4. When geoo was visiting me a week ago, we got the D port to compile on his Windows machine. The choice of D over C++ aims at long-term productivity and convenience, without sacrificing efficiency.

The library upgrade is more important. I have great aspirations for the port. With Allegro 4.4, many different people have had issuses: Lix didn't run at all, it didn't display properly on their monitor, or the mouse behaved weirdly. I want the game to run fine for these users.

Finishing the port will take at least 6 more months. Depending my reallife work, expect it in 1 or 2 years. I will continue to maintain the C++/A4 version until then.

-- Simon

223
NeoLemmix Main / Screen updating
« on: August 14, 2015, 09:20:03 PM »
Hi,

here are some issues and questions from the most recent Neolemmix session at Ichotolot's.

1. Pause the game. Right-click a lemming. That lemming will get the highlighting arrow once the game unpauses. There is no other feedback. Expected instead: The screen updates immediately after the click and shows the highlighting arrow, so we can correct a mistake before unpausing.

2. Beat or fail a level. The level exits to the results screen. The replay cannot be saved anymore at this point, and playing the level again does not replay the old replay. Expected instead: The game should not erase data only because the last lemming left. Replay can be saved after level beat.
Quote
[23:31] <Akseli> "Beat or fail a level. The level exits to the results screen. The replay cannot be saved anymore at this point, and playing the level again does not replay the old replay."
[23:31] <Akseli> ---> can be saved
[23:31] <Akseli> by normal means
[23:32] <Akseli> (pressing u)
[23:32] <geoo> sure didn't work for me in the lemmix editor playtest mode
[23:33] <Akseli> yeah not there, there isn't even results screen in that case
[23:34] <SimonN> that is the standard method of playing levels though

geoo had this issue, not I myself. I don't know what has been tested exactly.

3. What's the order of drawing one-way arrows? What's with terrain drawn on top of one-way arrows? The cog contest level has lots of terrain, some behind, some in front of the arrows. I believe you aren't rendering the level 60 times per second, what is the magic behind this?

4. During the game, there is no visual feedback whether a replay is running or not. Expected instead: Large fat visual clue during replay, because this is an important mode different from normal play.

-- Simon

224
Lix Main / Version 2015-08-09 released, test build 2015-08-11
« on: August 10, 2015, 11:03:57 AM »
Hi people,

after 3 months, version 2015-08-09 has been released. If you have joined the netplay session yesterday (Saturday, August 8th, 2015), then you already have this.

There have been physics changes. Most notably, basher and digger remove terrain all during a single frame.

:lix: Download Lix.
:8(): View the changelist.
:8:()[: Feed a bug to the frog.

Current bugs that will be fixed in the upcoming days, but don't affect physics:
  • Spawn interval button flickers when the interval cannot be changed
  • During action replay, you can't cancel the replay by changing skills. You should be able to do that, even if it doesn't generate replay data.
  • Digger icon is still the one from the past years. It should match the new tarmac flattening machine.


Hi people who like to test,
hi Clam who's making replays for pack maintainance,

we want the basher to start 2 frames faster, i.e., first swing takes place 2 frames earlier, all other swings then come normally at multiples of 16 frames after the first.

There's also an elaborate, mostly invisible fix by geoo that prevents newly assigned miners from cancelling working miners. When the ground under miners doens't change, the miner behaves exactly as before. This fix shouldn't break any intended replays.
  • Download the Windows test build. Instead, get the build from my following post. Extract over 2015-08-09; it replaces some images in data/images/, but 2015-08-09 is forward compatible with the new images. Physics are different still, as described for basher and miner.
  • If you build from source, pull branch wip-after-2015-08-09 on github.
The test build can't play on the central server; use 2015-08-09 (first part of the post) for netplay.

-- Simon

225
General Discussion / geoo visiting IchoTolot & Simon, August 2015
« on: July 26, 2015, 07:05:33 PM »
Hi,

geoo is coming to Göttingen, most likely for 2 weeks. He will arrive at July 31st, at 23 local time == 21 UTC. Return ticket isn't booked yet. He'll stay at my place, and I'm sure we'll be meeting with Ichotolot on several days.

We've scheduled a multiplayer Lix game on Saturday, August 1, 22 UTC. This is midnight in Germany, early afternoon in Canada, and late morning on Sunday, August 2 in New Zealand. Everyone is invited to join! At that time, join IRC at quakenet.org #lix or log onto the Lix central server.

<SimonN> maybe (geoo & Simon == Simon)
<NaOH> how does that work
<geoo> I'm all ones

-- Simon

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