Compare commits
No commits in common. "5e5c94272985dc45efa448337d826949aa174158" and "b3560310ae59d64b97699bd3b3ef34dc87fc8033" have entirely different histories.
5e5c942729
...
b3560310ae
|
@ -1,99 +0,0 @@
|
|||
name: "godot-ci export"
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- stable
|
||||
|
||||
jobs:
|
||||
export_game:
|
||||
runs-on: ubuntu-latest
|
||||
name: Export Game
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v3.3.0
|
||||
- name: Install Packages
|
||||
id: wine_install
|
||||
run: |
|
||||
apt update -y && apt upgrade -y
|
||||
apt install -y wine64 nodejs p7zip-full ca-certificates tree jq curl zip
|
||||
echo "WINE_PATH=$(which wine64)" >> $GITHUB_OUTPUT
|
||||
- name: Download Godot build-libs
|
||||
run: |
|
||||
mkdir -p /root/.local/share/godot/
|
||||
wget -nv https://github.com/godotengine/godot/releases/download/4.0.2-stable/Godot_v4.0.2-stable_linux.x86_64.zip -O "/root/.local/share/godot/godot.zip"
|
||||
wget -nv https://github.com/godotengine/godot/releases/download/4.0.2-stable/Godot_v4.0.2-stable_export_templates.tpz -O /root/.local/share/godot/godot_templates.tpz
|
||||
- name: Setup Godot build-libs
|
||||
run: |
|
||||
7z x /root/.local/share/godot/godot.zip -o/root/.local/share/godot/godot_executable -y
|
||||
chmod +x /root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64
|
||||
unzip /root/.local/share/godot/godot_templates.tpz -d /root/.local/share/godot
|
||||
mv /root/.local/share/godot/templates /root/.local/share/godot/4.0.2.stable
|
||||
mkdir -p /root/.local/share/godot/export_templates
|
||||
mv /root/.local/share/godot/4.0.2.stable /root/.local/share/godot/export_templates
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 --version
|
||||
- name: Export for Web
|
||||
run: |
|
||||
mkdir -p ./builds/web/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Web" ./builds/web/Game.html
|
||||
- name: Package for Web
|
||||
run: |
|
||||
cd builds
|
||||
tar -czvf web.zip -C web/ .
|
||||
- name: Export for Linux
|
||||
run: |
|
||||
mkdir -p ./builds/linux/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Linux/X11" ./builds/linux/Game.x86_64
|
||||
- name: Package for Linux
|
||||
run: |
|
||||
cd builds
|
||||
tar -czvf linux.tar.gz -C linux/ .
|
||||
- name: Export for Windows
|
||||
run: |
|
||||
mkdir -p ./builds/windows/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Windows Desktop" ./builds/windows/Game.exe
|
||||
- name: Package for Windows
|
||||
run: |
|
||||
cd builds
|
||||
cd windows; zip -r ../windows.zip *
|
||||
cd ..
|
||||
- name: Create Release
|
||||
run: |
|
||||
echo "Getting last Release Tag"
|
||||
VERSION=$(curl -X 'GET' 'https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases?page=1&limit=1' -H 'accept: application/json' -H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' )
|
||||
echo $VERSION | jq -r '.[0].tag_name'
|
||||
VERSION=$(echo $VERSION | jq -r '.[0].tag_name' | awk -F. -v OFS=. '{$NF += 1 ; print}')
|
||||
echo "Generate new Release with tag: $VERSION"
|
||||
ID=$(curl -X 'POST' \
|
||||
'https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-d "{
|
||||
\"body\": \"Automated Build\",
|
||||
\"draft\": true,
|
||||
\"name\": \"Automated Release $VERSION\",
|
||||
\"prerelease\": true,
|
||||
\"tag_name\": \"$VERSION\"
|
||||
}")
|
||||
ID=$(echo $ID | jq -r '.id')
|
||||
echo $ID Upload Web
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Web.zip" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/web.zip;type=application/gzip'
|
||||
echo $ID Upload Linux
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Linux.tar.gz" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/linux.tar.gz;type=application/gzip'
|
||||
echo $ID Upload Windows
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Windows.zip" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/windows.zip;type=application/gzip'
|
Before Width: | Height: | Size: 177 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tv804qpxy44n"
|
||||
path="res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/EvilBunny/bunny_down.png"
|
||||
dest_files=["res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.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
|
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dbelgiv204e2b"
|
||||
path="res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/EvilBunny/bunny_left.png"
|
||||
dest_files=["res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.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
|
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvji70p68eae8"
|
||||
path="res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/EvilBunny/bunny_righ.png"
|
||||
dest_files=["res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.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
|
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ep63wy3imw2d"
|
||||
path="res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_down.png"
|
||||
dest_files=["res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.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
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b0x834s5l1qot"
|
||||
path="res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_left.png"
|
||||
dest_files=["res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.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
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7nmf03fho3m"
|
||||
path="res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_righ.png"
|
||||
dest_files=["res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.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
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 641 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6n0go8l4gaak"
|
||||
path="res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus_Left_Idle.png"
|
||||
dest_files=["res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.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
|
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1,021 B After Width: | Height: | Size: 1,021 B |
|
@ -2,16 +2,16 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d2m2jsxx5xpxx"
|
||||
path="res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"
|
||||
uid="uid://dyibsqvmfitux"
|
||||
path="res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_up.png"
|
||||
dest_files=["res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"]
|
||||
source_file="res://Assets/Sprites/bunny_down.png"
|
||||
dest_files=["res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
@ -31,4 +31,4 @@ 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
|
||||
detect_3d/compress_to=0
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
@ -2,16 +2,16 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://coyib2evn5o61"
|
||||
path="res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex"
|
||||
uid="uid://dynqs8dq175ty"
|
||||
path="res://.godot/imported/bunny_left.png-b0a65864e50a1d10579cf71a4bd59148.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/EvilBunny/bunny_up.png"
|
||||
dest_files=["res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex"]
|
||||
source_file="res://Assets/Sprites/bunny_left.png"
|
||||
dest_files=["res://.godot/imported/bunny_left.png-b0a65864e50a1d10579cf71a4bd59148.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
@ -31,4 +31,4 @@ 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
|
||||
detect_3d/compress_to=0
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
@ -2,16 +2,16 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dwkjfno8mjrdp"
|
||||
path="res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex"
|
||||
uid="uid://qvq11powneve"
|
||||
path="res://.godot/imported/bunny_righ.png-66416292c790a3c540d894b9b9f5a2c9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/ColorPallet.png"
|
||||
dest_files=["res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex"]
|
||||
source_file="res://Assets/Sprites/bunny_righ.png"
|
||||
dest_files=["res://.godot/imported/bunny_righ.png-66416292c790a3c540d894b9b9f5a2c9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
@ -31,4 +31,4 @@ 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
|
||||
detect_3d/compress_to=0
|
Before Width: | Height: | Size: 973 B After Width: | Height: | Size: 973 B |
|
@ -2,16 +2,16 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqi3ddjrcj2bh"
|
||||
path="res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex"
|
||||
uid="uid://xbx6qrjbu5h7"
|
||||
path="res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/TileMap.png"
|
||||
dest_files=["res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex"]
|
||||
source_file="res://Assets/Sprites/bunny_up.png"
|
||||
dest_files=["res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
@ -31,4 +31,4 @@ 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
|
||||
detect_3d/compress_to=0
|
|
@ -1,25 +0,0 @@
|
|||
[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://b7cqbf6xdbeal"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bjyry6vvtr8h5" path="res://Assets/Sprites/PlaceHolderA.png" id="1_nuhua"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbtiuvqgnulmf" path="res://Assets/Sprites/PlaceHolderB.png" id="2_jl0te"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_urqd5"]
|
||||
texture = ExtResource("1_nuhua")
|
||||
texture_region_size = Vector2i(8, 8)
|
||||
0:0/0 = 0
|
||||
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -4, 4, -4, 4, 4, -4, 4)
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7bjb0"]
|
||||
texture = ExtResource("2_jl0te")
|
||||
texture_region_size = Vector2i(8, 8)
|
||||
0:0/0 = 0
|
||||
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
|
||||
[resource]
|
||||
tile_size = Vector2i(8, 8)
|
||||
physics_layer_0/collision_layer = 1
|
||||
sources/0 = SubResource("TileSetAtlasSource_urqd5")
|
||||
sources/1 = SubResource("TileSetAtlasSource_7bjb0")
|
|
@ -1,343 +0,0 @@
|
|||
[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://bj7uu2180mie3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bqi3ddjrcj2bh" path="res://Assets/Sprites/TileMap.png" id="1_cl3se"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mgef5"]
|
||||
texture = ExtResource("1_cl3se")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0 = 0
|
||||
2:0/0/terrain_set = 0
|
||||
2:0/0/terrain = 0
|
||||
2:0/0/terrains_peering_bit/right_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
3:0/0 = 0
|
||||
3:0/0/terrain_set = 0
|
||||
3:0/0/terrain = 0
|
||||
3:0/0/terrains_peering_bit/bottom_side = 0
|
||||
3:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
4:0/0/terrain_set = 0
|
||||
4:0/0/terrain = 0
|
||||
4:0/0/terrains_peering_bit/right_side = 0
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
4:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
4:0/0/terrains_peering_bit/top_side = 0
|
||||
5:0/0 = 0
|
||||
5:0/0/terrain_set = 0
|
||||
5:0/0/terrain = 0
|
||||
5:0/0/terrains_peering_bit/right_side = 0
|
||||
5:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
5:0/0/terrains_peering_bit/bottom_side = 0
|
||||
5:0/0/terrains_peering_bit/left_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/terrains_peering_bit/right_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/left_side = 0
|
||||
7:0/0 = 0
|
||||
7:0/0/terrain_set = 0
|
||||
7:0/0/terrain = 0
|
||||
7:0/0/terrains_peering_bit/right_side = 0
|
||||
7:0/0/terrains_peering_bit/bottom_side = 0
|
||||
7:0/0/terrains_peering_bit/left_side = 0
|
||||
7:0/0/terrains_peering_bit/top_side = 0
|
||||
7:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
8:0/0 = 0
|
||||
8:0/0/terrain_set = 0
|
||||
8:0/0/terrain = 0
|
||||
8:0/0/terrains_peering_bit/right_side = 0
|
||||
8:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
8:0/0/terrains_peering_bit/bottom_side = 0
|
||||
9:0/0 = 0
|
||||
9:0/0/terrain_set = 0
|
||||
9:0/0/terrain = 0
|
||||
9:0/0/terrains_peering_bit/right_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:0/0/terrains_peering_bit/bottom_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:0/0/terrains_peering_bit/left_side = 0
|
||||
9:0/0/terrains_peering_bit/top_side = 0
|
||||
10:0/0 = 0
|
||||
10:0/0/terrain_set = 0
|
||||
10:0/0/terrain = 0
|
||||
10:0/0/terrains_peering_bit/right_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:0/0/terrains_peering_bit/bottom_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/left_side = 0
|
||||
11:0/0 = 0
|
||||
11:0/0/terrain_set = 0
|
||||
11:0/0/terrain = 0
|
||||
11:0/0/terrains_peering_bit/bottom_side = 0
|
||||
11:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
11:0/0/terrains_peering_bit/left_side = 0
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 0
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0 = 0
|
||||
1:1/0/terrain_set = 0
|
||||
1:1/0/terrain = 0
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
2:1/0 = 0
|
||||
2:1/0/terrain_set = 0
|
||||
2:1/0/terrain = 0
|
||||
2:1/0/terrains_peering_bit/right_side = 0
|
||||
2:1/0/terrains_peering_bit/bottom_side = 0
|
||||
2:1/0/terrains_peering_bit/left_side = 0
|
||||
2:1/0/terrains_peering_bit/top_side = 0
|
||||
3:1/0 = 0
|
||||
3:1/0/terrain_set = 0
|
||||
3:1/0/terrain = 0
|
||||
3:1/0/terrains_peering_bit/bottom_side = 0
|
||||
3:1/0/terrains_peering_bit/left_side = 0
|
||||
3:1/0/terrains_peering_bit/top_side = 0
|
||||
4:1/0 = 0
|
||||
4:1/0/terrain_set = 0
|
||||
4:1/0/terrain = 0
|
||||
4:1/0/terrains_peering_bit/right_side = 0
|
||||
4:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
4:1/0/terrains_peering_bit/bottom_side = 0
|
||||
4:1/0/terrains_peering_bit/top_side = 0
|
||||
5:1/0 = 0
|
||||
5:1/0/terrain_set = 0
|
||||
5:1/0/terrain = 0
|
||||
5:1/0/terrains_peering_bit/right_side = 0
|
||||
5:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
5:1/0/terrains_peering_bit/bottom_side = 0
|
||||
5:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
5:1/0/terrains_peering_bit/left_side = 0
|
||||
5:1/0/terrains_peering_bit/top_side = 0
|
||||
5:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
6:1/0 = 0
|
||||
6:1/0/terrain_set = 0
|
||||
6:1/0/terrain = 0
|
||||
6:1/0/terrains_peering_bit/right_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:1/0/terrains_peering_bit/bottom_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/left_side = 0
|
||||
6:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0 = 0
|
||||
7:1/0/terrain_set = 0
|
||||
7:1/0/terrain = 0
|
||||
7:1/0/terrains_peering_bit/bottom_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:1/0/terrains_peering_bit/left_side = 0
|
||||
7:1/0/terrains_peering_bit/top_side = 0
|
||||
8:1/0 = 0
|
||||
8:1/0/terrain_set = 0
|
||||
8:1/0/terrain = 0
|
||||
8:1/0/terrains_peering_bit/right_side = 0
|
||||
8:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
8:1/0/terrains_peering_bit/bottom_side = 0
|
||||
8:1/0/terrains_peering_bit/top_side = 0
|
||||
8:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 0
|
||||
9:1/0/terrains_peering_bit/right_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:1/0/terrains_peering_bit/left_side = 0
|
||||
9:1/0/terrains_peering_bit/top_side = 0
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
11:1/0 = 0
|
||||
11:1/0/terrain_set = 0
|
||||
11:1/0/terrain = 0
|
||||
11:1/0/terrains_peering_bit/right_side = 0
|
||||
11:1/0/terrains_peering_bit/bottom_side = 0
|
||||
11:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
11:1/0/terrains_peering_bit/left_side = 0
|
||||
11:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
11:1/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0 = 0
|
||||
0:2/0/terrain_set = 0
|
||||
0:2/0/terrain = 0
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
2:2/0 = 0
|
||||
2:2/0/terrain_set = 0
|
||||
2:2/0/terrain = 0
|
||||
2:2/0/terrains_peering_bit/right_side = 0
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
3:2/0 = 0
|
||||
3:2/0/terrain_set = 0
|
||||
3:2/0/terrain = 0
|
||||
3:2/0/terrains_peering_bit/left_side = 0
|
||||
3:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
4:2/0/terrain_set = 0
|
||||
4:2/0/terrain = 0
|
||||
4:2/0/terrains_peering_bit/right_side = 0
|
||||
4:2/0/terrains_peering_bit/bottom_side = 0
|
||||
4:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
5:2/0 = 0
|
||||
5:2/0/terrain_set = 0
|
||||
5:2/0/terrain = 0
|
||||
5:2/0/terrains_peering_bit/right_side = 0
|
||||
5:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
5:2/0/terrains_peering_bit/bottom_side = 0
|
||||
5:2/0/terrains_peering_bit/left_side = 0
|
||||
5:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
5:2/0/terrains_peering_bit/top_side = 0
|
||||
5:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
6:2/0 = 0
|
||||
6:2/0/terrain_set = 0
|
||||
6:2/0/terrain = 0
|
||||
6:2/0/terrains_peering_bit/right_side = 0
|
||||
6:2/0/terrains_peering_bit/bottom_side = 0
|
||||
6:2/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:2/0/terrains_peering_bit/left_side = 0
|
||||
6:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:2/0/terrains_peering_bit/top_side = 0
|
||||
6:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:2/0 = 0
|
||||
7:2/0/terrain_set = 0
|
||||
7:2/0/terrain = 0
|
||||
7:2/0/terrains_peering_bit/bottom_side = 0
|
||||
7:2/0/terrains_peering_bit/left_side = 0
|
||||
7:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:2/0/terrains_peering_bit/top_side = 0
|
||||
8:2/0 = 0
|
||||
8:2/0/terrain_set = 0
|
||||
8:2/0/terrain = 0
|
||||
8:2/0/terrains_peering_bit/right_side = 0
|
||||
8:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
8:2/0/terrains_peering_bit/bottom_side = 0
|
||||
8:2/0/terrains_peering_bit/left_side = 0
|
||||
8:2/0/terrains_peering_bit/top_side = 0
|
||||
8:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:2/0 = 0
|
||||
9:2/0/terrain_set = 0
|
||||
9:2/0/terrain = 0
|
||||
9:2/0/terrains_peering_bit/right_side = 0
|
||||
9:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:2/0/terrains_peering_bit/bottom_side = 0
|
||||
9:2/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:2/0/terrains_peering_bit/left_side = 0
|
||||
9:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:2/0/terrains_peering_bit/top_side = 0
|
||||
9:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:2/0 = 0
|
||||
10:2/0/terrain_set = 0
|
||||
10:2/0/terrain = 0
|
||||
10:2/0/terrains_peering_bit/right_side = 0
|
||||
10:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:2/0/terrains_peering_bit/bottom_side = 0
|
||||
10:2/0/terrains_peering_bit/left_side = 0
|
||||
10:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:2/0/terrains_peering_bit/top_side = 0
|
||||
11:2/0 = 0
|
||||
11:2/0/terrain_set = 0
|
||||
11:2/0/terrain = 0
|
||||
11:2/0/terrains_peering_bit/bottom_side = 0
|
||||
11:2/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
11:2/0/terrains_peering_bit/left_side = 0
|
||||
11:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
11:2/0/terrains_peering_bit/top_side = 0
|
||||
0:3/0 = 0
|
||||
0:3/0/terrain_set = 0
|
||||
0:3/0/terrain = 0
|
||||
1:3/0 = 0
|
||||
1:3/0/terrain_set = 0
|
||||
1:3/0/terrain = 0
|
||||
1:3/0/terrains_peering_bit/right_side = 0
|
||||
2:3/0 = 0
|
||||
2:3/0/terrain_set = 0
|
||||
2:3/0/terrain = 0
|
||||
2:3/0/terrains_peering_bit/right_side = 0
|
||||
2:3/0/terrains_peering_bit/left_side = 0
|
||||
3:3/0 = 0
|
||||
3:3/0/terrain_set = 0
|
||||
3:3/0/terrain = 0
|
||||
3:3/0/terrains_peering_bit/left_side = 0
|
||||
4:3/0 = 0
|
||||
4:3/0/terrain_set = 0
|
||||
4:3/0/terrain = 0
|
||||
4:3/0/terrains_peering_bit/right_side = 0
|
||||
4:3/0/terrains_peering_bit/bottom_side = 0
|
||||
4:3/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
4:3/0/terrains_peering_bit/left_side = 0
|
||||
4:3/0/terrains_peering_bit/top_side = 0
|
||||
5:3/0 = 0
|
||||
5:3/0/terrain_set = 0
|
||||
5:3/0/terrain = 0
|
||||
5:3/0/terrains_peering_bit/right_side = 0
|
||||
5:3/0/terrains_peering_bit/left_side = 0
|
||||
5:3/0/terrains_peering_bit/top_side = 0
|
||||
5:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
6:3/0 = 0
|
||||
6:3/0/terrain_set = 0
|
||||
6:3/0/terrain = 0
|
||||
6:3/0/terrains_peering_bit/right_side = 0
|
||||
6:3/0/terrains_peering_bit/left_side = 0
|
||||
6:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:3/0/terrains_peering_bit/top_side = 0
|
||||
7:3/0 = 0
|
||||
7:3/0/terrain_set = 0
|
||||
7:3/0/terrain = 0
|
||||
7:3/0/terrains_peering_bit/right_side = 0
|
||||
7:3/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:3/0/terrains_peering_bit/bottom_side = 0
|
||||
7:3/0/terrains_peering_bit/left_side = 0
|
||||
7:3/0/terrains_peering_bit/top_side = 0
|
||||
8:3/0 = 0
|
||||
8:3/0/terrain_set = 0
|
||||
8:3/0/terrain = 0
|
||||
8:3/0/terrains_peering_bit/right_side = 0
|
||||
8:3/0/terrains_peering_bit/top_side = 0
|
||||
8:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:3/0 = 0
|
||||
9:3/0/terrain_set = 0
|
||||
9:3/0/terrain = 0
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/left_side = 0
|
||||
9:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:3/0/terrains_peering_bit/top_side = 0
|
||||
9:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 0
|
||||
10:3/0/terrains_peering_bit/right_side = 0
|
||||
10:3/0/terrains_peering_bit/bottom_side = 0
|
||||
10:3/0/terrains_peering_bit/left_side = 0
|
||||
10:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:3/0/terrains_peering_bit/top_side = 0
|
||||
10:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
11:3/0 = 0
|
||||
11:3/0/terrain_set = 0
|
||||
11:3/0/terrain = 0
|
||||
11:3/0/terrains_peering_bit/left_side = 0
|
||||
11:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
11:3/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[resource]
|
||||
tile_size = Vector2i(32, 32)
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "Walls"
|
||||
terrain_set_0/terrain_0/color = Color(1, 0.301961, 0.329412, 1)
|
||||
sources/1 = SubResource("TileSetAtlasSource_mgef5")
|
70
Readme.md
|
@ -2,74 +2,4 @@
|
|||
|
||||
made for [crocojam-10](https://itch.io/jam/crocojam-10)
|
||||
|
||||
## Limitations
|
||||
|
||||
- Godot 4
|
||||
- Color Pallet ![](https://img.itch.zone/aW1nLzExNzgxODk1LnBuZw==/original/%2FHtjVi.png)
|
||||
- Tile-Based
|
||||
- 2D
|
||||
- pixelArt
|
||||
- Theme: HoppyEaster
|
||||
|
||||
## Mind Map / Ideas to Words and Compositions
|
||||
|
||||
### Hoppy:
|
||||
|
||||
- **Jumping** <- *game mechanic?*
|
||||
- Bunnys
|
||||
- Alcohol
|
||||
|
||||
### Easter:
|
||||
|
||||
- Eggs
|
||||
- Bunnys
|
||||
- Chocolate
|
||||
- Colors/Colorfull
|
||||
- annoying little children
|
||||
- Crucifixion of Jesus
|
||||
- Christianity
|
||||
- Resurrection
|
||||
- Easter baskets
|
||||
|
||||
### Compositions:
|
||||
|
||||
- jumping + Bunnys
|
||||
- eggs + collectables + Colorfull
|
||||
|
||||
### Not so standard Compositions:
|
||||
|
||||
- Resurrection + Bunnys
|
||||
- Easter baskets + Alcohol
|
||||
- annoying little children + Crucifixion
|
||||
- Jumping + Eggs
|
||||
- Colorfull + Crucifixion
|
||||
|
||||
---
|
||||
|
||||
## Actual Game Ideas
|
||||
|
||||
1. ### EasterEgg Puzzle
|
||||
- Puzzle Platformer
|
||||
- EasterBunny Stole the Eggs
|
||||
- Godot Bunny Bosfight
|
||||
- General Puzzles, like solving a maze, rotating cubes or something similar
|
||||
|
||||
2. ### ZombieBunny
|
||||
- 2D Topdown Shooter
|
||||
- Dead Bunny Zombies
|
||||
- Player is Jesus and punches Bunnys with a Kruzefix till they get resurrected
|
||||
- resurrected bunnys are helping with fighting
|
||||
- big bunny bosfight
|
||||
- boss drops big EasterEgg, inside of easter egg are anoying children
|
||||
- EasterEgg Idea: Some toomb stone to jesus graveside, in graviside you find a cake <- *the cake is a lie*
|
||||
|
||||
3. ### Egg Toss Game
|
||||
- Toss and Catch Game
|
||||
- Ball is an EasterEgg
|
||||
- If not cached it breaks
|
||||
- players are Bunnys
|
||||
- *why do you need to toss?*
|
||||
- Easter Egg is A Timebomb
|
||||
- Tiemer resets when Tossed
|
||||
- Colors on Egg show Time till it explods
|
||||
- *Maybe 2 Player mode where the Timer doesnt reset?*
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"]
|
||||
|
||||
[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="1_8lepy"]
|
||||
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource("1_8lepy")
|
||||
cell_quadrant_size = 8
|
||||
collision_visibility_mode = 1
|
||||
format = 2
|
||||
script = ExtResource("2_qvwn8")
|
|
@ -1,35 +0,0 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://ccgpsim5nfxd6"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"]
|
||||
[ext_resource type="Texture2D" uid="uid://c6n0go8l4gaak" path="res://Assets/Sprites/Jesus_Left_Idle.png" id="2_48vut"]
|
||||
[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="3_0at2g"]
|
||||
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource("3_0at2g")
|
||||
cell_quadrant_size = 8
|
||||
collision_visibility_mode = 1
|
||||
format = 2
|
||||
script = ExtResource("4_8st0q")
|
||||
|
||||
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
|
||||
position = Vector2(512, 300)
|
||||
scale = Vector2(0.25, 0.25)
|
||||
script = ExtResource("1_x3102")
|
||||
speed = 80
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"]
|
||||
texture = ExtResource("2_48vut")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="CharacterBody2D"]
|
||||
polygon = PackedVector2Array(16, 32, -14, 32, -14, -22, 16, -22)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="CharacterBody2D"]
|
||||
zoom = Vector2(10, 10)
|
||||
position_smoothing_enabled = true
|
||||
drag_horizontal_enabled = true
|
||||
drag_vertical_enabled = true
|
||||
editor_draw_limits = true
|
||||
editor_draw_drag_margin = true
|
|
@ -1,10 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://da014wltujtna"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dynqs8dq175ty" path="res://Assets/Sprites/bunny_left.png" id="1_m0oli"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="BunnyLeft" type="Sprite2D" parent="."]
|
||||
position = Vector2(582, 355)
|
||||
scale = Vector2(6.25553, 5.92647)
|
||||
texture = ExtResource("1_m0oli")
|
|
@ -1,231 +0,0 @@
|
|||
extends TileMap
|
||||
|
||||
@export var width := 128
|
||||
@export var height := 75
|
||||
@export var fill_percentage := 0.65
|
||||
|
||||
@export var solid_id := 0
|
||||
@export var non_solid_id := 1
|
||||
|
||||
@export var solid_threshold := 7
|
||||
@export var nonsolid_threshold := 4
|
||||
|
||||
@export var start_area_size := 5
|
||||
@export var start_area_corner_size := 2
|
||||
|
||||
@export var cave_gen_iterations := 3
|
||||
@export var cave_mine_size_threshold := 80
|
||||
|
||||
func _ready():
|
||||
var time = generate()
|
||||
print("time for generation: " + str(time))
|
||||
|
||||
pass
|
||||
|
||||
|
||||
func generate() -> float:
|
||||
var start_time = Time.get_unix_time_from_system()
|
||||
|
||||
randomize()
|
||||
fill_random_noise()
|
||||
|
||||
for i in cave_gen_iterations:
|
||||
change_cells_by_neighbor_thresholds()
|
||||
|
||||
set_borders_solid()
|
||||
prepare_player_start_area()
|
||||
connect_caves(get_caves())
|
||||
|
||||
for i in cave_gen_iterations:
|
||||
change_cells_by_neighbor_thresholds()
|
||||
|
||||
set_borders_solid()
|
||||
|
||||
return Time.get_unix_time_from_system() - start_time
|
||||
|
||||
func fill_random_noise():
|
||||
for x in width:
|
||||
for y in height:
|
||||
if randf() < fill_percentage:
|
||||
self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0))
|
||||
else:
|
||||
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0))
|
||||
pass
|
||||
|
||||
func set_borders_solid():
|
||||
for x in width:
|
||||
self.set_cell(0, Vector2i(x,0),solid_id, Vector2i(0, 0))
|
||||
self.set_cell(0, Vector2i(x,height-1),solid_id, Vector2i(0, 0))
|
||||
for y in height:
|
||||
self.set_cell(0, Vector2i(0,y),solid_id, Vector2i(0, 0))
|
||||
self.set_cell(0, Vector2i(width-1,y),solid_id, Vector2i(0, 0))
|
||||
pass
|
||||
|
||||
func prepare_player_start_area():
|
||||
var center = Vector2i(width/2, height/2)
|
||||
for x in range(center.x - start_area_size, center.x + start_area_size):
|
||||
|
||||
# Getting a P factor for the corner "radius" Decission
|
||||
var p := 0
|
||||
if x <= center.x - start_area_size + start_area_corner_size:
|
||||
p = center.x - start_area_size + start_area_corner_size - x
|
||||
if x >= center.x + start_area_size - start_area_corner_size:
|
||||
p = x - ( center.x + start_area_size) + start_area_corner_size + 1
|
||||
var p2 = p
|
||||
|
||||
for y in range(center.y - start_area_size, center.y + start_area_size):
|
||||
# Decide if the tile is part of the Corner or not
|
||||
if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)):
|
||||
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0))
|
||||
p2 -= 1
|
||||
pass
|
||||
|
||||
func change_cells_by_neighbor_thresholds():
|
||||
for x in range(1, width):
|
||||
for y in range(1, height):
|
||||
# Count Solid Neighbor Cells
|
||||
var count := 0
|
||||
#y-1
|
||||
if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1
|
||||
if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1
|
||||
if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1
|
||||
#y
|
||||
if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1
|
||||
if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1
|
||||
#y+1
|
||||
if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1
|
||||
if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1
|
||||
if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1
|
||||
|
||||
# Check Threshold
|
||||
if count < nonsolid_threshold:
|
||||
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0))
|
||||
if count >= solid_threshold:
|
||||
self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0))
|
||||
pass
|
||||
|
||||
func get_caves() -> Array:
|
||||
# get caves
|
||||
var caves := []
|
||||
|
||||
for x in range (2, width-2):
|
||||
for y in range (2, height-2):
|
||||
if self.get_cell_source_id(0, Vector2i(x, y)) == non_solid_id:
|
||||
flood_fill(x,y, caves)
|
||||
|
||||
for cave in caves:
|
||||
for tile in cave:
|
||||
self.set_cell(0, Vector2i(tile.x,tile.y),non_solid_id, Vector2i(0, 0))
|
||||
return caves
|
||||
|
||||
func flood_fill(tilex, tiley, caves) -> Array:
|
||||
var cave := []
|
||||
var to_fill := [Vector2i(tilex, tiley)]
|
||||
while to_fill:
|
||||
var tile = to_fill.pop_back()
|
||||
|
||||
if !cave.has(tile):
|
||||
cave.append(tile)
|
||||
self.set_cell(0, Vector2i(tile.x,tile.y),solid_id, Vector2i(0, 0))
|
||||
|
||||
#check adjacent cells
|
||||
var north = Vector2i(tile.x, tile.y+1)
|
||||
var south = Vector2i(tile.x, tile.y-1)
|
||||
var east = Vector2i(tile.x+1, tile.y)
|
||||
var west = Vector2i(tile.x-1, tile.y)
|
||||
|
||||
for dir in [north,south,east,west]:
|
||||
if self.get_cell_source_id(0, dir) == non_solid_id:
|
||||
if !to_fill.has(dir) and !cave.has(dir):
|
||||
to_fill.append(dir)
|
||||
if cave.size() >= cave_mine_size_threshold:
|
||||
caves.append(cave)
|
||||
return caves
|
||||
|
||||
func choose_rand(choices):
|
||||
randomize()
|
||||
|
||||
var rand_index = randi() % choices.size()
|
||||
return choices[rand_index]
|
||||
|
||||
func connect_caves(caves):
|
||||
var prev_cave = null
|
||||
var tunnel_caves = caves.duplicate()
|
||||
|
||||
for cave in tunnel_caves:
|
||||
if prev_cave:
|
||||
var new_point = choose_rand(cave)
|
||||
var prev_point = choose_rand(prev_cave)
|
||||
|
||||
# ensure not the same point
|
||||
if new_point != prev_point:
|
||||
create_tunnel(new_point, prev_point, cave)
|
||||
|
||||
prev_cave = cave
|
||||
pass
|
||||
|
||||
func create_tunnel(point1, point2, cave):
|
||||
randomize() # for randf
|
||||
var max_steps = 500 # so game won't hang if walk fails
|
||||
var steps = 0
|
||||
var drunk_x = point2[0]
|
||||
var drunk_y = point2[1]
|
||||
|
||||
while steps < max_steps and !cave.has(Vector2i(drunk_x, drunk_y)):
|
||||
steps += 1
|
||||
|
||||
# set initial dir weights
|
||||
var n = 1.0
|
||||
var s = 1.0
|
||||
var e = 1.0
|
||||
var w = 1.0
|
||||
var weight = 1
|
||||
|
||||
# weight the random walk against edges
|
||||
if drunk_x < point1.x:
|
||||
e += weight
|
||||
elif drunk_x > point1.x:
|
||||
w += weight
|
||||
if drunk_y < point1.y:
|
||||
s += weight
|
||||
elif drunk_y > point1.y:
|
||||
n += weight
|
||||
|
||||
# normalize probabilities so they form a range from 0 to 1
|
||||
var total = n + s + e + w
|
||||
n /= total
|
||||
s /= total
|
||||
e /= total
|
||||
w /= total
|
||||
|
||||
var dx
|
||||
var dy
|
||||
|
||||
# choose_rand the direction
|
||||
var choice = randf()
|
||||
|
||||
if 0 <= choice and choice < n:
|
||||
dx = 0
|
||||
dy = -1
|
||||
elif n <= choice and choice < (n+s):
|
||||
dx = 0
|
||||
dy = 1
|
||||
elif (n+s) <= choice and choice < (n+s+e):
|
||||
dx = 1
|
||||
dy = 0
|
||||
else:
|
||||
dx = -1
|
||||
dy = 0
|
||||
|
||||
# ensure not to walk past edge of map
|
||||
if (2 < drunk_x + dx and drunk_x + dx < width-2) and \
|
||||
(2 < drunk_y + dy and drunk_y + dy < height-2):
|
||||
drunk_x += dx
|
||||
drunk_y += dy
|
||||
|
||||
if self.get_cell_source_id(0, Vector2i(drunk_x, drunk_y)) == solid_id:
|
||||
self.set_cell(0, Vector2i(drunk_x, drunk_y),non_solid_id, Vector2i(0, 0))
|
||||
#make tunnel wider
|
||||
self.set_cell(0, Vector2i(drunk_x+1, drunk_y),non_solid_id, Vector2i(0, 0))
|
||||
self.set_cell(0, Vector2i(drunk_x+1, drunk_y+1),non_solid_id, Vector2i(0, 0))
|
||||
pass
|
|
@ -1,24 +0,0 @@
|
|||
extends CharacterBody2D
|
||||
|
||||
@export var speed = 100
|
||||
@export_range(0, 1) var damping_factor := 0.6
|
||||
|
||||
func get_move_vector():
|
||||
var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized()
|
||||
return input_direction
|
||||
|
||||
func move_player(delta : float):
|
||||
if get_move_vector() == Vector2.ZERO:
|
||||
# Damp Players Velocity if no Input
|
||||
self.velocity = self.velocity * (1 - min(1, damping_factor * 60 * delta))
|
||||
else:
|
||||
# Set Players Velocity to the Input Direction in the Players Speed
|
||||
self.velocity = get_move_vector() * speed * delta * 60
|
||||
|
||||
# Update The Players Physics Calculations
|
||||
self.move_and_slide()
|
||||
pass
|
||||
|
||||
func _physics_process(delta : float):
|
||||
move_player(delta)
|
||||
pass
|
|
@ -1,145 +0,0 @@
|
|||
[preset.0]
|
||||
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../Downloads/HoppyEaster.html"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Linux/X11"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_script=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_script=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
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=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
|
@ -11,51 +11,10 @@ config_version=5
|
|||
[application]
|
||||
|
||||
config/name="HoppyEaster"
|
||||
run/main_scene="res://Scenes/Movement.tscn"
|
||||
config/features=PackedStringArray("4.0", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[dotnet]
|
||||
|
||||
project/assembly_name="HoppyEaster"
|
||||
|
||||
[input]
|
||||
|
||||
move_left={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
move_right={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
move_up={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
move_down={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
2d_physics/layer_1="Map"
|
||||
|
||||
[rendering]
|
||||
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.mobile="gl_compatibility"
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
|
|