Skip Navigation
The Weekly 'What are you playing?' Discussion
  • I'm continuing Daggerfall Unity now that version 1.0 is out. There were only 2 minor issues that I had with it when I previously played, and they both look to be fixed. I've joined a knights order, a temple, and the Dark Brotherhood, and got my character up to a high enough level that I would be comfortable with going for the main quest.

  • The Weekly 'What are you playing?' Discussion
  • I just finished Scorn, it was very interesting.

    I feel like the combat wasn't necessary since the puzzles and exploration felt like the main focus of the game, but at the same time, I don't know how they could have made the environment feel dangerous without the threat of death. There was a puzzle later in the game that did require you to injure yourself, but I don't think that would have worked as a replacement for combat in the rest of the game, and being present throughout the game would lessen the impact of it in the short moment where it is actually necessary. Also, the guns were very neat looking, so that is an additional upside to having combat.

    Even though this sounds like a lot of complaining, I don't think I could come up with any other criticisms, as pretty much everything else about the game felt perfect. I don't think it is the sort of thing I will play again, but it will be something I will think back on more than most other games.

  • The Weekly 'What are you playing?' Discussion
  • I've been playing the original Doom for the first time over the last few days, and just beat it today. It was really good and I can see why it was such a big deal at the time. It was a significant improvement over Wolfenstein 3D in every way, not just technically, but also in terms of level design and story.

  • 🍪 - 2023 DAY 7 SOLUTIONS -🍪
  • Python

    Part 1: https://github.com/porotoman99/Advent-of-Code-2023/blob/main/Day 7/part1.py

    Code
    import os
    
    filePath = os.path.dirname(os.path.realpath(__file__))
    inputFilePath = filePath + "\\adventofcode.com_2023_day_7_input.txt"
    # inputFilePath = filePath + "\\part1.txt"
    
    def typeSort(hand):
    	cardCount = {
    		"2": 0,
    		"3": 0,
    		"4": 0,
    		"5": 0,
    		"6": 0,
    		"7": 0,
    		"8": 0,
    		"9": 0,
    		"T": 0,
    		"J": 0,
    		"Q": 0,
    		"K": 0,
    		"A": 0
    	}
    	for card in hand:
    		cardCount[card] += 1
    	cardTotals = list(cardCount.values())
    	cardTotals.sort(reverse=True)
    	if(cardTotals[0] == 5):
    		return 6
    	elif(cardTotals[0] == 4):
    		return 5
    	elif(cardTotals[0] == 3 and cardTotals[1] == 2):
    		return 4
    	elif(cardTotals[0] == 3):
    		return 3
    	elif(cardTotals[0] == 2 and cardTotals[1] == 2):
    		return 2
    	elif(cardTotals[0] == 2):
    		return 1
    	else:
    		return 0
    
    def bucketSort(camelCard):
    	totalScore = 0
    	cardOrder = ["2","3","4","5","6","7","8","9","T","J","Q","K","A"]
    	hand = camelCard[0]
    	totalScore += cardOrder.index(hand[4]) * 15 ** 1
    	totalScore += cardOrder.index(hand[3]) * 15 ** 2
    	totalScore += cardOrder.index(hand[2]) * 15 ** 3
    	totalScore += cardOrder.index(hand[1]) * 15 ** 4
    	totalScore += cardOrder.index(hand[0]) * 15 ** 5
    	return totalScore
    
    hands = []
    bids = []
    
    with open(inputFilePath) as inputFile:
    	for line in inputFile:
    		lineSplit = line.split()
    		hand = lineSplit[0]
    		bid = lineSplit[1]
    		hands.append(hand)
    		bids.append(bid)
    
    bids = [int(bid) for bid in bids]
    
    camelCards = list(zip(hands,bids))
    
    typeBuckets = [[],[],[],[],[],[],[]]
    
    for camelCard in camelCards:
    	hand = camelCard[0]
    	typeScore = typeSort(hand)
    	typeBuckets[typeScore].append(camelCard)
    
    finalCardSort = []
    
    for bucket in typeBuckets:
    	if(len(bucket) > 1):
    		bucket.sort(key=bucketSort)
    	for camelCard in bucket:
    		finalCardSort.append(camelCard)
    
    camelScores = []
    
    for camelIndex in range(len(finalCardSort)):
    	scoreMultiplier = camelIndex + 1
    	camelCard = finalCardSort[camelIndex]
    	camelScores.append(camelCard[1] * scoreMultiplier)
    
    print(sum(camelScores))
    

    Part 2: https://github.com/porotoman99/Advent-of-Code-2023/blob/main/Day 7/part2.py

    Code
    import os
    
    filePath = os.path.dirname(os.path.realpath(__file__))
    inputFilePath = filePath + "\\adventofcode.com_2023_day_7_input.txt"
    # inputFilePath = filePath + "\\part1.txt"
    
    def typeSort(hand):
    	cardCount = {
    		"J": 0,
    		"2": 0,
    		"3": 0,
    		"4": 0,
    		"5": 0,
    		"6": 0,
    		"7": 0,
    		"8": 0,
    		"9": 0,
    		"T": 0,
    		"Q": 0,
    		"K": 0,
    		"A": 0
    	}
    	for card in hand:
    		cardCount[card] += 1
    	jokerCount = cardCount["J"]
    	cardCount["J"] = 0
    	cardTotals = list(cardCount.values())
    	cardTotals.sort(reverse=True)
    	if(cardTotals[0] + jokerCount == 5):
    		return 6
    	elif(cardTotals[0] + jokerCount == 4):
    		return 5
    	elif(
    		cardTotals[0] + jokerCount == 3 and cardTotals[1] == 2
    		or cardTotals[0] == 3 and cardTotals[1] + jokerCount == 2
    	):
    		return 4
    	elif(cardTotals[0] + jokerCount == 3):
    		return 3
    	elif(
    		cardTotals[0] + jokerCount == 2 and cardTotals[1] == 2
    		or cardTotals[0] == 2 and cardTotals[1] + jokerCount == 2
    	):
    		return 2
    	elif(cardTotals[0] + jokerCount == 2):
    		return 1
    	else:
    		return 0
    
    def bucketSort(camelCard):
    	totalScore = 0
    	cardOrder = ["J","2","3","4","5","6","7","8","9","T","Q","K","A"]
    	hand = camelCard[0]
    	totalScore += cardOrder.index(hand[4]) * 15 ** 1
    	totalScore += cardOrder.index(hand[3]) * 15 ** 2
    	totalScore += cardOrder.index(hand[2]) * 15 ** 3
    	totalScore += cardOrder.index(hand[1]) * 15 ** 4
    	totalScore += cardOrder.index(hand[0]) * 15 ** 5
    	return totalScore
    
    hands = []
    bids = []
    
    with open(inputFilePath) as inputFile:
    	for line in inputFile:
    		lineSplit = line.split()
    		hand = lineSplit[0]
    		bid = lineSplit[1]
    		hands.append(hand)
    		bids.append(bid)
    
    bids = [int(bid) for bid in bids]
    
    camelCards = list(zip(hands,bids))
    
    typeBuckets = [[],[],[],[],[],[],[]]
    
    for camelCard in camelCards:
    	hand = camelCard[0]
    	typeScore = typeSort(hand)
    	typeBuckets[typeScore].append(camelCard)
    
    finalCardSort = []
    
    for bucket in typeBuckets:
    	if(len(bucket) > 1):
    		bucket.sort(key=bucketSort)
    	for camelCard in bucket:
    		finalCardSort.append(camelCard)
    
    camelScores = []
    
    for camelIndex in range(len(finalCardSort)):
    	scoreMultiplier = camelIndex + 1
    	camelCard = finalCardSort[camelIndex]
    	camelScores.append(camelCard[1] * scoreMultiplier)
    
    print(sum(camelScores))
    

    I tried to do this one as quickly as possible, so the code is more messy than I would prefer, but it works, and I don't think the solution is too bad overall.

    Edit: I went back and changed it to be a bit better. Here are my new solutions:

    Part 1 v2: https://github.com/porotoman99/Advent-of-Code-2023/blob/main/Day 7/part1v2.py

    Code
    import os
    
    filePath = os.path.dirname(os.path.realpath(__file__))
    inputFilePath = filePath + "\\adventofcode.com_2023_day_7_input.txt"
    # inputFilePath = filePath + "\\part1.txt"
    
    CARD_ORDER = "23456789TJQKA"
    
    def typeSort(camelCard):
    	cardCount = {}
    	for card in CARD_ORDER:
    		cardCount[card] = 0
    	hand = camelCard[0]
    	for card in hand:
    		cardCount[card] += 1
    	cardTotals = list(cardCount.values())
    	cardTotals.sort(reverse=True)
    	if(cardTotals[0] == 5):
    		return 6
    	elif(cardTotals[0] == 4):
    		return 5
    	elif(cardTotals[0] == 3 and cardTotals[1] == 2):
    		return 4
    	elif(cardTotals[0] == 3):
    		return 3
    	elif(cardTotals[0] == 2 and cardTotals[1] == 2):
    		return 2
    	elif(cardTotals[0] == 2):
    		return 1
    	else:
    		return 0
    
    def handSort(camelCard):
    	totalScore = 0
    	hand = camelCard[0]
    	totalScore += CARD_ORDER.index(hand[4]) * 15 ** 1
    	totalScore += CARD_ORDER.index(hand[3]) * 15 ** 2
    	totalScore += CARD_ORDER.index(hand[2]) * 15 ** 3
    	totalScore += CARD_ORDER.index(hand[1]) * 15 ** 4
    	totalScore += CARD_ORDER.index(hand[0]) * 15 ** 5
    	return totalScore
    
    hands = []
    bids = []
    
    with open(inputFilePath) as inputFile:
    	for line in inputFile:
    		lineSplit = line.split()
    		hand = lineSplit[0]
    		bid = lineSplit[1]
    		hands.append(hand)
    		bids.append(int(bid))
    
    camelCards = list(zip(hands,bids))
    camelCards = sorted(camelCards, key=lambda x: (typeSort(x), handSort(x)))
    
    camelScores = []
    
    for camelIndex in range(len(camelCards)):
    	scoreMultiplier = camelIndex + 1
    	camelCard = camelCards[camelIndex]
    	camelScores.append(camelCard[1] * scoreMultiplier)
    
    print(sum(camelScores))
    

    Part 2 v2: https://github.com/porotoman99/Advent-of-Code-2023/blob/main/Day 7/part2v2.py

    Code
    import os
    
    filePath = os.path.dirname(os.path.realpath(__file__))
    inputFilePath = filePath + "\\adventofcode.com_2023_day_7_input.txt"
    # inputFilePath = filePath + "\\part1.txt"
    
    CARD_ORDER = "J23456789TQKA"
    
    def typeSort(camelCard):
    	cardCount = {}
    	for card in CARD_ORDER:
    		cardCount[card] = 0
    	hand = camelCard[0]
    	for card in hand:
    		cardCount[card] += 1
    	jokerCount = cardCount["J"]
    	cardCount["J"] = 0
    	cardTotals = list(cardCount.values())
    	cardTotals.sort(reverse=True)
    	if(cardTotals[0] + jokerCount == 5):
    		return 6
    	elif(cardTotals[0] + jokerCount == 4):
    		return 5
    	elif(
    		cardTotals[0] + jokerCount == 3 and cardTotals[1] == 2
    		or cardTotals[0] == 3 and cardTotals[1] + jokerCount == 2
    	):
    		return 4
    	elif(cardTotals[0] + jokerCount == 3):
    		return 3
    	elif(
    		cardTotals[0] + jokerCount == 2 and cardTotals[1] == 2
    		or cardTotals[0] == 2 and cardTotals[1] + jokerCount == 2
    	):
    		return 2
    	elif(cardTotals[0] + jokerCount == 2):
    		return 1
    	else:
    		return 0
    
    def handSort(camelCard):
    	totalScore = 0
    	hand = camelCard[0]
    	totalScore += CARD_ORDER.index(hand[4]) * 15 ** 1
    	totalScore += CARD_ORDER.index(hand[3]) * 15 ** 2
    	totalScore += CARD_ORDER.index(hand[2]) * 15 ** 3
    	totalScore += CARD_ORDER.index(hand[1]) * 15 ** 4
    	totalScore += CARD_ORDER.index(hand[0]) * 15 ** 5
    	return totalScore
    
    hands = []
    bids = []
    
    with open(inputFilePath) as inputFile:
    	for line in inputFile:
    		lineSplit = line.split()
    		hand = lineSplit[0]
    		bid = lineSplit[1]
    		hands.append(hand)
    		bids.append(int(bid))
    
    camelCards = list(zip(hands,bids))
    camelCards = sorted(camelCards, key=lambda x: (typeSort(x), handSort(x)))
    
    camelScores = []
    
    for camelIndex in range(len(camelCards)):
    	scoreMultiplier = camelIndex + 1
    	camelCard = camelCards[camelIndex]
    	camelScores.append(camelCard[1] * scoreMultiplier)
    
    print(sum(camelScores))
    
  • Friday Facts #387 - Swimming in lava
  • I wonder if we will be able to use the lava to produce steam for power. They've shown some new machines, but to actually produce the electricity is something that would also be interesting to see. If you first come to the planet entirely unprepared, will you be able to build your way back up to another rocket, or will you have to die to respawn on Nauvis?

  • Friday Facts #387 - Swimming in lava
  • They mentioned the drill can mine a 12x12 area, so there is probably some uranium from the patch to the right that is close enough for it to get. Looking more closely, there is a sulfuric acid pipe running to the drill. I don't know how this works with the current miners, but perhaps piping in the acid forces it to mine the uranium instead of the iron?

  • Deleted
    *Permanently Deleted*
  • You might be able to try putting

    getstage TG03
    

    in the console to figure out where the game thinks you are in the quest. The quest page on UESP should have a table at the bottom that gives a breakdown of what the values mean. You can try doing what the quest expects of you, or using

    setstage TG03 [stage]
    

    to put the quest back on track. Make sure to make a save before messing with the console, last time I broke something with it, I had to redo 10 hours since my last save

  • And can they be caught?
  • As far as I'm aware, the inclusion of real-world animal species in the older anime and games was due to the lack of variety in existing Pokemon species. The last time I know they referred to a real animal was in 2016, where the Pokedex entry for Raichu says it can knock out an Indian elephant. More recently, Raichu's Pokedex entry was updated to instead say it can incapacitate a Copperajah.

  • InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)PO
    porotoman99 @lemmy.world
    Posts 0
    Comments 31