daddybutter

joined 11 months ago
[–] daddybutter@lemmy.world 3 points 1 week ago (2 children)

I'm in that boat as well. I backed around a decade ago and while I haven't made it to the chairman's club, I'm still embarrassed by how much I've put into this dumpster fire due to the fomo and ever looming price increases on stuff. I basically don't play anymore, but I follow the patch notes and occasionally drop into the testing chat or subreddit and see what the latest is.

The main arguments I see from people are that it's in alpha and that x or y was never promised (or wasn't promised by a certain time) and that's all bullshit. Yes, the game is in active development. Yes, bugs are going to be created and slip through testing. Yes, scope changes and things need to be reworked. Yet year after year after year CIG has shown how incapable they are at squashing bugs properly while still adding more features which just compounds onto the underlying problems. As for the feature promises, they make a big deal about x or y coming around a certain time. Is it a promise? No, that would be insane, but they feed the community what they want to hear with targets, build that hype and take in money, then last minute it's oh, we've gotta push it back, BUT IT'S COMING DON'T WORRY!! Really, what a surprise you guys ran into issues with yet another thing and had to push your projections out yet again. Every year it's the same cycle. How long has 4.0 been on the horizon? I also found it a bit insulting when Jared went on ISC (IIRC) not too long ago and was like "we never promised anything, that's the communities fault for getting too hyped." Like broooo, you guys intentionally drive the hype and then blame us when we get excited??

The project has been poorly managed for years and I don't expect it to get better. I truly hope they succeed because it really has the potential to be something special and ground breaking (at least as far are the server meshing tech goes) but I'm done supporting them in any way. I've handed over way too much money. I've wasted countless hours trying to work around the bugs that plague almost every single patch. And all the times I tried to defend them online just made me look like a clown as they continued to pump buggy builds out one after another. Eventually, you just can't find a reason to stand up for them because you feel like you're enabling bad behavior. Unfortunately, the wonder and awe the game used to inspire is long gone for me. It's been a really disappointing ride watching the one game I really wanted get mismanaged the way that it has.

[–] daddybutter@lemmy.world 33 points 1 week ago (1 children)

Winter in Australia is June-August, so that December temp is their summer record.

[–] daddybutter@lemmy.world 24 points 2 months ago (2 children)

Z-library was a massive pirate repository for ebooks.

[–] daddybutter@lemmy.world 4 points 2 months ago (1 children)

It is not compatible with Linux and IIRC the dev does not know how to port it.

[–] daddybutter@lemmy.world 15 points 2 months ago (1 children)

I've seen a bunch of people recommend this and I've played around with it a bit since they initially added frame gen to Lossless Scaling. It never feels smooth. There's always some stutter/jitter in the frames that makes it feel terrible, even when it's "100+ fps". Definitely feels worse than a native 60. Also worse than AMDs fluid motion frames option which does feel and look smoother. I leave it installed and come back from time to time to see if it's improved but it's just not something I've found to be enjoyable or an improvement to my gaming experience.

0
Patch 3.23 is LIVE (robertsspaceindustries.com)
 

Lots of people having issues getting into queue for download, but it's finally live! Let's goooooo!

[–] daddybutter@lemmy.world 4 points 5 months ago

Like the others said, double check your connections. It's easy to accidentally not plug something in all the way. Also, an extra preinstalled standoff wouldn't be out of the question and I have had that happen, would be worth checking out as well. You didn't mention what power supply you are using. New/used? Older used? Can you test the power supply on another computer to help rule that out?

[–] daddybutter@lemmy.world 6 points 5 months ago

Ryzen 1700 doesn't have integrated graphics.

[–] daddybutter@lemmy.world 2 points 5 months ago
[–] daddybutter@lemmy.world 6 points 5 months ago* (last edited 5 months ago) (3 children)

Using reader mode usually makes these accessible or if you like saving recipes, the app Paprika works well on many sites. Even ones that won't automate the download (like this particular one) make it easy to copy by section into the app.

French Onion Macaroni and Cheese Recipe By Ali Slagle

Total Time: 1 hour

This outrageously good macaroni and cheese fuses two classic comfort foods into one dish. Caramelizing onions can be a time-consuming affair, but here, the process is sped up by using high heat and and a little water to prevent scorching. The sauce is made with a combination of Gruyère, to remind you of French onion soup, and white Cheddar, to make it melty and smooth. Instead of topping the dish with a dusting of diminutive bread crumbs, it’s dotted with Gruyère toasts that become melty and crisp after a few minutes under the broiler. (You’ll want to slide a sheet pan underneath before baking, in case some of the sauce bubbles over.) This is over-the-top richness at its best.

Learn: How to Make Mac and Cheese Ingredients

Yield:6 to 8 servings

Kosher salt
4 tablespoons unsalted butter, plus more for greasing the pan
2 pounds yellow or Vidalia onions, peeled, halved and thinly sliced
5 sprigs fresh thyme, plus more thyme leaves for garnish
1 fresh or dried bay leaf (optional)
Black pepper
1 pound cavatappi or elbow pasta
1 baguette, cut into ½-inch slices
1 garlic clove
2 tablespoons sherry vinegar, red wine vinegar or white wine vinegar
3 tablespoons all-purpose flour
4 cups whole milk
16 ounces Gruyère, grated (about 5 cups)
12 ounces white Cheddar, grated (about 4 cups)

Preparation

  1. Bring a large pot of salted water to a boil. (If you’re planning to bake the macaroni and cheese in a baking dish instead of a skillet, butter 9-by-13-inch baking dish or other 3-quart casserole.)

  2. Meanwhile, in a deep, large (12-inch) ovenproof skillet, melt 2 tablespoons butter over medium-high heat. Add the onions, thyme sprigs and bay leaf, if using, and season with salt and pepper. Cover with a lid, baking sheet or foil and cook, stirring once or twice, until the onions are softened, 3 to 5 minutes.

  3. Uncover and continue to cook on medium-high, stirring occasionally, until deep golden brown, 20 to 25 minutes. If the onions look dry, add a few tablespoons of water at a time to prevent them from burning, scraping up any browned bits that are stuck to the bottom of the skillet. (You will need to do this several times.)

  4. While the onions are cooking, heat the oven to 450 degrees. Cook the pasta in the boiling water until 2 minutes shy of al dente; drain and set aside. Rub one side of each baguette slice with garlic.

  5. When the onions are a deep golden brown, discard the thyme sprigs and bay leaf and deglaze the skillet with the vinegar until evaporated, scraping up browned bits as you go, about 30 seconds. Add the remaining 2 tablespoons butter. When melted, add the flour and cook, stirring, until the flour begins to stick to the bottom of the pan and has turned a light golden brown, about 3 minutes. Slowly whisk in the milk and season with salt and pepper. Bring to a simmer, whisking often.

  6. Reserve 1 cup of the Gruyère. Carefully add the remaining Gruyère and all the Cheddar to the caramelized onion mixture and carefully stir until melted. If your pan is big enough, add the cooked pasta and stir to combine, or combine the sauce and pasta in the prepared dish.

  7. Spread the pasta mixture in an even layer in the prepared dish, then top with the baguette slices, garlic-side up. Sprinkle the toasts with the reserved 1 cup Gruyère and season with pepper. Place the skillet or dish on a sheet pan and bake until bubbly and brown in spots, 10 to 15 minutes. If you like a crispier top, broil for a few minutes. Let cool slightly, then garnish with fresh thyme leaves.

Nutritional analysis per serving (8 servings): 1103 calories; 60 grams fat; 34 grams saturated fat; 0 grams trans fat; 17 grams monounsaturated fat; 3 grams polyunsaturated fat; 84 grams carbohydrates; 5 grams dietary fiber; 16 grams sugars; 57 grams protein; 1313 milligrams sodium

[–] daddybutter@lemmy.world 13 points 6 months ago

I had GFiber for a bit and had no issues with torrenting via private trackers and no VPN.

[–] daddybutter@lemmy.world 1 points 6 months ago

Score, congrats!

[–] daddybutter@lemmy.world 1 points 6 months ago (2 children)

Yeah, if you can get the 6750 for less than a 6700 I'd go that route. Should be set for quite a while with that.

 

Solution: I removed the else statement from the integrated_forces process and left the two lines from the condition within the process and it fixed it :) Before:

func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	else:
		state.apply_force(Vector2())
		Globals.player_rotation = rotation

After:

func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	state.apply_force(Vector2())
	Globals.player_rotation = rotation

Hey guys, making some progress on this game but having a weird issue and I can't figure out what's happening. I'm instancing a ship scene into the level scene based on player selection. Weapon projectile instancing happens in the level scene. Fixed weapons shoot straight forward and this works fine as I'm moving and rotating until I hold the key to move backward, then all of the shots continue firing in the same direction I was facing when I started holding the key. Video example. This was all working fine prior to instancing the player into the scene. Here's the code I'm working with (please disregard the messy code lol).

level.gd:

extends Node2D
class_name LevelParent

var selected_ship = Globals.player_selected_ship
var format_ship_resource_path = "res://scenes/ships/ship_%s.tscn"
var ship_resource_path = format_ship_resource_path % selected_ship

var laser_scene: PackedScene = preload("res://scenes/weapons/laser.tscn")

func _ready():
	var ship_scene = load(ship_resource_path)
	var ship = ship_scene.instantiate()
	$Player.add_child(ship)
	ship.connect("shoot_fixed_weapon", _shoot_fixed_weapon)
	ship.connect("shoot_gimbal_weapon", _shoot_gimbal_weapon)
	
func _shoot_gimbal_weapon(pos,direction):
	var laser = laser_scene.instantiate() as Area2D
	laser.position = pos
	laser.rotation_degrees = rad_to_deg(direction.angle()) + 90
	laser.direction = direction
	$Projectiles.add_child(laser)
	
func _shoot_fixed_weapon(pos, direction):
	var laser = laser_scene.instantiate() as Area2D
	laser.position = pos
	laser.rotation_degrees = rad_to_deg(Globals.player_rotation)
	Globals.fixed_hardpoint_direction = Vector2(cos(Globals.player_rotation),sin(Globals.player_rotation))
	laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708)
	$Projectiles.add_child(laser)

ship_crescent.gd:

extends ShipTemplate


var can_boost: bool = true

#Weapons variables
var can_shoot: bool = true
#hardpoint type should use 0=fixed, 1=gimbal, 2=turret
#later add ability to have mixed hardpoints
var hardpoint_type: int = 0

#Signals
signal shoot_gimbal_weapon(pos,direction)
signal shoot_fixed_weapon(pos,direction)

func _ready():
	Globals.boost_max = boost_max

func _process(delta):
	Globals.player_pos = global_position
	#Build out section to target planetary bodies/NPCs/etc for auto routing
	if Input.is_action_just_pressed("get_cords"):
		print(str(Globals.player_pos))
	#weapon aiming toggle, remove later after hardpoints developed
	if Input.is_action_just_pressed("gimbal_toggle"):
		if hardpoint_type == 0:
			hardpoint_type += 1
		else:
			hardpoint_type -= 1
		
	if can_boost == false:
		_boost_recharge(boost_regen*delta)
		print("boost max: " + str(boost_max))
		print("boost regen: " + str(boost_regen))
		print("global boost level: " + str(Globals.boost_level))
		if Globals.boost_level == boost_max:
			can_boost = true
			print("can boost: Boost recharged!")
	### WEAPONS ###
	#Remove LaserTimer when weapon modules are set up
	
	#Fixed weapon code
	var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized()
	if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0:
		Globals.laser_ammo -= 1
		var hardpoint_positions = $HardpointPositions.get_children()
		can_shoot = false
		$Timers/LaserTimer.start()
		for i in hardpoint_positions:
			print("ship shot fired")
			shoot_fixed_weapon.emit(i.global_position, player_direction)
	#Gimbal weapon code
	var gimbal_direction = (get_global_mouse_position() - position).normalized()
	if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 1:
		Globals.laser_ammo -= 1
		var hardpoint_positions = $HardpointPositions.get_children()
		can_shoot = false
		$Timers/LaserTimer.start()
		for i in hardpoint_positions:
			shoot_gimbal_weapon.emit(i.global_position, gimbal_direction)
	#Add turret (auto aim system) later

#Spaceflight physics based controls
func _integrate_forces(state):
	if Input.is_action_pressed("move_up"):
		state.apply_force(thrust.rotated(rotation))
	if Input.is_action_pressed("strafe_left"):
		state.apply_force(thrust.rotated(rotation + 4.712))
	if Input.is_action_pressed("strafe_right"):
		state.apply_force(thrust.rotated(rotation + 1.5708))
	if Input.is_action_pressed("move_down"):
		state.apply_force((thrust.rotated(rotation) * -1))
	else:
		state.apply_force(Vector2())
		Globals.player_rotation = rotation
	#REWORK boost mechanic. button hold (gradual) vs press (instant), increase cooldown, adjust boost length, add fuel/special requirements for use
	if Input.is_action_just_pressed("boost") and can_boost:
		can_boost = false
		Globals.boost_level = 0
		#$Timers/BoostRecharge.start()
		state.apply_impulse((thrust.rotated(rotation) * 2))
	var rotation_direction = 0
	if Input.is_action_pressed("turn_right"):
		rotation_direction += 1
	if Input.is_action_pressed("turn_left"):
		rotation_direction -= 1
	state.apply_torque(rotation_direction * torque)

#modify later to remove globals. Base boost data on ship equipment
func _boost_recharge(recharge_rate):
	Globals.boost_level = clamp(Globals.boost_level + recharge_rate, 0, boost_max)
	print(Globals.boost_level)

#Timer timeout functions
func _on_boost_timer_timeout():
	print("boost depleted")

func _on_boost_recharge_timeout():
	print("boost timer recharged!")
	can_boost = true

func _on_laser_timer_timeout():
	can_shoot = true
 

Hey y'all, throwing a little project together in Godot 4.1 to practice stuff I learned after a tutorial project. I've set up two markers as my projectile spawn points, but the shots are spawning slightly off from the markers and I can't figure out why. Code and pics below. ~~I "fixed" it by shifting the player sprite2D 5 pixels to the right. Not sure why the spawns are being offset though.~~ NVM that only fixed it at the starting position, the shots are way off when rotating. In editor you can see the markers at the two tips on the ship.

In game you can see the shots spawning just to the side of the markers.

Edit: I broke the formatting posting on mobile 🙃

This snippet is from the player script

` var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized()

if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0:

	Globals.laser_ammo -= 1

	var hardpoint_positions = $ShotStartPositions.get_children()

	can_shoot = false

	$Timers/LaserTimer.start()

	for i in hardpoint_positions:

		player_shot_fixed_weapon.emit(i.global_position, player_direction)

`

And this is from the level script

` func _shoot_fixed_weapon(pos, direction):

var laser = laser_scene.instantiate() as Area2D

laser.position = pos

laser.rotation_degrees = rad_to_deg(Globals.player_rotation)

direction.x = cos(Globals.player_rotation)

direction.y = sin(Globals.player_rotation)

Globals.fixed_hardpoint_direction = Vector2(direction.x,direction.y)

print(Globals.fixed_hardpoint_direction)

laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708)

$Projectiles.add_child(laser)

`

view more: next ›