66 Commits

Author SHA1 Message Date
58ff747402 Merge pull request 'merge lobby-system and player-character into develop' (#4) from lobby-system into develop
Reviewed-on: #4
2025-08-12 23:05:41 +00:00
WiseNoodle
ec0bef4d92 \/ 2025-08-10 23:34:56 -04:00
WiseNoodle
def4324902 fix player camera offset and tweak fog 2025-08-10 23:34:42 -04:00
WiseNoodle
59cbbc0880 tent fix col attempt 2025-08-10 23:24:31 -04:00
WiseNoodle
898a382a71 test sync without auth on light in lobby 2025-08-10 23:13:53 -04:00
WiseNoodle
912e6b9d31 Add spooky fog 2025-08-10 23:09:57 -04:00
WiseNoodle
95d384b0ee fix tree col 2025-08-10 23:06:20 -04:00
WiseNoodle
70f0a65a3a Lots O treez 2025-08-10 23:04:25 -04:00
WiseNoodle
724d78973b Add player scale for syncing 2025-08-10 22:58:40 -04:00
WiseNoodle
69596dac01 let mouse be FREEEEE 2025-08-10 22:42:11 -04:00
WiseNoodle
eb783c37da IT WORKS 2025-08-10 22:36:01 -04:00
WiseNoodle
14464d703c New player controller 2025-08-10 22:22:25 -04:00
WiseNoodle
5807549863 fixy 2 2025-08-10 22:05:50 -04:00
WiseNoodle
3d44cc7761 Fix player head rotation 2025-08-10 22:04:42 -04:00
WiseNoodle
bbbfd424ec Seperate head rotation 2025-08-10 00:33:17 -04:00
WiseNoodle
39e944806c Add new character model 2025-08-10 00:26:34 -04:00
80b4d213e5 small fix to lobby map 2025-08-09 21:31:22 -05:00
9706bc561f Merge pull request 'Merge multiplayer_spawner and lobby-map into develop' (#3) from multiplayer_spawner into develop
Reviewed-on: #3
2025-08-10 01:33:57 +00:00
d31c4cfe5c Merge remote-tracking branch 'origin/lobby-map' into multiplayer_spawner 2025-08-09 20:32:18 -05:00
0b3b6a5f0a i hate it here again 2025-08-08 22:38:03 -05:00
34dc8e7c85 i hate it here again 2025-08-08 22:28:47 -05:00
893e7c920c i hate it here 2025-08-08 22:26:26 -05:00
5f65fde280 derp 2025-08-08 22:25:02 -05:00
809886ade6 Fix spawner again 2025-08-08 22:22:46 -05:00
4a42e16da2 Fix spawner 2025-08-08 22:22:18 -05:00
c128223b42 Full lobby rework 2025-08-08 22:19:02 -05:00
8cc9d94832 Player will hide its own mesh 2025-08-07 23:03:50 -05:00
23e55d36c2 It works! (mostly) 2025-08-07 22:58:18 -05:00
1ce22e44d9 removing sync node 2025-08-07 22:52:49 -05:00
83adac8b43 moving auth stuff outside of ready in player 2025-08-07 22:13:25 -05:00
56be2f7bef possible ai slop fix 2 2025-08-07 22:03:29 -05:00
df031b8784 possible ai slop fix 2025-08-07 21:17:56 -05:00
492659bcb8 Player spawn test number 2 2025-08-07 21:09:12 -05:00
WiseNoodle
7a1dcc0e01 save work 2025-08-07 22:09:07 -04:00
33fee89633 Player spawn test 2025-08-07 19:25:02 -05:00
ee01d29d7b basic grass texture 2025-08-07 20:12:03 -04:00
WiseNoodle
144bd3d2af Inital commit 2025-08-07 18:57:07 -04:00
468050e8c9 Merge pull request 'Merge multiplayer to dev branch' (#2) from multiplayer into develop
Reviewed-on: #2
2025-08-07 22:06:01 +00:00
9970146660 Add textures to tent model 2025-08-07 15:27:52 -04:00
420d6ef950 added the 0 to create_client 2025-08-07 12:51:54 -05:00
74dab08fb2 Add dynamic audio and particle system for the campfire 2025-08-07 13:42:45 -04:00
64d086bfcf Add dynamic audio and particle system for the campfire 2025-08-07 13:42:09 -04:00
767244d814 ai slop lobby fix test 2025-08-07 12:13:58 -05:00
4f5ba495a9 made ai add a bunch of logging to diagnose the connection 2025-08-07 11:45:57 -05:00
c560c9cbb7 added the chat update to see if the steam connection is right and its just the godot one that is broken 2025-08-07 00:09:32 -05:00
b0199aff09 add the p2p signal 2025-08-07 00:03:08 -05:00
00e408d46e Hopefully fix the client issue 2025-08-06 23:55:22 -05:00
50a8424217 Merge branch 'multiplayer' of https://git.bellsworne.tech/Bellsworne/splunk into multiplayer 2025-08-06 23:40:32 -05:00
ca299dbd87 host shouldnt try to create a second client 2025-08-06 23:38:58 -05:00
WiseNoodle
9d6e19f5be Tweak tents and campfire 2025-08-07 00:20:33 -04:00
63a7762206 Forgot to create client peer 2025-08-06 23:15:30 -05:00
df83434130 append Lobby test 2 2025-08-06 22:59:49 -05:00
WiseNoodle
be2f304621 Campfire textures and particles 2025-08-06 23:50:51 -04:00
fe647b432b append Lobby test 2025-08-06 22:46:26 -05:00
53b974faae Lobby test 2025-08-06 22:40:07 -05:00
WiseNoodle
f0ce6b1994 Add basic campfire and tent models 2025-08-05 00:33:03 -04:00
6425be5cb0 Added input mapping; Begin multiplayer work; added steam integration 2025-08-04 23:19:20 -05:00
WiseNoodle
7a29a7ae82 Add multiplayer debug ui 2025-08-04 22:39:38 -04:00
003fae1d3a basic player controller 2025-08-04 21:36:01 -05:00
WiseNoodle
74226d7032 Add basic lobby terrain for testing 2025-08-04 00:16:35 -04:00
WiseNoodle
1f534907c4 Add freecam and add basic tools and references 2025-08-03 23:20:45 -04:00
WiseNoodle
9b2ee4e41d remove temp files 2025-08-03 22:19:43 -04:00
WiseNoodle
b723c97b52 fill folders 2025-08-03 22:19:22 -04:00
WiseNoodle
a6c55dde51 Add basic scenes 2025-08-03 22:18:42 -04:00
WiseNoodle
ac9ff136d3 Add basic file structure 2025-08-03 22:16:59 -04:00
WiseNoodle
5b21ed431a Turn on Jolt physics 2025-08-03 22:12:17 -04:00
128 changed files with 2604 additions and 0 deletions

View File

@@ -0,0 +1,144 @@
extends Camera3D
## Camera with flying script attached to it.
class_name Freecam3D
##
## Camera with toggleable freecam mode for prototyping when creating levels, shaders, lighting, etc.
##
## Usage: Run your game, press <TAB> and fly around freely. Uses Minecraft-like controls.
##
## Customize your own toggle key to avoid collisions with your current mappings.
@export var toggle_key: Key = KEY_TAB
## Speed up / down by scrolling the mouse whell down / up
@export var invert_speed_controls: bool = false
@export var overlay_text: bool = true
## Pivot node for camera looking around
@onready var pivot := Node3D.new()
## Main parent for camera overlay.
@onready var screen_overlay := VBoxContainer.new()
## Container for the chat-like event log.
@onready var event_log := VBoxContainer.new()
const MAX_SPEED := 4
const MIN_SPEED := 0.1
const ACCELERATION := 0.1
const MOUSE_SENSITIVITY := 0.002
## Whether or not the camera can move.
var movement_active := false:
set(val):
movement_active = val
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED if movement_active else Input.MOUSE_MODE_VISIBLE)
display_message("[Movement ON]" if movement_active else "[Movement OFF]")
## The current maximum speed. Lower or higher it by scrolling the mouse wheel.
var target_speed := MIN_SPEED
## Movement velocity.
var velocity := Vector3.ZERO
## Sets up pivot and UI overlay elements.
func _setup_nodes() -> void:
self.add_sibling(pivot)
pivot.position = position
pivot.rotation = rotation
pivot.name = "FreecamPivot"
self.reparent(pivot)
self.position = Vector3.ZERO
self.rotation = Vector3.ZERO
# UI stuff
screen_overlay.add_theme_constant_override("Separation", 8)
self.add_child(screen_overlay)
screen_overlay.add_child(_make_label("Debug Camera"))
screen_overlay.add_spacer(false)
screen_overlay.add_child(event_log)
screen_overlay.visible = overlay_text
func _ready() -> void:
_setup_nodes.call_deferred()
_add_keybindings()
func _process(delta: float) -> void:
if Input.is_action_just_released("__debug_camera_toggle"):
movement_active = not movement_active
if movement_active:
var dir = Vector3.ZERO
if Input.is_action_pressed("__debug_camera_forward"): dir.z -= 1
if Input.is_action_pressed("__debug_camera_back"): dir.z += 1
if Input.is_action_pressed("__debug_camera_left"): dir.x -= 1
if Input.is_action_pressed("__debug_camera_right"): dir.x += 1
if Input.is_action_pressed("__debug_camera_up"): dir.y += 1
if Input.is_action_pressed("__debug_camera_down"): dir.y -= 1
dir = dir.normalized()
dir = dir.rotated(Vector3.UP, pivot.rotation.y)
velocity = lerp(velocity, dir * target_speed, ACCELERATION)
pivot.position += velocity
func _input(event: InputEvent) -> void:
if movement_active:
# Turn around
if event is InputEventMouseMotion:
pivot.rotate_y(-event.relative.x * MOUSE_SENSITIVITY)
rotate_x(-event.relative.y * MOUSE_SENSITIVITY)
rotation.x = clamp(rotation.x, -PI/2, PI/2)
var speed_up = func():
target_speed = clamp(target_speed + 0.15, MIN_SPEED, MAX_SPEED)
display_message("[Speed up] " + str(target_speed))
var slow_down = func():
target_speed = clamp(target_speed - 0.15, MIN_SPEED, MAX_SPEED)
display_message("[Slow down] " + str(target_speed))
# Speed up and down with the mouse wheel
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_UP and event.pressed:
slow_down.call() if invert_speed_controls else speed_up.call()
if event.button_index == MOUSE_BUTTON_WHEEL_DOWN and event.pressed:
speed_up.call() if invert_speed_controls else slow_down.call()
## Pushes new message label into "chat" and removes the old ones if necessary
func display_message(text: String) -> void:
while event_log.get_child_count() >= 3:
event_log.remove_child(event_log.get_child(0))
event_log.add_child(_make_label(text))
func _make_label(text: String) -> Label:
var l = Label.new()
l.text = text
return l
func _add_keybindings() -> void:
var actions = InputMap.get_actions()
if "__debug_camera_forward" not in actions: _add_key_input_action("__debug_camera_forward", KEY_W)
if "__debug_camera_back" not in actions: _add_key_input_action("__debug_camera_back", KEY_S)
if "__debug_camera_left" not in actions: _add_key_input_action("__debug_camera_left", KEY_A)
if "__debug_camera_right" not in actions: _add_key_input_action("__debug_camera_right", KEY_D)
if "__debug_camera_up" not in actions: _add_key_input_action("__debug_camera_up", KEY_SPACE)
if "__debug_camera_down" not in actions: _add_key_input_action("__debug_camera_down", KEY_SHIFT)
if "__debug_camera_toggle" not in actions: _add_key_input_action("__debug_camera_toggle", toggle_key)
func _add_key_input_action(name: String, key: Key) -> void:
var ev = InputEventKey.new()
ev.physical_keycode = key
InputMap.add_action(name)
InputMap.action_add_event(name, ev)

View File

@@ -0,0 +1 @@
uid://8vyuhyx0xogt

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c4kitg6s5bcqu"
path="res://.godot/imported/mc-camera2.png-fe60f555c5ea92c0796267cd654ef834.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/freecam_3D/mc-camera2.png"
dest_files=["res://.godot/imported/mc-camera2.png-fe60f555c5ea92c0796267cd654ef834.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1,7 @@
[plugin]
name="Freecam3D"
description="A flying freecam with Minecraft-like controls."
author="Vojtech Struhar"
version="1.2.0"
script="plugin.gd"

View File

@@ -0,0 +1,20 @@
@tool
extends EditorPlugin
##
## Bootstraps the Freecam3D node.
##
func _enter_tree() -> void:
print("[Freecam3D Plugin] Loaded.")
add_custom_type(
"Freecam3D",
"Camera3D",
preload("freecam.gd"),
preload("mc-camera2.png"))
func _exit_tree() -> void:
remove_custom_type("Freecam3D")

View File

@@ -0,0 +1 @@
uid://1c16mfvgbate

View File

@@ -0,0 +1,22 @@
[configuration]
entry_symbol = "godotsteam_init"
compatibility_minimum = "4.4"
[libraries]
macos.debug = "res://addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework"
macos.release = "res://addons/godotsteam/osx/libgodotsteam.macos.template_release.framework"
windows.debug.x86_64 = "res://addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll"
windows.debug.x86_32 = "res://addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll"
windows.release.x86_64 = "res://addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll"
windows.release.x86_32 = "res://addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll"
linux.debug.x86_64 = "res://addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so"
linux.debug.x86_32 = "res://addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so"
linux.release.x86_64 = "res://addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so"
linux.release.x86_32 = "res://addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so"
[dependencies]
macos.universal = { "res://addons/godotsteam/osx/libsteam_api.dylib": "" }
windows.x86_64 = { "res://addons/godotsteam/win64/steam_api64.dll": "" }
windows.x86_32 = { "res://addons/godotsteam/win32/steam_api.dll": "" }
linux.x86_64 = { "res://addons/godotsteam/linux64/libsteam_api.so": "" }
linux.x86_32 = { "res://addons/godotsteam/linux32/libsteam_api.so": "" }

View File

@@ -0,0 +1 @@
uid://b3p0yh6q3ajpd

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>libgodotsteam.debug</string>
<key>CFBundleIdentifier</key>
<string>org.godotsteam.godotsteam</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>libgodotsteam.debug</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>4.15</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>4.15</string>
<key>LSMinimumSystemVersion</key>
<string>10.12</string>
</dict>
</plist>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>libgodotsteam</string>
<key>CFBundleIdentifier</key>
<string>org.godotsteam.godotsteam</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>libgodotsteam</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>4.15</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>4.15</string>
<key>LSMinimumSystemVersion</key>
<string>10.12</string>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
~*.dll

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Expresso Bits
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,87 @@
# <img src="https://raw.githubusercontent.com/expressobits/steam-multiplayer-peer/main/icon.png" alt= “icon” width="32" height="32"> Welcome to Expresso Steam Multiplayer Peer 👋
![Version](https://img.shields.io/badge/version-0.2.0-blue.svg?cacheSeconds=2592000)
[![Documentation](https://img.shields.io/badge/documentation-no-red.svg)](todo-doc)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](MIT)
See demos in:
Github: [Branch demos](https://github.com/expressobits/steam-multiplayer-peer/tree/demos)
Godot Asset Lib: https://godotengine.org/asset-library/asset/2258
## Tutorial and Learnings (How to use)
See post of Michael Macha
https://michaelmacha.wordpress.com/2024/04/08/godotsteam-and-steammultiplayerpeer/
See too on youtube videos
https://www.youtube.com/playlist?list=PLg_8mgEWE2p8ZA-AqUUJ3CYEtrRVFhl_v
Thank you Michael!
## Features
✔️ Change easy Enet peer to Steam Peer
✔️ Use Steam Sockets (Low level like enet).
✔️ GDExtension (Easy to add your project)
✔️ No dependency with GodotSteam, but demo use GodotSteam to handle connections with lobbies (See lobbies tutorial in Godot Steam [here](https://godotsteam.com/tutorials/lobbies/)).
## GodotSteam SteamMultiplayerPeer Differences
| Differences | This SteamMultiplayerPeer | GodotSteam SteamMultiplayerPeer |
|---|---|---|
| Lib Type | GDExtension, add on your project libs to use easy. | C++ module, you need to use the precompiled <br>ones from godotsteam or compile it yourself |
| Steam Connection | Steam Sockets [Steam Docs](https://partner.steamgames.com/doc/api/ISteamNetworkingSockets)<br>Steam's lowest connection level,<br>manages a connection <br>(It's very close to Enet, <br>that's why I chose this approach for the plugin) | Steam Messages [Steam Docs](https://partner.steamgames.com/doc/api/ISteamNetworkingMessages)<br>Without a connection idea,<br>the connection is managed by the lobby,<br>Need Steam lobbies. |
| TODO | | |
## Known issues
⚠️ Features No channel support currently
At some point I intend to integrate channels to be used in rpcs commands, but currently it is only necessary to use channel 0 or the default rpcs.
## In Progress
🔨 Bugs fixes
## Planneds
📅 No planned features.
<!-- ## Install
See in [Wiki](https://github.com/ExpressoBits/inventory-system/wiki) -->
## Authors
👤 **Rafael Correa**
* Twitter: [@ScriptsEngineer](https://twitter.com/ScriptsEngineer)
* Github: [@scriptsengineer](https://github.com/scriptsengineer)
👤 **Zennyth**
* Github: [@Zennyth](https://github.com/Zennyth)
👤 **greenfox1505**
* Github: [@greenfox1505](https://github.com/greenfox1505)
👤 **MichaelMacha**
* Github: [@MichaelMacha](https://github.com/MichaelMacha)
## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/ExpressoBits/steam-multiplayer-peer/issues).
To suggest or discuss some project structure, feel free here [discussions page](https://github.com/expressobits/steam-multiplayer-peer/discussions)
## Show your support
Give a ⭐️ if this project helped you!
## 📝 License
This project is [MIT](MIT) licensed.

View File

@@ -0,0 +1,25 @@
[configuration]
entry_symbol = "steam_multiplayer_peer_init"
compatibility_minimum = 4.2
[libraries]
linux.debug.x86_64 = "./linux/libsteam-multiplayer-peer.linux.template_debug.x86_64.so"
linux.release.x86_64 = "./linux/libsteam-multiplayer-peer.linux.template_release.x86_64.so"
linux.debug.arm64 = "./linux/libsteam-multiplayer-peer.linux.template_debug.arm64.so"
linux.release.arm64 = "./linux/libsteam-multiplayer-peer.linux.template_release.arm64.so"
linux.debug.rv64 = "./linux/libsteam-multiplayer-peer.linux.template_debug.rv64.so"
linux.release.rv64 = "./linux/libsteam-multiplayer-peer.linux.template_release.rv64.so"
macos.debug = "./macos/libsteam-multiplayer-peer.macos.template_debug.universal.dylib"
macos.release = "./macos/libsteam-multiplayer-peer.macos.template_release.universal.dylib"
windows.debug.x86_32 = "./windows/steam-multiplayer-peer.windows.template_debug.x86_32.dll"
windows.release.x86_32 = "./windows/steam-multiplayer-peer.windows.template_release.x86_32.dll"
windows.debug.x86_64 = "./windows/steam-multiplayer-peer.windows.template_debug.x86_64.dll"
windows.release.x86_64 = "./windows/steam-multiplayer-peer.windows.template_release.x86_64.dll"
[dependencies]
linux.x86_64 = { "linux/libsteam_api.so": "" }
linux.arm64 = { "linux/libsteam_api.so": "" }
linux.rv64 = { "linux/libsteam_api.so": "" }
macos.universal = { "macos/libsteam_api.dylib": "" }
windows.x86_64 = { "windows/steam_api64.dll": "" }
windows.x86_32 = { "windows/steam_api.dll": "" }

View File

@@ -0,0 +1 @@
uid://bift3vevfew3v

View File

@@ -0,0 +1,31 @@
extends Node
var players: Array[int] = []
var player_spawner: MultiplayerSpawner
@onready var debug_ui: PackedScene = preload("res://ui/multiplayer-debug-ui/multiplayer-debug-ui.tscn")
var debug_ui_instance
func _ready() -> void:
player_spawner = get_tree().root.get_node("Lobby/PlayerSpawner") as MultiplayerSpawner
debug_ui_instance = debug_ui.instantiate()
get_tree().root.add_child.call_deferred(debug_ui_instance)
debug_ui_instance.hide()
func _input(event: InputEvent) -> void:
if event.is_action_pressed("toggle_watch"):
debug_ui_instance.visible = !debug_ui_instance.visible
@rpc("any_peer", "call_local", "reliable")
func request_server_to_spawn_player(peer_id: int, player_name: String) -> void:
var data: Dictionary = {}
data["peer_id"] = peer_id
data["player_name"] = player_name
player_spawner.spawn(data)

View File

@@ -0,0 +1 @@
uid://dsl58fvqxa6ul

View File

@@ -0,0 +1,3 @@
[gd_scene format=3 uid="uid://bw4do4mo0s5hw"]
[node name="Piton" type="Node3D"]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,53 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://ceovc780lyj1r"
path="res://.godot/imported/campfire.blend-0f4f394f7ed7f3b3e2d3c3ac81a19ebb.scn"
[deps]
source_file="res://levels/lobby-scene/campfire/campfire.blend"
dest_files=["res://.godot/imported/campfire.blend-0f4f394f7ed7f3b3e2d3c3ac81a19ebb.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

View File

@@ -0,0 +1,22 @@
extends Node3D
@export var campfire_lit: bool = false
@export var fire_particles: GPUParticles3D
@export var smoke_particles: GPUParticles3D
@export var audio_stream_player_3d: AudioStreamPlayer3D
@export var sfx_files: Array[AudioStreamWAV] = []
func _ready() -> void:
audio_stream_player_3d.finished.connect(play_random_sfx)
play_random_sfx()
func light_campfire():
fire_particles.emitting = true
smoke_particles.emitting = true
func play_random_sfx():
audio_stream_player_3d.stream = sfx_files.pick_random()
audio_stream_player_3d.play()

View File

@@ -0,0 +1 @@
uid://mjtng3tgusx0

View File

@@ -0,0 +1,144 @@
[gd_scene load_steps=19 format=3 uid="uid://wcsd1tb0quj3"]
[ext_resource type="PackedScene" uid="uid://ceovc780lyj1r" path="res://levels/lobby-scene/campfire/campfire.blend" id="1_5k61m"]
[ext_resource type="Script" uid="uid://mjtng3tgusx0" path="res://levels/lobby-scene/campfire/campfire.gd" id="1_pgdjc"]
[ext_resource type="Texture2D" uid="uid://ciegdylo5csyt" path="res://levels/lobby-scene/campfire/textures/smoke-particle-texture.png" id="2_4swet"]
[ext_resource type="AudioStream" uid="uid://bx01sxorforuo" path="res://levels/lobby-scene/campfire/fire.wav" id="4_u2sse"]
[sub_resource type="Gradient" id="Gradient_5k61m"]
offsets = PackedFloat32Array(0.175439, 0.859649)
colors = PackedColorArray(0, 0, 0, 1, 0.52549, 0.180392, 0.0745098, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_4swet"]
gradient = SubResource("Gradient_5k61m")
[sub_resource type="Curve" id="Curve_pgdjc"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.393258), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_wwyeu"]
curve = SubResource("Curve_pgdjc")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_js7yv"]
angle_min = 1.07288e-05
angle_max = 360.0
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 4.0
angular_velocity_min = -1.60933e-05
angular_velocity_max = 40.0
gravity = Vector3(0, 0, 0)
linear_accel_min = 0.999998
linear_accel_max = 5.0
scale_min = 0.1
scale_max = 0.6
scale_curve = SubResource("CurveTexture_wwyeu")
color_initial_ramp = SubResource("GradientTexture1D_4swet")
hue_variation_min = -1.0
hue_variation_max = -0.75
turbulence_enabled = true
turbulence_noise_strength = 0.1
turbulence_noise_scale = 10.0
turbulence_influence_min = 0.01
turbulence_influence_max = 0.03
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5k61m"]
transparency = 1
blend_mode = 1
shading_mode = 0
disable_fog = true
vertex_color_use_as_albedo = true
albedo_color = Color(0.352941, 0.117647, 0.0666667, 1)
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_p40iq"]
material = SubResource("StandardMaterial3D_5k61m")
[sub_resource type="Gradient" id="Gradient_4swet"]
offsets = PackedFloat32Array(0.175439, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_pgdjc"]
gradient = SubResource("Gradient_4swet")
[sub_resource type="Curve" id="Curve_wwyeu"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.393258), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_js7yv"]
curve = SubResource("Curve_wwyeu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_0feaq"]
angle_min = 1.07288e-05
angle_max = 360.0
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 4.0
angular_velocity_min = -1.60933e-05
angular_velocity_max = 40.0
gravity = Vector3(0, 0, 0)
linear_accel_min = 0.999998
linear_accel_max = 2.0
scale_min = 0.1
scale_curve = SubResource("CurveTexture_js7yv")
color_initial_ramp = SubResource("GradientTexture1D_pgdjc")
hue_variation_min = -2.23517e-08
hue_variation_max = 0.03
turbulence_enabled = true
turbulence_noise_strength = 0.1
turbulence_noise_scale = 1.76
turbulence_influence_min = 0.01
turbulence_influence_max = 0.01
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p40iq"]
transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_texture = ExtResource("2_4swet")
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_8eekk"]
material = SubResource("StandardMaterial3D_p40iq")
[node name="Campfire" type="Node3D" node_paths=PackedStringArray("fire_particles", "smoke_particles", "audio_stream_player_3d")]
script = ExtResource("1_pgdjc")
fire_particles = NodePath("FireParticles")
smoke_particles = NodePath("SmokeParticles")
audio_stream_player_3d = NodePath("AudioStreamPlayer3D")
sfx_files = Array[AudioStreamWAV]([ExtResource("4_u2sse")])
[node name="campfire" parent="." instance=ExtResource("1_5k61m")]
[node name="FireParticles" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0211215, 0.220129, -0.0153611)
amount = 500
lifetime = 0.3
explosiveness = 0.08
randomness = 1.0
draw_order = 3
process_material = SubResource("ParticleProcessMaterial_js7yv")
draw_pass_1 = SubResource("QuadMesh_p40iq")
[node name="SmokeParticles" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0211215, 0.220129, -0.0153611)
amount = 100
lifetime = 2.0
explosiveness = 0.06
randomness = 1.0
draw_order = 3
process_material = SubResource("ParticleProcessMaterial_0feaq")
draw_pass_1 = SubResource("QuadMesh_8eekk")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("4_u2sse")
volume_db = -15.0
unit_size = 5.0

Binary file not shown.

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bx01sxorforuo"
path="res://.godot/imported/fire.wav-db183a1afec86c3f7b0347a0f68a8c78.sample"
[deps]
source_file="res://levels/lobby-scene/campfire/fire.wav"
dest_files=["res://.godot/imported/fire.wav-db183a1afec86c3f7b0347a0f68a8c78.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjlwlqwdnhyqa"
path.s3tc="res://.godot/imported/ashes.png-e3ed397e6960eee2c0384b2e7628d89b.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/campfire/textures/ashes.png"
dest_files=["res://.godot/imported/ashes.png-e3ed397e6960eee2c0384b2e7628d89b.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://mwhsj8t5w8u2"
path.s3tc="res://.godot/imported/log.png-dedb4a0d507c4374c4a0430aa0b04240.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/campfire/textures/log.png"
dest_files=["res://.godot/imported/log.png-dedb4a0d507c4374c4a0430aa0b04240.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ciegdylo5csyt"
path.s3tc="res://.godot/imported/smoke-particle-texture.png-a6c9ad64e49d68633ab3bfabe9f168c2.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/campfire/textures/smoke-particle-texture.png"
dest_files=["res://.godot/imported/smoke-particle-texture.png-a6c9ad64e49d68633ab3bfabe9f168c2.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cwwjn82mmy6oc"
path.s3tc="res://.godot/imported/stone.png-282edc18bd8fc87daf754e087f67344d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/campfire/textures/stone.png"
dest_files=["res://.godot/imported/stone.png-282edc18bd8fc87daf754e087f67344d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,60 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b5xb0fsfpn7r3"
path="res://.godot/imported/lobby-terrain.blend-a6c0be77548df4815861d8f088c594f5.scn"
[deps]
source_file="res://levels/lobby-scene/lobby-terrain/lobby-terrain.blend"
dest_files=["res://.godot/imported/lobby-terrain.blend-a6c0be77548df4815861d8f088c594f5.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"materials": {
"Material.001": {
"use_external/enabled": true,
"use_external/path": ""
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dpkeaqjnr3bsb"
path.s3tc="res://.godot/imported/grass.png-72267d35d6d4105c20ad91641e676c75.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/lobby-terrain/textures/grass.png"
dest_files=["res://.godot/imported/grass.png-72267d35d6d4105c20ad91641e676c75.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -0,0 +1,392 @@
[gd_scene load_steps=11 format=3 uid="uid://bj52j4ew2lfr6"]
[ext_resource type="PackedScene" uid="uid://baxlyc1rqnkh5" path="res://levels/lobby-scene/tree/tree.tscn" id="2_qjimh"]
[ext_resource type="PackedScene" uid="uid://b5xb0fsfpn7r3" path="res://levels/lobby-scene/lobby-terrain/lobby-terrain.blend" id="3_f73ky"]
[ext_resource type="Script" uid="uid://bbhx0fwgcgjr4" path="res://networking/player_spawner.gd" id="3_qjimh"]
[ext_resource type="PackedScene" uid="uid://c5ww6wbm2axro" path="res://levels/lobby-scene/tent/tent.tscn" id="4_qjimh"]
[ext_resource type="PackedScene" uid="uid://wcsd1tb0quj3" path="res://levels/lobby-scene/campfire/campfire.tscn" id="5_qjimh"]
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_qjimh"]
properties/0/path = NodePath("WorldEnvironment/DirectionalLight3D:rotation")
properties/0/spawn = true
properties/0/replication_mode = 2
properties/1/path = NodePath("WorldEnvironment/DirectionalLight3D:light_color")
properties/1/spawn = true
properties/1/replication_mode = 2
properties/2/path = NodePath("WorldEnvironment/DirectionalLight3D:light_energy")
properties/2/spawn = true
properties/2/replication_mode = 2
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_f73ky"]
[sub_resource type="Sky" id="Sky_0aw1h"]
sky_material = SubResource("ProceduralSkyMaterial_f73ky")
[sub_resource type="Environment" id="Environment_72fkp"]
background_mode = 2
sky = SubResource("Sky_0aw1h")
ssao_enabled = true
ssil_enabled = true
sdfgi_use_occlusion = true
glow_enabled = true
volumetric_fog_enabled = true
volumetric_fog_density = 0.0
[sub_resource type="FogMaterial" id="FogMaterial_qjimh"]
density = 0.05
albedo = Color(0.71539, 0.628132, 0.473352, 1)
height_falloff = 1e-05
[node name="Lobby" type="Node3D"]
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_qjimh")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_72fkp")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"]
transform = Transform3D(0.917663, -0.182505, -0.352967, 0.227411, 0.969643, 0.0898726, 0.32585, -0.162741, 0.931309, 0, 0, 0)
light_color = Color(0.71539, 0.628132, 0.473352, 1)
light_energy = 3.435
light_volumetric_fog_energy = 2.0
shadow_enabled = true
shadow_transmittance_bias = 5.628
[node name="lobby-terrain" parent="." instance=ExtResource("3_f73ky")]
[node name="Tree" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.1286, 0, 0.918179)
[node name="Tree2" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.48594, 0, -21.9149)
[node name="Tree3" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.9316, 0, -26.9708)
[node name="Tree4" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.9316, 0, 6.02919)
[node name="Tree5" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.9316, 0, -12.9708)
[node name="Tree6" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.06842, 0, 11.0292)
[node name="Tree7" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -52.7514, 0, -25.6344)
[node name="Tree8" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -84.2187, 0, -37.0667)
[node name="Tree9" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -60.2623, 0, -61.5226)
[node name="Tree10" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -31.094, 0, -45.2988)
[node name="Tree11" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -57.1347, 0, -42.6753)
[node name="Tree12" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -56.4904, 0, -4.26199)
[node name="Tree13" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 12.3259, 0, -50.3651)
[node name="Tree14" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -12.7043, 0, -30.1653)
[node name="Tree15" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -18.2613, 0, -70.5838)
[node name="Tree16" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 13.881, 0, -79.5766)
[node name="Tree17" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -2.77846, 0, -59.3909)
[node name="Tree18" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 24.7058, 0, -32.5466)
[node name="Tree19" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -73.4507, 0, 61.208)
[node name="Tree20" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -40.2487, 0, 65.511)
[node name="Tree21" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -58.3024, 0, 94.5982)
[node name="Tree22" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -90.3043, 0, 85.1179)
[node name="Tree23" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -65.4605, 0, 76.8849)
[node name="Tree24" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -74.4571, 0, 39.5343)
[node name="Tree25" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -22.2938, 0, 14.639)
[node name="Tree26" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, 5.24282, 0.333068, -22.3762)
[node name="Tree27" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, 13.389, 0, 23.0717)
[node name="Tree28" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -13.6817, 12.3126, 37.5975)
[node name="Tree29" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -5.00365, 0, 17.9035)
[node name="Tree30" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -40.0582, 0, 2.18158)
[node name="Tree31" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -27.5248, 0, 84.0602)
[node name="Tree32" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -27.309, 0, 50.5812)
[node name="Tree33" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, 3.76537, 0, 64.9473)
[node name="Tree34" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -1.73554, 0, 97.8675)
[node name="Tree35" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -12.9411, 0, 74.2152)
[node name="Tree36" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -48.9133, 0, 87.706)
[node name="Tree37" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -68.895, 0, -38.1058)
[node name="Tree38" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -68.2169, 0, -4.63298)
[node name="Tree39" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -99.6637, 0, -18.1643)
[node name="Tree40" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -95.0437, 0, -51.2197)
[node name="Tree41" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -83.2106, 0, -27.8749)
[node name="Tree42" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -47.6115, 0, -42.3214)
[node name="Tree43" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -15.2417, 0, 5.56369)
[node name="Tree44" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, 2.89171, 5.28237, 42.2972)
[node name="Tree45" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -18.2788, 0, 42.1034)
[node name="Tree46" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -41.6082, 0, 18.2342)
[node name="Tree47" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -15.9009, 0, 23.147)
[node name="Tree48" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -5.56213, 0, -13.8545)
[node name="Tree49" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -84.6695, 0, 10.7058)
[node name="Tree50" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -51.5301, 0, 5.94477)
[node name="Tree51" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -61.1196, 0, 38.8088)
[node name="Tree52" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -94.4917, 0, 38.2604)
[node name="Tree53" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -72.7669, 0, 23.6648)
[node name="Tree54" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -91.4529, 0, -9.90353)
[node name="Tree55" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 79.8631, 0, 23.359)
[node name="Tree56" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 46.8045, 0, 18.0654)
[node name="Tree57" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 65.7197, 0, -10.4691)
[node name="Tree58" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 84.7693, 0, -0.0364418)
[node name="Tree59" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 72.3451, 0, 7.45029)
[node name="Tree60" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 80.2211, 0, 45.0531)
[node name="Tree61" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 27.337, 0, 68.378)
[node name="Tree62" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 2.93279, 0, 91.2979)
[node name="Tree63" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, -8.07783, 0, 58.8824)
[node name="Tree64" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 19.5644, 0, 40.1766)
[node name="Tree65" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 10.1521, 0, 64.598)
[node name="Tree66" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 44.721, 0, 81.3608)
[node name="Tree67" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 34.6408, 0, -0.855806)
[node name="Tree68" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 33.4243, 0, 32.6017)
[node name="Tree69" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 2.79329, 0, 17.3131)
[node name="Tree70" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 9.27582, 0, -15.4279)
[node name="Tree71" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 19.7694, 0, 8.54882)
[node name="Tree72" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 56.1288, 0, -3.86066)
[node name="Tree73" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 6.73125, 0, 27.1375)
[node name="Tree74" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 4.44506, 0, -6.264)
[node name="Tree75" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 36.5059, 0, 5.74019)
[node name="Tree76" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 33.4801, 0, 38.9794)
[node name="Tree77" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 20.5386, 0, 16.2304)
[node name="Tree78" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, -14.325, 0, 32.3713)
[node name="Tree79" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -48.959, 0, -13.9026)
[node name="Tree80" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -76.7854, 0, -32.5192)
[node name="Tree81" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -47.6816, 0, -50.5461)
[node name="Tree82" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -25.5144, 0, -27.6785)
[node name="Tree91" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -6.96076, 0, -27.3104)
[node name="Tree92" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -19.3298, 0, -30.7708)
[node name="Tree93" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -31.2627, 0, -22.9674)
[node name="Tree94" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -31.3363, 0, -16.1939)
[node name="Tree95" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -29.4957, 0, -9.42036)
[node name="Tree96" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -17.5693, 0, -4.45112)
[node name="Tree97" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -6.45191, 0, -8.94227)
[node name="Tree98" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -2.01016, 0, -37.6058)
[node name="Tree99" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -14.8881, 0, -42.9982)
[node name="Tree83" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -49.1457, 0, -31.4973)
[node name="Tree84" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -57.694, 0, 5.95833)
[node name="Tree85" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 20.1415, 0, -22.3759)
[node name="Tree86" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, -24.3894, 0, -5.41777)
[node name="Tree87" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, -4.73205, 0, -49.3144)
[node name="Tree88" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 28.6279, 0, -50.3707)
[node name="Tree89" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 7.6297, 0, -34.7478)
[node name="Tree90" parent="lobby-terrain" instance=ExtResource("2_qjimh")]
transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 27.9076, 0, -2.11639)
[node name="PlayerSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("uid://csmfxg011xisf")
spawn_path = NodePath("../Marker3D")
script = ExtResource("3_qjimh")
[node name="Marker3D" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1053, 1.29751, -14.168)
[node name="Campsite" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.724, 0, -17.6721)
[node name="TentPlot1" type="Marker3D" parent="Campsite"]
transform = Transform3D(-0.998887, 0, -0.0471587, 0, 1, 0, 0.0471587, 0, -0.998887, -0.468871, 0.334599, -6.31805)
[node name="Tent" parent="Campsite/TentPlot1" instance=ExtResource("4_qjimh")]
[node name="TentPlot2" type="Marker3D" parent="Campsite"]
transform = Transform3D(-0.240973, 0, -0.970532, 0, 1, 0, 0.970532, 0, -0.240973, -6.46887, 0.334599, -2.31805)
[node name="Tent" parent="Campsite/TentPlot2" instance=ExtResource("4_qjimh")]
[node name="TentPlot3" type="Marker3D" parent="Campsite"]
transform = Transform3D(0.689594, 0, -0.724196, 0, 1, 0, 0.724196, 0, 0.689594, -4.46887, 0.334599, 4.68195)
[node name="Tent" parent="Campsite/TentPlot3" instance=ExtResource("4_qjimh")]
[node name="TentPlot4" type="Marker3D" parent="Campsite"]
transform = Transform3D(-0.0217975, 0, 0.999762, 0, 1, 0, -0.999762, 0, -0.0217975, 6.53113, 0.334599, -2.31805)
[node name="Tent" parent="Campsite/TentPlot4" instance=ExtResource("4_qjimh")]
[node name="Campfire" parent="Campsite" instance=ExtResource("5_qjimh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.392361, 0)
[node name="FogVolume" type="FogVolume" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.07413, 6.02039, -11.3029)
size = Vector3(393.422, 76.9358, 405.889)
material = SubResource("FogMaterial_qjimh")

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,53 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://c4cew4af3h306"
path="res://.godot/imported/tent.blend-cfe1cab2c3640ecea475631183f479bf.scn"
[deps]
source_file="res://levels/lobby-scene/tent/tent.blend"
dest_files=["res://.godot/imported/tent.blend-cfe1cab2c3640ecea475631183f479bf.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

Binary file not shown.

View File

@@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://c5ww6wbm2axro"]
[ext_resource type="PackedScene" uid="uid://c4cew4af3h306" path="res://levels/lobby-scene/tent/tent.blend" id="1_bey51"]
[sub_resource type="BoxShape3D" id="BoxShape3D_6ocyw"]
size = Vector3(3.39648, 0.105957, 4.00098)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bey51"]
data = PackedVector3Array(1, -1, -1.4167, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -1.3052, 1, -1, -1.4167, 1, -1, -0.9924, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -1.3052, 1.0523, 0, -0.9917, 1.0262, -0.5, -1.4875, 1.0131, -0.75, -1.3052, 1.0131, -0.75, -0.9922, 1.0523, 0, -0.9917, 1.0131, -0.75, -0.9922, 1.1047, 1, 0, 1.0523, 0, -0.9917, 1, -1, -0.9924, 1.0131, -0.75, -0.8156, 1.0131, -0.75, -0.9922, 1.0915, 0.749, 0.0034, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -0.8156, 1.1047, 1, 0, 1.0131, -0.75, -0.9922, 1.0915, 0.749, 0.0034, 1, -1, -0.9924, 1.0131, -0.75, 0.8012, 1.0131, -0.75, -0.8156, 1.0131, -0.75, 0.8012, 1, -1, -0.9924, 1, -1, 0, 1.0131, -0.75, 0.8012, 1, -1, 0, 1, -1, 0.9909, 1.0131, -0.75, 0.9911, 1.0915, 0.749, 0.0034, 1.0131, -0.75, 0.8012, 1.1047, 1, 0, 1.0915, 0.749, 0.0034, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 0.8012, 1, -1, 0.9909, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 0.9911, 1, -1, 0.9909, 1, -1, 1.4166, 1.1047, 1, 0, 1.0131, -0.75, 0.9911, 1.0523, 0, 0.9916, 1.0131, -0.75, 0.9911, 1, -1, 1.4166, 1.0131, -0.75, 1.3051, 1.0523, 0, 0.9916, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 1.3051, 1.0523, 0, 0.9916, 1.0131, -0.75, 1.3051, 1.0262, -0.5, 1.4875, -1.0131, -0.75, -1.3052, -1, -1, 0, -1, -1, -1.4167, -1.0131, -0.75, -1.3052, -1.0131, -0.75, 1.3051, -1, -1, 0, -1, -1, 0, -1.0131, -0.75, 1.3051, -1, -1, 1.4166, -1.0131, -0.75, 1.3051, -1.0131, -0.75, -1.3052, -1.0524, 0, -0.9917, -1.0524, 0, -0.9917, -1.0131, -0.75, -1.3052, -1.0262, -0.5, -1.4875, -1.0131, -0.75, 1.3051, -1.0524, 0, -0.9917, -1.0524, 0, 0.9916, -1.0524, 0, 0.9916, -1.0524, 0, -0.9917, -1.1047, 1, 0, -1.0131, -0.75, 1.3051, -1.0524, 0, 0.9916, -1.0262, -0.5, 1.4875, 1.0523, 0, 0.9916, 0, 0.9167, 0, 1.1047, 1, 0, 1.0523, 0, 0.9916, 0, -0.0417, 0.9916, 0, 0.9167, 0, -1.0524, 0, 0.9916, 0, 0.9167, 0, 0, -0.0417, 0.9916, -1.0524, 0, 0.9916, -1.1047, 1, 0, 0, 0.9167, 0, 0, -0.5208, 1.4875, -1.0524, 0, 0.9916, 0, -0.0417, 0.9916, 0, -0.5208, 1.4875, -1.0262, -0.5, 1.4875, -1.0524, 0, 0.9916, 1.0262, -0.5, 1.4875, 0, -0.0417, 0.9916, 1.0523, 0, 0.9916, 1.0262, -0.5, 1.4875, 0, -0.5208, 1.4875, 0, -0.0417, 0.9916, 1.0131, -0.75, 1.3051, 0, -0.5208, 1.4875, 1.0262, -0.5, 1.4875, 1.0131, -0.75, 1.3051, 0, -0.7604, 1.3051, 0, -0.5208, 1.4875, 0, -0.7604, -1.3052, -1, -1, -1.4167, 0, -1, -1.4167, 0, -0.7604, -1.3052, -1.0131, -0.75, -1.3052, -1, -1, -1.4167, 1.0131, -0.75, -1.3052, 0, -1, -1.4167, 1, -1, -1.4167, 1.0131, -0.75, -1.3052, 0, -0.7604, -1.3052, 0, -1, -1.4167, 0, -0.7604, -1.3052, 1.0262, -0.5, -1.4875, 0, -0.5208, -1.4875, 0, -0.7604, -1.3052, 1.0131, -0.75, -1.3052, 1.0262, -0.5, -1.4875, 0, -0.7604, -1.3052, -1.0262, -0.5, -1.4875, -1.0131, -0.75, -1.3052, 0, -0.7604, -1.3052, 0, -0.5208, -1.4875, -1.0262, -0.5, -1.4875, -1.0524, 0, -0.9917, 0, -0.5208, -1.4875, 0, -0.0417, -0.9917, -1.0524, 0, -0.9917, -1.0262, -0.5, -1.4875, 0, -0.5208, -1.4875, 1.0262, -0.5, -1.4875, 0, -0.0417, -0.9917, 0, -0.5208, -1.4875, 1.0262, -0.5, -1.4875, 1.0523, 0, -0.9917, 0, -0.0417, -0.9917, 0, -0.0417, -0.9917, 1.1047, 1, 0, 0, 0.9167, 0, 0, -0.0417, -0.9917, 1.0523, 0, -0.9917, 1.1047, 1, 0, 0, -0.0417, -0.9917, -1.1047, 1, 0, -1.0524, 0, -0.9917, 0, -0.0417, -0.9917, 0, 0.9167, 0, -1.1047, 1, 0, 0, -0.5208, 1.4875, -1.0131, -0.75, 1.3051, -1.0262, -0.5, 1.4875, 0, -0.5208, 1.4875, 0, -0.7604, 1.3051, -1.0131, -0.75, 1.3051, -1, -1, 1.4166, 0, -0.7604, 1.3051, 0, -1, 1.4166, -1, -1, 1.4166, -1.0131, -0.75, 1.3051, 0, -0.7604, 1.3051, 0, -0.7604, 1.3051, 1, -1, 1.4166, 0, -1, 1.4166, 0, -0.7604, 1.3051, 1.0131, -0.75, 1.3051, 1, -1, 1.4166, 1, -1, -0.9924, 1, -0.9917, -1.4167, 1, -1, -1.4167, 1, -1, -0.9924, 1, -0.9917, -0.9924, 1, -0.9917, -1.4167, 1, -1, 0, 1, -0.9917, -0.9924, 1, -1, -0.9924, 1, -1, 0, 1, -0.9917, 0, 1, -0.9917, -0.9924, -1, -1, -1.4167, -1, -0.9917, 0, -1, -1, 0, -1, -1, -1.4167, -1, -0.9917, -1.4167, -1, -0.9917, 0, -1, -1, 0, -1, -0.9917, 0, -1, -0.9917, 1.4166, -1, -1, 0, -1, -0.9917, 1.4166, -1, -1, 1.4166, 1, -1, -1.4167, 0, -0.9917, -1.4167, 1, -0.9917, -1.4167, 1, -1, -1.4167, 0, -1, -1.4167, 0, -0.9917, -1.4167, 0, -1, -1.4167, -1, -0.9917, -1.4167, 0, -0.9917, -1.4167, 0, -1, -1.4167, -1, -1, -1.4167, -1, -0.9917, -1.4167, 1, -1, 1.4166, 1, -0.9917, 0.9909, 1, -1, 0.9909, 1, -1, 1.4166, 1, -0.9917, 1.4166, 1, -0.9917, 0.9909, 0, -1, 1.4166, 1, -0.9917, 1.4166, 1, -1, 1.4166, 0, -1, 1.4166, 0, -0.9917, 1.4166, 1, -0.9917, 1.4166, -1, -1, 1.4166, 0, -0.9917, 1.4166, 0, -1, 1.4166, -1, -1, 1.4166, -1, -0.9917, 1.4166, 0, -0.9917, 1.4166, 1, -1, 0.9909, 1, -0.9917, 0, 1, -0.9917, 0.9909, 1, -1, 0.9909, 1, -1, 0, 1, -0.9917, 0)
[node name="Tent" type="Node3D"]
[node name="tent" parent="." instance=ExtResource("1_bey51")]
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0397949, 0)
shape = SubResource("BoxShape3D_6ocyw")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(3.57628e-07, 0, 1.2, 0, 1.2, 0, -2, 0, 2.14577e-07, 0, 1.2, 0)
shape = SubResource("ConcavePolygonShape3D_bey51")

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bj1old20eraxq"
path.s3tc="res://.godot/imported/line.png-f1d79c528b79a3f4f23586b0c1ab0a22.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/tent/textures/line.png"
dest_files=["res://.godot/imported/line.png-f1d79c528b79a3f4f23586b0c1ab0a22.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4wydw131ad3q"
path.s3tc="res://.godot/imported/pins.png-be03801b8319596d167e68e302ab146f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/tent/textures/pins.png"
dest_files=["res://.godot/imported/pins.png-be03801b8319596d167e68e302ab146f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://by6dlbdsfkf1c"
path.s3tc="res://.godot/imported/tent-canvas.png-22002e3ff42d8a628cf6a049cdff6002.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/tent/textures/tent-canvas.png"
dest_files=["res://.godot/imported/tent-canvas.png-22002e3ff42d8a628cf6a049cdff6002.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bd53ybrlho0d1"
path.s3tc="res://.godot/imported/leaves.png-530373898a77b84d2e3909cbed29021f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/tree/textures/leaves.png"
dest_files=["res://.godot/imported/leaves.png-530373898a77b84d2e3909cbed29021f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cxuxtdscvpcru"
path.s3tc="res://.godot/imported/trunk.png-4d6cd7f252205478b8e4bf2b892c9b44.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://levels/lobby-scene/tree/textures/trunk.png"
dest_files=["res://.godot/imported/trunk.png-4d6cd7f252205478b8e4bf2b892c9b44.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,53 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bhgahenvxqhec"
path="res://.godot/imported/tree.blend-2e97b0c94b4b9f627dfe10b7f953c7fe.scn"
[deps]
source_file="res://levels/lobby-scene/tree/tree.blend"
dest_files=["res://.godot/imported/tree.blend-2e97b0c94b4b9f627dfe10b7f953c7fe.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

Binary file not shown.

View File

@@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://baxlyc1rqnkh5"]
[ext_resource type="PackedScene" uid="uid://bhgahenvxqhec" path="res://levels/lobby-scene/tree/tree.blend" id="1_lbkut"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0o2vh"]
radius = 0.3
height = 13.6187
[node name="Tree" type="Node3D"]
[node name="tree2" parent="." instance=ExtResource("1_lbkut")]
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.8, 0)
shape = SubResource("CapsuleShape3D_0o2vh")

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chrva3l6shfhg"
path="res://.godot/imported/trunk.png-b162fd3ffcc29a857809c16bdc1c00bb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://levels/lobby-scene/tree/trunk.png"
dest_files=["res://.godot/imported/trunk.png-b162fd3ffcc29a857809c16bdc1c00bb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1 @@
extends Node

Some files were not shown because too many files have changed in this diff Show More