Compare commits

...

14 Commits

Author SHA1 Message Date
latenightz c78dda12b5 Update 'README.md' 2021-04-27 16:00:12 +00:00
latenightz 755c00caee Java scripting test; LOOK AT README.MD!!
Important update... if you like to add to the game and/or compile from source, this means you!

Read the compiling section in README.md
2021-04-27 15:57:54 +00:00
latenightz 90f1443eb3 Update 'README.md' 2021-04-27 13:44:37 +00:00
latenightz 55710e905a Merge pull request 'pre-alpha4272021' (#1) from pre-release into main
More info can be found on the Wiki for this repo.
As of 4/27/2021 @ 9:34AM EST, the Wiki doesn't exist, yet. I'll make it!
2021-04-27 13:43:57 +00:00
latenightz 8c5e9462d8 Update 'README.md' 2021-04-27 13:43:11 +00:00
latenightz 79c18bca03 Update 'README.md' 2021-04-27 13:38:36 +00:00
latenightz b100cdadf3 Upload files to '' 2021-04-27 13:36:17 +00:00
latenightz 34eb7ebec4 Upload files to 'scenes/s_main' 2021-04-27 13:35:42 +00:00
latenightz 7d15c58990 Upload files to 'entities/player' 2021-04-27 13:35:16 +00:00
latenightz 351c7f37f2 Upload files to 'textures' 2021-04-27 13:34:49 +00:00
latenightz 3e58131988 Upload files to 'screenshots' 2021-04-27 13:34:27 +00:00
latenightz a4530a0489 Update 'README.md' 2021-04-27 12:41:10 +00:00
latenightz e5998b6a77 Add 'git-structure.txt' 2021-04-27 12:39:44 +00:00
latenightz 1a0f2a100b Upload files to 'entities/player' 2021-04-26 20:44:17 +00:00
12 changed files with 228 additions and 33 deletions

View File

@ -5,4 +5,11 @@ In the future, I'll probably have some sort of release channel thing, like "main
`pre-alpha4262021` - first release
tip for version numbers (mainly just pre-alpha versions): the number at the end is the date format MONTH/DAY/YEAR without the slashes.
**more versioning info can be found on this repo's wiki.**
<a href="https://tildegit.org/minimal64/superv/src/branch/pre-release">If you want to alpha/beta-test this game, download the source in the pre-release branch and run it up in Godot.</a>
tip for version numbers (mainly just pre-alpha versions): the number at the end is the date format MONTH/DAY/YEAR without the slashes.
## Compiling
Compiling SuperV requires a modified version of Godot. <a href="https://github.com/GodotExplorer/ECMAScript">Which can be found here</a>. It's open source and provides pre-compiled binaries for Windows, MacOS, and Linux. This is needed because of the experiments with Java. There's a good chance Java won't stick with SuperV, but you need this to compile and run SuperV from source. Thanks for understanding!

View File

@ -26,3 +26,62 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
keep_aspect = 0
fov = 80.0
far = 250.0
[node name="Node2D" type="Node2D" parent="."]
[node name="HSlider" type="HSlider" parent="Node2D"]
margin_left = 55.1043
margin_top = 556.023
margin_right = 407.104
margin_bottom = 589.023
min_value = 15.0
max_value = 150.0
value = 97.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label" type="Label" parent="Node2D"]
margin_left = 18.1098
margin_top = 566.168
margin_right = 73.1096
margin_bottom = 589.168
text = "FOV:"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="fps_num" type="Label" parent="Node2D"]
margin_left = 412.154
margin_top = 565.536
margin_right = 481.154
margin_bottom = 604.536
text = "placehold"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="CanvasLayer" type="CanvasLayer" parent="."]
pause_mode = 2
layer = 50
[node name="Pause" type="Control" parent="CanvasLayer"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = -0.920593
margin_top = 22.8412
margin_right = -0.920593
margin_bottom = 5.84125
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Background" type="ColorRect" parent="CanvasLayer/Pause"]
pause_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
margin_top = 558.0
color = Color( 0.0627451, 0.0627451, 0.0627451, 0.639216 )
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -6,7 +6,7 @@ extends KinematicBody
export(float) var mouse_sensitivity = 12.0
export(NodePath) var head_path
export(NodePath) var cam_path
export(float) var FOV = 80.0
export(float) var FOV = 120.0
var mouse_axis := Vector2()
onready var head: Spatial = get_node(head_path)
onready var cam: Camera = get_node(cam_path)
@ -29,6 +29,8 @@ export(int) var jump_height = 10
export(int) var fly_speed = 10
export(int) var fly_accel = 4
var flying := false
# Pause
##################################################
@ -42,6 +44,8 @@ func _ready() -> void:
func _process(_delta: float) -> void:
move_axis.x = Input.get_action_strength("move_forward") - Input.get_action_strength("move_backward")
move_axis.y = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
# Called every physics tick. 'delta' is constant
@ -81,19 +85,27 @@ func walk(delta: float) -> void:
if Input.is_action_just_pressed("move_jump"):
_snap = Vector3.ZERO
velocity.y = jump_height
print("[DEBUG] Jumped")
# Apply Gravity
velocity.y -= gravity * delta
# Sprint
var _speed: int
if (Input.is_action_pressed("move_sprint") and can_sprint() and move_axis.x >= 0.5):
_speed = sprint_speed
cam.set_fov(lerp(cam.fov, FOV * 1.05, delta * 8))
sprinting = true
# print("[DEBUG] Sprint is on") # Generally, this causes debug console spam, so you may wanna turn it off
var fovslide = $Node2D/HSlider.value
$Head/Camera.fov = fovslide
$Node2D/fps_num.text = str(fovslide)
else:
var fovslide = $Node2D/HSlider.value
$Node2D/fps_num.text = str(fovslide)
_speed = walk_speed
cam.set_fov(lerp(cam.fov, FOV, delta * 8))
cam.set_fov(lerp(cam.fov, fovslide, delta * 8))
sprinting = false
# Acceleration and Deacceleration

5
git-structure.txt Normal file
View File

@ -0,0 +1,5 @@
main branch = ready for release, has some features from pre-release, but more refined and functional
pre-release branch = more features, but really buggy. testing is allowed, for players!
minimal64 - superv

20
javatest.jsx Normal file
View File

@ -0,0 +1,20 @@
export default class jtest extends godot.Node {
// Declare member variables here. Examples:
a = 2;
b = "text";
constructor() {
super();
}
// Called when the node enters the scene tree for the first time.
_ready() {
godot.print("Java has been loaded!!");
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
_process(delta) {
}
}

View File

@ -1124,6 +1124,21 @@ mouse_input={
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777244,"unicode":0,"echo":false,"script":null)
]
}
pause={
"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":16777238,"unicode":0,"echo":false,"script":null)
]
}
unpause={
"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":79,"unicode":0,"echo":false,"script":null)
]
}
unpauseo={
"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":79,"unicode":0,"echo":false,"script":null)
]
}
[layer_names]

View File

@ -1,45 +1,75 @@
[gd_scene load_steps=12 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://scenes/s_main/default_env.tres" type="Environment" id=1]
[ext_resource path="res://scenes/s_main/s_main.gd" type="Script" id=2]
[ext_resource path="res://entities/player/Player.tscn" type="PackedScene" id=3]
[ext_resource path="res://scenes/assets/ladder/Ladder.tscn" type="PackedScene" id=4]
[ext_resource path="res://scenes/assets/fps_counter/FPS_Counter.tscn" type="PackedScene" id=5]
[ext_resource path="res://scenes/s_main/materials/dark.material" type="Material" id=6]
[ext_resource path="res://scenes/s_main/materials/blue.material" type="Material" id=7]
[sub_resource type="CubeMesh" id=1]
size = Vector3( 1, 1, 1 )
[sub_resource type="ConvexPolygonShape" id=2]
[sub_resource type="ShaderMaterial" id=2]
[sub_resource type="ConvexPolygonShape" id=3]
points = PoolVector3Array( -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5 )
[sub_resource type="CubeMesh" id=3]
[sub_resource type="CubeMesh" id=4]
size = Vector3( 1, 1, 1 )
[sub_resource type="ConvexPolygonShape" id=4]
[sub_resource type="ConvexPolygonShape" id=5]
points = PoolVector3Array( -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5 )
[sub_resource type="Animation" id=6]
resource_name = "SunRotate"
length = 12.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:rotation_degrees")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 12 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector3( -90, 165, -180 ), Vector3( 270, 165, -180 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 3, 9 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ 1.0, 0.0, 0.0 ]
}
[node name="S_Main" type="Spatial"]
script = ExtResource( 2 )
[node name="ArenaGeometry" type="Spatial" parent="."]
[node name="Floor1" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( 40, 0, 0, 0, -6.51683e-06, -1, 0, 40, -1.62921e-07, 0.0313206, 9.53674e-07, 0.00365067 )
transform = Transform( 40, 0, 0, 0, -6.51683e-06, -1, 0, 40, -1.62921e-07, 0.0192173, 9.53674e-07, 0.0214922 )
use_in_baked_light = true
mesh = SubResource( 1 )
material/0 = ExtResource( 6 )
material/0 = SubResource( 2 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Floor1"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Floor1/StaticBody"]
shape = SubResource( 2 )
shape = SubResource( 3 )
[node name="Slope1" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( 12, 0, 0, 0, 3.74016, -0.226577, 0, 8.02083, 0.105654, -13.502, 1.517, 0.041 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Slope1"]
@ -47,79 +77,79 @@ transform = Transform( 1, 0, 0, 0, 1, 9.31323e-10, 0, -9.53674e-07, 1, 0, 0, 0 )
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Slope1/StaticBody"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, -9.53674e-07, 1, 0, 0, 0 )
shape = SubResource( 2 )
shape = SubResource( 3 )
[node name="SlopeWall1" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( -1.18125e-06, -2.40367e-07, 0.25, -3.38095, 3.16392, 1.39296e-15, -7.25046, -1.47536, -4.07302e-08, -7.63, 0.147, 1.08 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="BigCube1" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( -1.74846e-07, 12, -1.31134e-07, 0, -5.24537e-07, -3, -4, -5.24537e-07, 5.73206e-15, -13.5, 2, 6 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/BigCube1"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/BigCube1/StaticBody"]
shape = SubResource( 2 )
shape = SubResource( 3 )
[node name="BigCube2" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( -1.74846e-07, 12, -1.31134e-07, 0, -5.24537e-07, -3, -4, -5.24537e-07, 5.73206e-15, 13.5, 2, -7.44552 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/BigCube2"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/BigCube2/StaticBody"]
shape = SubResource( 2 )
shape = SubResource( 3 )
[node name="Wall1" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( 1, 0, 0, 0, -1.74846e-06, -6, 0, 40, -2.62268e-07, -19.5, 3.5, 0 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Wall1"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Wall1/StaticBody"]
shape = SubResource( 4 )
shape = SubResource( 5 )
[node name="Wall2" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( 1, 0, 0, 0, -1.74846e-06, -6, 0, 40, -2.62268e-07, 19.5, 3.5, 0 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Wall2"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Wall2/StaticBody"]
shape = SubResource( 4 )
shape = SubResource( 5 )
[node name="Wall3" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( -4.37114e-08, 40, -2.62268e-07, 0, -1.74846e-06, -6, -1, -1.74846e-06, 1.14641e-14, 0, 3.5, 19.5 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Wall3"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Wall3/StaticBody"]
shape = SubResource( 4 )
shape = SubResource( 5 )
[node name="Wall4" type="MeshInstance" parent="ArenaGeometry"]
transform = Transform( -4.37114e-08, 40, -2.62268e-07, 0, -1.74846e-06, -6, -1, -1.74846e-06, 1.14641e-14, 0, 3.5, -19.5 )
use_in_baked_light = true
mesh = SubResource( 3 )
mesh = SubResource( 4 )
material/0 = ExtResource( 7 )
[node name="StaticBody" type="StaticBody" parent="ArenaGeometry/Wall4"]
[node name="CollisionShape" type="CollisionShape" parent="ArenaGeometry/Wall4/StaticBody"]
shape = SubResource( 4 )
shape = SubResource( 5 )
[node name="Lighting" type="Spatial" parent="."]
@ -127,10 +157,18 @@ shape = SubResource( 4 )
environment = ExtResource( 1 )
[node name="DirectionalLight" type="DirectionalLight" parent="Lighting"]
transform = Transform( 0.965926, 0.198266, 0.166365, -2.09447e-07, -0.642788, 0.766044, 0.258818, -0.739942, -0.620885, 2.17494, 9.39172, -2.14115 )
light_energy = 2.0
transform = Transform( 0.965926, 3.37365e-07, -0.258819, -3.25841e-07, 1, 8.74227e-08, 0.258819, -1.10091e-10, 0.965925, 2.17494, 9.39172, -2.14115 )
light_energy = 0.0
shadow_enabled = true
shadow_color = Color( 0.6, 0.6, 0.6, 1 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Lighting/DirectionalLight"]
autoplay = "SunRotate"
anims/SunRotate = SubResource( 6 )
[node name="Spatial" type="Spatial" parent="Lighting/DirectionalLight"]
transform = Transform( 0.965926, -3.25841e-07, 0.258819, 3.37365e-07, 1, -1.10099e-10, -0.258819, 8.74228e-08, 0.965926, -0.397392, -1.39189, -0.361859 )
[node name="CSGBox" type="CSGBox" parent="Lighting/DirectionalLight/Spatial"]
[node name="Player" parent="." instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0 )
@ -139,12 +177,16 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0 )
transform = Transform( -4.37114e-08, 0, 7, 0, 1.51, 0, -1, 0, -3.0598e-07, 13.25, 2, -5.25 )
[node name="FPS_Counter" parent="." instance=ExtResource( 5 )]
margin_left = 3.95751
margin_top = 8.57983
margin_right = 103.958
margin_bottom = 30.5798
[node name="Label" type="Label" parent="."]
margin_left = 3.13708
margin_top = 548.663
margin_right = 356.137
margin_bottom = 596.663
margin_left = 7.89392
margin_top = 31.358
margin_right = 360.894
margin_bottom = 79.358
text = "Made with <3 by the Mimimal64 Team
This software is open-source and licensed under GPLv3
fork SuperV on https://tildegit.org/minimal64/superv"

View File

@ -11,6 +11,7 @@ var mouse_mode: String = "CAPTURED"
##################################################
func _ready() -> void:
print("SuperV Debug Terminal")
if fast_close:
print("** Fast Close enabled in the 's_main.gd' script **")
print("** 'Esc' to close 'Shift + F1' to release mouse **")

BIN
screenshots/4272021-SUN.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
screenshots/4272021.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
textures/stone.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

34
textures/stone.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/stone.png-8c1f7be2f21757cdaab7a85691789596.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/stone.png"
dest_files=[ "res://.import/stone.png-8c1f7be2f21757cdaab7a85691789596.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