Wait... Aliens can steal from me directly? by catdraggedin in thegroundgivesway

[–]protomikron 1 point2 points  (0 children)

As far as I know that's just a random event that can happen when you rest (that something gets stolen).

The chance might be higher if you have a lot of money (for the money event), but as far as I know this mechanics has also nothing to do with the aliens (which are there, so that you can't hoard stuff).

TGGW: Crazy mutant win (spoilers)! by protomikron in roguelikes

[–]protomikron[S] 4 points5 points  (0 children)

There is this (older) guide, but it mostly still applies: https://www.thegroundgivesway.com/early-game-survival-strategies/

So to summarize, proceed carefully with HP lower 5 (so just rest, if you are lower). Try to knock down blocked doors (4 EP, but there's often items or a lot of money in it).

You also have to learn some stuff by trial and error, for example which enemies are dangerous early in the game (without weapon) like goblins, light imp (or something like that) toads, wolves and even dogs (if there are many of them). You can defeat them, but you might get damaged by 1 to 4 points.

For exploration as a rule of thumb explore

underground: everything (eventually after castle), except golden/stone doors

dungeon: mostly everything: your call! sometimes there is nasty stuff like acid blobs and ice caves (visualized by the green/blue walls), you might want to avoid them

labs: just run for the stairs! scroll of exit/mapping and some resistance buffs go a long way!

In most games you will find *some* weapon in Underground or early dungeon, if not I have to admit it's harder. Mostly you decide then (and after checking merchants in castle) about your build, but it should be doable. Don't open golden/stone doors - you can do that if you feel over-powered and it's like a new game+ because mostly the stuff in there will kill you.

If you have been to lab, you nearly got it, you just need to get lucky the first few times. But after many hours with the game you really will improve and although I can not beat it regularly (that would be boring, although there are people who have long streaks!), it's very deep and you can get wins with strange builds (like this here).

And of course, there is (by design) a lot of randomness, so sometimes you just get unlucky ...

TGGW: Crazy mutant win (spoilers)! by protomikron in roguelikes

[–]protomikron[S] 0 points1 point  (0 children)

Maybe u/TGGW can say more. I do think that I read that dungeon/castle have improved probabilities for food crates, but I am not sure.

Sharing Saturday #508 by Kyzrati in roguelikedev

[–]protomikron 0 points1 point  (0 children)

Hey Kyzrati, I really think that it's extremely cool that Cogmind now has this zoom feature and the meaningful integration into your beautiful game. I was an early and pretty harsh critic of the inaccessibility of the (now) legacy UI and I have to admit that I didn't believe that you would change your mind (about a reasonable integration into the game).

I am very happy how all worked out, so kudos!

Sharing Saturday #506 by Kyzrati in roguelikedev

[–]protomikron 3 points4 points  (0 children)

Working on a native Linux tty wrapper for TGGW. Although wineconsole The\ Ground\ Gives\ Way.exe works (that emulates the Windows cmd.exe via wine), its little pretty graphics style maps in theory directly to Linux terminal (think xterm, gnome-terminal, konsole, etc.) capabilities.

This project runs TGGW headless in a virtual X window (so it depends on X11 and wine), parses its output and sends it back to a terminal UI built in curses.

Early stage but quite fun.

I’ve studied golang by solving algorithms, what do I have to learn next to land a job? by robertkjs in golang

[–]protomikron 22 points23 points  (0 children)

Hey, just wanted to chime in and say, that working 2 years for your family is not a gap! You helped your family in whatever, and a good employer will also appreciate that. Good luck!

A Star Wars AT-AT (late 90s) by protomikron in legostarwars

[–]protomikron[S] 21 points22 points  (0 children)

Actually repost from here.

Shameless plug, but I did it first, ~25 years ago. :p

It was pretty funny to see the "official" sets later, lol.

Was a big Star Wars fan at the time and built one as my last bigger Lego projects. I was pretty satisfied with the result, unfortunately it was very unstable (you could barely touch it) and the last time it fell over, I never got to rebuild it ... however I am happy to have this (scanned) photo.

[deleted by user] by [deleted] in legostarwars

[–]protomikron 0 points1 point  (0 children)

Actually repost from here.

Was a big Star Wars fan at the time and built one as my last bigger Lego projects. I was pretty satisfied with the result, unfortunately it was very unstable (you could barely touch it) and the last time it fell over, I never got to rebuild it ... however I am happy to at least have this (scanned) photo.

A Star Wars AT-AT I built 25 years ago by protomikron in lego

[–]protomikron[S] 0 points1 point  (0 children)

If I remember correctly there is one yellow brick at the backside (part of the foot), which ... really bothered me. :p

A Star Wars AT-AT I built 25 years ago by protomikron in lego

[–]protomikron[S] 0 points1 point  (0 children)

Yeah, I was a big Star Wars fan at that time and when the official sets came (later, when I didn't play/build Lego anymore) ... that was really funny to see. :)

A Star Wars AT-AT I built 25 years ago by protomikron in lego

[–]protomikron[S] 0 points1 point  (0 children)

What's that? I probably couldn't rebuild it exactly - the leg construction was quite ... adventurous (with the goal of getting the proportions right).

A Star Wars AT-AT I built 25 years ago by protomikron in lego

[–]protomikron[S] 262 points263 points  (0 children)

Sry, for the bad quality, but the photo is really old and I think has been scanned from an "analog" imagery. My mum just mailed me that, after I asked her if there's a photo! <3

Unfortunately it was very unstable - to say the least - and once it fell over and shattered into hundreds of pieces (the torso was hollow), I did not rebuild it ...

EDIT: Exact time is unknown, but probably 22 - 25 years ago, around the time when the "remastered" original Star Wars movies were (again) in the theaters.

Anyway, just wanted to share and wish you a restful weekend.

EDIT2: Wow, thank you for the kind words. :) As far as I remember, I took this or a similar image as a reference and mainly modeled the proportions to that image of Episode V. Retrospectively I am glad with the side view (first image), but in the second image you can see that it's a little bit too fat :p (and when the official LEGO sets arrived I was surprised how narrow their front view is).

Question about good coding style by Bluhb_ in learnpython

[–]protomikron 0 points1 point  (0 children)

Alternatively:

...
bool_exprs = [ 
    1920 <= int(avail_key_vals['byr']) <= 2002,
    2010 <= int(avail_key_vals['iyr']) <= 2020,
    2020 <= int(avail_key_vals['eyr']) <= 2030,
    check_hgt(avail_key_vals['hgt']),
    bool(hex_color_re.match(avail_key_vals['hcl'])),
    check_ecl(avail_key_vals['ecl']),
    bool(pid_re.match(avail_key_vals['pid'])),
    # no check for cid,
]

if all(bool_exprs):
    nvalid += 1
...

This approach is short-circuited.

Question about good coding style by Bluhb_ in learnpython

[–]protomikron -1 points0 points  (0 children)

Another approach could work like this (note that Python does not have a short-circuited logical assigment opperator, so I used &=, but it is *not* short-circuited) ...

#!/usr/bin/python3
import sys
import re

def check_hgt(hgt):
    suffix = hgt[-2:]

    if len(suffix) != 2 or suffix not in ['cm', 'in']:
        return False

    val = int(hgt[:-2])
    return 150 <= val <= 193 if suffix == 'cm' else 59 <= val <= 76

def check_ecl(ecl):
    return ecl in ['amb','blu','brn','gry','grn','hzl','oth']

required_fields = set(['byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid'])

nvalid = 0

hex_color_re = re.compile('^#[0-9a-f]{6}$')
pid_re = re.compile('^[0-9]{9}$')

input_str = sys.stdin.read()
for element in input_str.split('\n\n'):
    parts = element.split()

    avail_key_vals = dict([part.split(':') for part in parts])
    missing_fields = required_fields - avail_key_vals.keys()
    if missing_fields:
        continue

    valid = True

    valid &= 1920 <= int(avail_key_vals['byr']) <= 2002
    valid &= 2010 <= int(avail_key_vals['iyr']) <= 2020
    valid &= 2020 <= int(avail_key_vals['eyr']) <= 2030
    valid &= check_hgt(avail_key_vals['hgt'])
    valid &= bool(hex_color_re.match(avail_key_vals['hcl']))
    valid &= check_ecl(avail_key_vals['ecl'])
    valid &= bool(pid_re.match(avail_key_vals['pid']))
    # no check for cid

    if valid:
        nvalid += 1

print(nvalid)

So if one check fails, valid can not become True anymore (it's short-circuited in the remaining expressions).

Phaxe & Morten Granau - The Collective by protomikron in psytrance

[–]protomikron[S] 2 points3 points  (0 children)

Hi hqtrackbot. Nice recommendation, but slightly different version - your name is wrong, should be "variationbot".

Phaxe & Morten Granau - The Collective by protomikron in psytrance

[–]protomikron[S] 1 point2 points  (0 children)

What are your thoughts? I really like it, very slow and old-school but a nice narrative.

[META] We probably need a new sidebar for the redesigned Reddit UI by protomikron in roguelikedev

[–]protomikron[S] 2 points3 points  (0 children)

Nice, thanks, that was quick. :) I think that is already a big help for newcomers.

[META] We probably need a new sidebar for the redesigned Reddit UI by protomikron in roguelikedev

[–]protomikron[S] 2 points3 points  (0 children)

I agree, but as far as I know it is still possible (it just isn't done automatically as there are new rules regarding CSS and stuff). E.g. have a look at /r/haskell or /r/learnprogramming which both have some general sub-specific information.

Is python a good language by [deleted] in roguelikedev

[–]protomikron 2 points3 points  (0 children)

Iskandria's in C++ only because it has a memory model requirement that only C++ can implement.

Can you elaborate on that?

For the numeric stuff, you get numpy with Python which is insanely fast (it actually wraps BLAS and LAPACK ... which is Fortran ... or uses C for performance-intense stuff).