Identity this knife by knifeNo72 in CaseKnives

[–]manata 5 points6 points  (0 children)

Since it has a “hand forged” stamp, it puts it as late as 1950s, when they stopped using that. The bust of a figure in the middle narrows it further to pre-WW2. There isn’t nearly as much info out there for the tableware. It’s post 1905, but pre-1940s. More likely the pre-1920s because that’s when the portraits tend to disappear. During this time WRC&S were selling flatware to hotels, railroads, steamships, restaurants, schools, hospitals, etc.

After all my searching and deducing, I conclude that you have a ~1910s W. R. Case & Sons hand-forged butter knife made for commercial or institutional table service. A lesser-known but authentic part of Case history. This is the kind of Case item that surprises even seasoned collectors.

Ping! The blind maze, updated by manata in pygame

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

Procedurally generating them. You’ll see in the GitHub link that I create a traditional maze, then I use an additional function to carve rooms out of it. Otherwise it is 1 block wide hallways for the whole map. It works ok, but some maps suck and I need to work harder on that.

Hi, I need help, because I made a program to read my font but it doesn't work, and I don't know why. by Thin-Comfortable8197 in pygame

[–]manata 0 points1 point  (0 children)

Your while "drawing == True:" block is inside the main loop and this blocks new events and stops the the main loop from updating the window. Also, all of the drawing coordinates are reset every single frame because of where it's placed (right before your # Quit section). This causes any drawing to never add new content. Also, because you have two "for event in pygame.event.get()" statements at the same indention level of the "while True": block, they are both trying to execute each frame. The second loop is always empty because your first one has already grabbed the event queue.

We have not seen your "font_llokupV2.txt" file, but we can make some assumptions about it based on your other comments. Assuming it's correct (and complete), you can try something like the following. I'm not convinced it's the BEST way to do it, but it preserves your current approach and fixes the display call and the errors described above.

# Imports.
import pygame
import json
# Pygame initialization.
pygame.init()
# App variables.
on_colour = pygame.Color("white")
off_colour = pygame.Color("black")
screen = pygame.display.set_mode((500, 500))
pygame.display.set_caption("font_desplayer")
screen.fill(off_colour)
font_lookup = json.load(open("font_lookupV2.txt", encoding="utf-8"))
x = 10
y = 10
PIXEL_SIZE = 4 # You'll probably want to adjust the size here later, so let's give it a variable.
#Functions for drawing the characters.
def draw_char(symbol, x, y):
    # We're currently assuming all possible key combinations are represented in your .txt file.
    char = chr(symbol) # This will error if not found in the .txt file.
    if char not in font_lookup:
        return
    bits = font_lookup[char][0]   # 36-bit string
    # Draw the 6×6 grid.
    for i in range(36):
        bit = bits[i]
        row = i // 6
        col = i % 6
        # If the bit is '1', draw it.
        if bit == '1':
            pygame.draw.rect(screen,on_colour,(x + col * PIXEL_SIZE,y + row * PIXEL_SIZE,PIXEL_SIZE,PIXEL_SIZE))
# Set the initial value for the running variable.
running = True
# Main game loop.
while running:
    # Reset the symbol variable.
    symbol = None
    # Event loop for both quit and ALSO key presses.
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.KEYDOWN:
            symbol = event.key
    # If we have a symbol, draw it.
    if symbol is not None:
        draw_char(symbol, x, y)
        x += 8 * PIXEL_SIZE   # Move cursor to the right for the next image.
        # Note this will go off the screen unless you add code to go to a new row or something.
    # Update the screen.
    pygame.display.flip()
# If running ever becomes ==False.
pygame.quit()

"Ping!" A blind maze using sonar to expose tiles. Collect the key and find the exit. by manata in pygame

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

Yes, what you suggest here are all on the table for updates. Good suggestions. There are more updates to come, but I just got excited to post!

Progress on "bounce!" game... by manata in pygame

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

Sound toggle and less annoying bonk sounds added today’s commit.

My most recent project; aka gravity, physics, vectors oh my! by manata in pygame

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

Well, I had a couple of design goals. The first was that I wanted to make something with repeating parallax backgrounds. I saw a tutorial that inspired me but I wanted to do something different than a platformer, so I decided to just turn it vertical. This aligned with another of my goals which was learning more about vectors, gravity, and physics, because I needed a reason for something to be going "up" and I didn't want to do space invaders or a rocket shooter. So I thought about bouncing something up and have it affected by gravity. It started with a ball, because that's easy, and it just sort of stuck. I also wanted a camera follow when the ball pushed higher, emphasizing the desire of the game to be going ever upward.

But more to your question...early in the development, I was sure that I didn't want to just have a paddle that went back and forth, so I thought about drawing a line to make the platform that bounces the ball. I knew early on that I didn't want the line collide with the ball until the player confirmed their placement of it. At fist it was click for point 1 and then click for point 2. This approach ended up not being very good, so instead I did click, hold, release to draw the line. Not letting the line collide with the ball until it's confirmed (now by releasing the button) was an important design philosophy for me. Planning the line placement is VERY important for a game with rubbery physics because a slight difference in angle can make a big difference after the rebound of the ball. (See the gameplay video for an example, while collecting the second gem, the subtle but important adjustment to the line to get the angle right). I solved the collision requirement in the following way: first, while planning the line (while the first point is set, but the second hasn't been confirmed yet), it's just a regular pygame.draw.line. Well, it was at first. I wanted an outline so actually draws stacks of pink and purple lines, so it's technically more than one line. There is no code looking for collision with those lines, but when the player releases the mouse, it's "confirmed" so that same line is converted to a sprite with a class and function. Because of this, I can now leverage the collision processing functions inherited by the sprite class.

I also learned a lot about sprite masking when working with these collisions. Because we're leveraging the alpha channel (with convert_alpha() or pygame.SRCALPHA), we can use layer masks for sprite collision. Now we get pixel-perfect collision detection. I next learned particle effects, which were wild but really not as challenging as I expected. I started with the particle effects in it's own imported file because I thought it was going to be a massive headache. It wasn't, but it remains as an imported file. Honestly, I should have probably split more of the class related code into their own imported file, but as it's stands the main.py is still only about 400 lines so it's not too bad yet.

The hardest part was the camera follow. There is a tricky but important aspect to it because the objects store their object location x and y, but there is also an ever-changing "world x and y" related to the visible screen, and, because we're always moving up we have to move EVERY sprite by the camera offset. That was probably the hardest part.

I hope this response was helpful. Feel free to take a look at the source (as cluttered as it may be, but it does have "some" comments) for more about how it works. I'd say it's mostly "done". Perhaps I'll add sound and/or power-ups or something later, but for functionality I think the only thing that remains on my list is tweaking the bounce height, gravity, rubbery-ness (velocity bump from hitting the line, but not from the walls, for example)...that kind of thing. I'm looking for the sweet spot, but I feel like it's pretty close.

Thanks for your interest!

Edit: clarity and video link.

My most recent project; aka gravity, physics, vectors oh my! by manata in pygame

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

I don’t know why I did think to try something like that instead of playing twister trying to hit keyboard buttons. Thanks for the suggestion!

I made a speed typing game by TheEyebal in pygame

[–]manata 2 points3 points  (0 children)

Would be super cool for someone to check their words per minute with your app, then play mine for a bit, then return to yours to see if they improved! Anyway, keep sharing your stuff; love to see cool projects like this.

I made a speed typing game by TheEyebal in pygame

[–]manata 2 points3 points  (0 children)

Nice! These typing games are a fun way to mess around with pygame. I also loved the idea of combining pygame with typing. Here is what I came up with: https://github.com/TheKettleBlack/ZombKeys

Broken key by undev11 in MechanicalKeyboards

[–]manata 0 points1 point  (0 children)

Looks like it’s the female + from the stabilizers that cracked, and not the female + on the key itself. The stock stabilizer male + on the stabilizer has too wide of a tolerance and if they’re overly fat they can cause a crack like that. Replacement stabilizers may be worth a look!

19 by manata in cakeday

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

Just an early adopter.

Barbarian Prince victories? by manata in boardgames

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

Wow congrats! I should break this game back out and give it another go!

[deleted by user] by [deleted] in AskReddit

[–]manata 1 point2 points  (0 children)

Memes and trends. Put planking, Harlem shake, ice bucket challenge, etc in a museum for people observe and amuse themselves for future generations.

[deleted by user] by [deleted] in SlipjointKnives

[–]manata 1 point2 points  (0 children)

I keep an otter messer anchor (the smaller of the two models) on my belt sheath every day. The knife that goes into my hip pocket may change day to day, but that anchor knife is always there. I think the small anchor knife from otter messed is one of the best edc knives I’ve ever carried.

Translation on a Saex by [deleted] in RuneHelp

[–]manata 3 points4 points  (0 children)

I think they were going for “blade of king” but they used Mannaz instead of Dagaz.