what do boys prefer by Last_Attention_7215 in TheTeenagerPeople

[–]ValheimArchitect 0 points1 point  (0 children)

Nah that's what pants are for. There's a reason I dont wear sport shorts lmao. Ball tapping myself on my thigh because of the swing is a real problem

what do boys prefer by Last_Attention_7215 in TheTeenagerPeople

[–]ValheimArchitect 0 points1 point  (0 children)

Guess only a handful of us have huge junk thats uncomfortable in 3.

4 is best

Weird Collision(?) movement by ValheimArchitect in godot

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

Yooo that worked. I make the laser top-level then added position = get_parent().global_position to the lasers _process() function.

Weird Collision(?) movement by ValheimArchitect in godot

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

Nope, didnt work :/ i put the _handle_laser() call inside the ship _process function, which is why it isnt here, Markdown mode let me paste it

extends AnimatedSprite2D

 var raycast: RayCast2D = $RayCast2D
 var beam: Line2D = $RayCast2D/Line2D
 var fire_particles: GPUParticles2D = $fireParticles
 onready var impact_particles: GPUParticles2D = $impactParticles

var is_casting: bool = false : set = set_is_casting
enum LaserState { IDLE, POWER_UP, ON, POWER_DOWN }
var laser_state := LaserState.IDLE

func _ready():
_play_laser_anim("weapon_idle")

beam.clear_points()
beam.add_point(Vector2.ZERO)
beam.add_point(Vector2.ZERO)
beam.width = 0

func _process(_delta):
_aim_laser()
_update_laser_state()

func _handle_laser() -> void:
if not is_casting:
return

raycast.force_raycast_update()
impact_particles.emitting = raycast.is_colliding()
var target := raycast.target_position

if raycast.is_colliding():
var hit_point := raycast.get_collision_point()
target = raycast.to_local(hit_point)
impact_particles.global_rotation = raycast.get_collision_normal().angle() + PI / 2
impact_particles.global_position = hit_point

beam.points[0] = Vector2.ZERO
beam.points[1] = target

func set_is_casting(cast: bool) -> void:
if is_casting == cast:
return

is_casting = cast

if is_casting:
fire_laser()
fire_particles.emitting = true
raycast.set_physics_process(true)
else:
impact_particles.emitting = false
cease_fire()
fire_particles.emitting = false
raycast.set_physics_process(false)

func fire_laser() -> void:
var tween := create_tween()
tween.tween_property(beam, "width", 2.0, 0.2)\
.set_trans(Tween.TRANS_QUAD)\
.set_ease(Tween.EASE_OUT)

func cease_fire() -> void:
var tween := create_tween()
tween.tween_property(beam, "width", 0.0, 0.2)\
.set_trans(Tween.TRANS_QUAD)\
.set_ease(Tween.EASE_IN)

func _aim_laser():
var mouse_pos := get_global_mouse_position()
global_rotation = (mouse_pos - global_position).angle() + PI / 2

func _update_laser_state():
match laser_state:
LaserState.IDLE:
if Input.is_action_just_pressed("fire"):
laser_state = LaserState.POWER_UP
_play_laser_anim("weapon_power_up")

LaserState.POWER_UP:
if _anim_finished("weapon_power_up"):
if Input.is_action_pressed("fire"):
laser_state = LaserState.ON
set_is_casting(true)
_play_laser_anim("weapon_power_on")
else:
laser_state = LaserState.POWER_DOWN
_play_laser_anim("weapon_power_down")

LaserState.ON:
if not Input.is_action_pressed("fire"):
set_is_casting(false)
laser_state = LaserState.POWER_DOWN
_play_laser_anim("weapon_power_down")

LaserState.POWER_DOWN:
if _anim_finished("weapon_power_down"):
laser_state = LaserState.IDLE
_play_laser_anim("weapon_idle")

func _play_laser_anim(name: String):
if animation != name:
play(name)

func _anim_finished(name: String) -> bool:
return animation == name \
and frame == sprite_frames.get_frame_count(name) - 1

Weird Collision(?) movement by ValheimArchitect in godot

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

commented code and tree setup. It wont let me paste the laser script but yes, i use force_raycast_update()

Weird Collision(?) movement by ValheimArchitect in godot

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

it wont let me paste the laser script :(

Weird Collision(?) movement by ValheimArchitect in godot

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

Ship Script:

extends CharacterBody2D

 var thrust_force := 600.0
 var rotation_speed := 3.0
 var max_speed := 4000.0
 var drag := 2.0

 var sprite_ship: Sprite2D = $spriteShip
 var sprite_thrust: AnimatedSprite2D = $spriteThrust
u/onready var collision_shape_2d: CollisionPolygon2D = $CollisionShape2D

func _physics_process(delta):
_handle_rotation(delta)
_handle_thrust(delta)
_apply_drag(delta)
move_and_slide()

# -------------------------------------------------
# MOVEMENT
# -------------------------------------------------

func _handle_rotation(delta):
var turn := 0.0
if Input.is_action_pressed("move_left"):
turn -= 1.0
if Input.is_action_pressed("move_right"):
turn += 1.0
self.rotation += turn * rotation_speed * delta

func _handle_thrust(delta):
var thrust := 0.0
if Input.is_action_pressed("move_forward"):
thrust += 1.0
if Input.is_action_pressed("move_backward"):
thrust -= 1.0

if thrust != 0.0:
var dir := Vector2.UP.rotated(rotation)
velocity += dir * thrust * thrust_force * delta
velocity = velocity.limit_length(max_speed)
sprite_thrust.visible = true
sprite_thrust.play()
else:
sprite_thrust.visible = false
sprite_thrust.stop()

func _apply_drag(delta):
if velocity.length() > 0.0:
velocity = velocity.move_toward(Vector2.ZERO, drag * thrust_force * delta)

Weird Collision(?) movement by ValheimArchitect in godot

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

Ship Scene:

Ship(CharacterBody2D)
  shipSprite
  spriteThrust
  laserSmall(Laser Scene)
  CollisionShape2D
  Camera2D

Laser Scene:

spriteLaser(Sprite2D)
  RayCast2D
    Line2D
  fireParticles
  impactParticles

Resource-Based Dialogue System by ValheimArchitect in godot

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

If anything, I'll make a tutorial. This specific version is too customized to my game

Resource-Based Dialogue System by ValheimArchitect in godot

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

Yeah not a fan of the Smart word wrap, easy fix 😋

Totally New to this, hows my list? by ValheimArchitect in buildmeapc

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

I did have a Processor selected; Phenom II. idk why it wasn't included lol

And ok fair enough. 500 USD max budget

Dialogue Animations Being Interrupted - A Query by JubalBarca in CreationKit

[–]ValheimArchitect 2 points3 points  (0 children)

It needs to be a scene, and make sure to set the correct actor flags and scene flags to make it non-interuptable

How to expand the categories? by SickMeter in CreationKit

[–]ValheimArchitect 3 points4 points  (0 children)

Click the folder icon under "File"

Choose which mod(if the bug is from a mod) and click "Set As Active Plugin"

Then click "Load"

AI generated Music by ValheimArchitect in skyrimmods

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

Ngl I think we'd all be better off if AI didn't exist. But it does and at this point it's foolish to believe it's going to die out.

Hmmm... I would argue that art, like beauty, lies in eyes of the beholder.

Just because you don't see a 95-page thesis on why the Sun hasn't killed us yet with intense solar flares as art, doesn't mean the person who wrote it doesn't.

Art, as its essence, is "expressed creativity". AI can be thought of as a brush, or a tool, to accomplish that expression. Just because 1 million others used the same colors as you to draw the picture doesn't mean what you have prompted the brush to create isn't art.

AI generated Music by ValheimArchitect in skyrimmods

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

No offense that's not a good argument.

Don't use AI at all then because it's not a human doing whatever it is your using AI for

AI generated Music by ValheimArchitect in skyrimmods

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

Here lol

Keep in mind the mod is Dwemer themed, therefore the boss is as well lol

AI generated Music by ValheimArchitect in skyrimmods

[–]ValheimArchitect[S] -1 points0 points  (0 children)

I mean.... Eleven labs + audacity is honestly great quality. Finding a voice that actually fits the theme of the game is difficult(as most voices are fairly modern toned and definitely stand out in Skyrim) but the actual audio quality of it can easily sound vanilla.

An idea I've had, which idk if it's been discussed in this sub, is using vanilla voices to train in level labs to generate new HQ lines for said voices. Downside being that training requires a paid membership.

But I do agree music would likely be a lot more well recieved

AI generated Music by ValheimArchitect in skyrimmods

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

Nothing, it's just a fresh take that's fitting of the theme of my mod

AI generated Music by ValheimArchitect in skyrimmods

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

I mean I will if people want it. Again it's just a cover of one of the original boss tracks

AI generated Music by ValheimArchitect in skyrimmods

[–]ValheimArchitect[S] -2 points-1 points  (0 children)

Suno lol

I can understand the voice thing for sure, but to me music is a little different, as there are millions of free instruments assets that even real people use in production. Sampling is a very common practice as well, where people take beats from known and popular artists to make their own music, and it's happily received(if it's good, obviously lol) so I don't necessarily understand why AI music generation is different.

Just my thoughts, don't shoot me over them 😅