Add files via upload

This commit is contained in:
Alan Alexander Cerna 2021-10-23 17:39:07 +03:00 committed by GitHub
parent c44f50445e
commit f746117cb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 453 additions and 0 deletions

Binary file not shown.

7
Alens/default_env.tres Normal file
View File

@ -0,0 +1,7 @@
[gd_resource type="Environment" load_steps=2 format=2]
[sub_resource type="ProceduralSky" id=1]
[resource]
background_mode = 2
background_sky = SubResource( 1 )

41
Alens/export_presets.cfg Normal file
View File

@ -0,0 +1,41 @@
[preset.0]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="Export/runMe.exe"
script_export_mode=1
script_encryption_key=""
[preset.0.options]
custom_template/debug=""
custom_template/release=""
binary_format/64_bits=true
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true
codesign/enable=false
codesign/identity_type=0
codesign/identity=""
codesign/password=""
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PoolStringArray( )
application/icon=""
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""

BIN
Alens/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

34
Alens/icon.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.png"
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

55
Alens/project.godot Normal file
View File

@ -0,0 +1,55 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=4
[application]
config/name="Game Project"
run/main_scene="res://root/levels/testing_grounds/test_level.tscn"
config/icon="res://icon.png"
[display]
window/size/height=571
window/size/resizable=false
[input]
inpt_up={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
]
}
inpt_down={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
]
}
inpt_left={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
]
}
inpt_right={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
]
}
[physics]
common/enable_pause_aware_picking=true
[rendering]
environment/default_environment="res://default_env.tres"

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/player_body_sprite.png-ca376f69b8d959b76cb0f20ccc2a4243.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://root/entities/assets/player_model/player_body_sprite.png"
dest_files=[ "res://.import/player_body_sprite.png-ca376f69b8d959b76cb0f20ccc2a4243.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,158 @@
extends KinematicBody2D
# Node-Debug-Settings {} Debug element
# != Node Exportable settings
export var debugMode = false
export var onGround = false
export var rotationalStep = 1
export var rotationalQuotient = 1.35
export var movementSpeedQuotient = 50
export var exponQuotient = 4
# !!= Node Importables
export var gravityQuotient = 25
export var materialFrictionQuotient = 75
export var environmentAirFrictionQuotient = 100
# != Node settings and trackers
var nodeVectoralOffset = 0
var nodeVectoralmax = 0
var nodeActiveRotation = 0
var nodeDebug = {"vectors":{"casts":{}}}
var velocityVector = Vector2()
var maximumMovementSpeed = 120
var colliderRotation = 0
func _ready():
# Acquire and set definitive settings
nodeVectoralOffset = $player_body_sprite.texture.get_width() / 2 * $player_body_sprite.scale.x
nodeVectoralmax = $player_body_sprite.texture.get_height() * $player_body_sprite.scale.y
set_process(true) # {} Debug element
# warning-ignore:unused_argument
func _process(d):
var client = acquire_client()
var vdir = acquire_vdir(client)
# Update the canvas {} Debug element
update()
if onGround == false:
for type in range(0,vdir.size()):
for vector in range(vdir[str(type)].size()):
if "onGround" in vdir[str(type)][str(vector)]["ray"]:
onGround = false
else:
onGround = true
func acquire_client():
var state = {
"globalPos": global_transform.origin,
"rotation": nodeActiveRotation
}
return state
# Requires an Client element to process
func acquire_vdir(client):
var vdir = {
"0": {
"0": {
"start": Vector2(0,0)+client["globalPos"],
"end": Vector2(0,nodeVectoralmax).rotated(deg2rad(nodeActiveRotation))+client["globalPos"]
},
"1": {
"start": Vector2(nodeVectoralOffset,0).rotated(deg2rad(nodeActiveRotation))+client["globalPos"],
"end": Vector2(nodeVectoralOffset,nodeVectoralmax).rotated(deg2rad(nodeActiveRotation))+client["globalPos"]
},
"2": {
"start": Vector2(-nodeVectoralOffset,0).rotated(deg2rad(nodeActiveRotation))+client["globalPos"],
"end": Vector2(-nodeVectoralOffset,nodeVectoralmax).rotated(deg2rad(nodeActiveRotation))+client["globalPos"]
}
}
}
var sState = get_world_2d().direct_space_state
for type in range(0,vdir.size()):
for vector in range(vdir[str(type)].size()):
vdir[str(type)][str(vector)]["ray"] = sState.intersect_ray(vdir[str(type)][str(vector)]["start"], vdir[str(type)][str(vector)]["end"], [self])
if "position" in vdir[str(type)][str(vector)]["ray"]:
ray_prcs(vdir[str(type)][str(vector)], str(vector), client)
else:
vdir[str(type)][str(vector)]["ray"] = {"position":Vector2(0,nodeVectoralmax).rotated(deg2rad(nodeActiveRotation)) + vdir[str(type)][str(vector)]["start"], "onGround": false}
ray_prcs(vdir[str(type)][str(vector)], str(vector), client)
adj_rot(vdir, client)
return vdir
func get_inpt():
var inpt = {
"up": false,
"down": false,
"left": false,
"left-f": 0,
"right": false,
"right-f": 0
}
if Input.is_action_pressed("inpt_up"):
inpt["up"] = true
if Input.is_action_pressed("inpt_down"):
inpt["down"] = true
if Input.is_action_pressed("inpt_left"):
inpt["left"] = true
inpt["left-f"] = Input.get_action_strength("inpt_left")
if Input.is_action_pressed("inpt_right"):
inpt["right"] = true
inpt["right-f"] = Input.get_action_strength("inpt_right")
return inpt
func _physics_process(delta):
var naturalInput = get_inpt()
var movementDirection = naturalInput["right-f"] - naturalInput["left-f"]
var movementSpeed = movementDirection * movementSpeedQuotient
var movementResistanceQuotient = materialFrictionQuotient + environmentAirFrictionQuotient
if onGround == true:
if abs(movementSpeed) < movementSpeedQuotient * 0.1:
velocityVector.x = move_toward(velocityVector.x, 0, movementResistanceQuotient * delta)
else:
velocityVector.x += movementSpeed * delta * exponQuotient
velocityVector.x = clamp(velocityVector.x, -maximumMovementSpeed, maximumMovementSpeed)
velocityVector.y += gravityQuotient * delta
velocityVector.y = clamp(velocityVector.y, -maximumMovementSpeed, maximumMovementSpeed)
move_and_slide(velocityVector.rotated(deg2rad(nodeActiveRotation)))
sprite_rot()
else:
gravityQuotient = gravityQuotient * exponQuotient
velocityVector.y += gravityQuotient * delta
velocityVector.y = clamp(velocityVector.y, -maximumMovementSpeed, maximumMovementSpeed)
if movementDirection == 0:
nodeActiveRotation = move_toward(nodeActiveRotation, 0, rotationalStep)
else:
nodeActiveRotation += rotationalStep * movementDirection
move_and_slide(velocityVector.rotated(deg2rad(0)))
sprite_rot()
pass
func adj_rot(vdir, client):
var positiveNodeRayl = (vdir["0"]["1"]["start"] - vdir["0"]["1"]["ray"].position).distance_to(vdir["0"]["1"]["start"] - client["globalPos"])
var negativeNodeRayl = (vdir["0"]["2"]["start"] - vdir["0"]["2"]["ray"].position).distance_to(vdir["0"]["1"]["start"] - client["globalPos"])
var nodeRayDiff = positiveNodeRayl - negativeNodeRayl
if nodeRayDiff > rotationalQuotient:
nodeActiveRotation += rotationalStep
if nodeRayDiff < -rotationalQuotient:
nodeActiveRotation -= rotationalStep
pass
func ray_prcs(vdirel, id, client):
nodeDebug["vectors"]["casts"][id] = {"start": vdirel["start"]-client["globalPos"],"end":vdirel["ray"].position-client["globalPos"]}
pass
func sprite_rot():
var spriteOffsetDistance = sqrt(pow($player_body_sprite.position.x,2) + pow($player_body_sprite.position.y,2))
var spriteOffsetVector = Vector2(0,spriteOffsetDistance).rotated(deg2rad(nodeActiveRotation))
$player_body_sprite.position = spriteOffsetVector
$player_body_sprite.rotation_degrees = nodeActiveRotation
pass
func _draw(): # {} Debug element
if debugMode == true:
for vector in range(0,nodeDebug["vectors"]["casts"].size()):
draw_line(nodeDebug["vectors"]["casts"][str(vector)]["start"], nodeDebug["vectors"]["casts"][str(vector)]["end"], Color(255,255,255), 1)
pass

View File

@ -0,0 +1,22 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://root/entities/characters/player/behaviours/handlers/character_handler.gd" type="Script" id=1]
[ext_resource path="res://root/entities/assets/player_model/player_body_sprite.png" type="Texture" id=2]
[sub_resource type="CircleShape2D" id=1]
radius = 21.1957
[node name="player_node" type="Node2D"]
[node name="player_body" type="KinematicBody2D" parent="."]
script = ExtResource( 1 )
debugMode = true
[node name="player_body_sprite" type="Sprite" parent="player_body"]
position = Vector2( -0.134926, -0.204243 )
scale = Vector2( 0.10262, 0.10262 )
texture = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="player_body"]
position = Vector2( 0.0618744, -0.136429 )
shape = SubResource( 1 )

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/terrain_over_sprite.png-4e9b57afa43b4dfcbcdb561256697281.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://root/levels/testing_grounds/terrain_over_sprite.png"
dest_files=[ "res://.import/terrain_over_sprite.png-4e9b57afa43b4dfcbcdb561256697281.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/terrain_sprite.png-ccbe69d660361679049cfccfc6ea59a6.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://root/levels/testing_grounds/terrain_sprite.png"
dest_files=[ "res://.import/terrain_sprite.png-ccbe69d660361679049cfccfc6ea59a6.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
extends Node2D
func _ready():
var windowExpectedWidth = $StaticBody2D/terrain_sprite.texture.get_width() * $StaticBody2D/terrain_sprite.scale.x
var windowExpectedHeight = $StaticBody2D/terrain_sprite.texture.get_height() * $StaticBody2D/terrain_sprite.scale.y
OS.set_window_size(Vector2(windowExpectedWidth, windowExpectedHeight))
pass