Skip to content

Commit

Permalink
add game files
Browse files Browse the repository at this point in the history
  • Loading branch information
adsorptionenthalpy committed Nov 18, 2024
1 parent c503d41 commit 31db577
Show file tree
Hide file tree
Showing 77 changed files with 4,446 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Godot 4+ specific ignores
game/chainforce_alpha/.godot/
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
# ChainForce
# Chain Force - A Web3 SHMUP style MOBA

## Early Gameplay Screenshots
<br>
<img src="./images/main.png" width="800" alt="Main Menu"/><br>
<img src="./images/gameplay1.png" width="800" alt="Gameplay1"/><br>
<img src="./images/gameplay2.png" width="800" alt="Gameplay2"/><br>
<img src="./images/gameplay3.png" width="800" alt="Gameplay3"/><br>
<img src="./images/gameplay4.png" width="800" alt="Gameplay4"/><br>
Binary file added game/Particles/circle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions game/Particles/circle.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://c3ucu6nuqrjco"
path="res://.godot/imported/circle.png-5ecc6da81d00758911aa81a46b9d4aa4.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://Particles/circle.png"
dest_files=["res://.godot/imported/circle.png-5ecc6da81d00758911aa81a46b9d4aa4.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
Binary file added game/Particles/circle_02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions game/Particles/circle_02.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://r83kbyxmd8pn"
path="res://.godot/imported/circle_02.png-74b4397222001a148543f8eb5c6ba5ea.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://Particles/circle_02.png"
dest_files=["res://.godot/imported/circle_02.png-74b4397222001a148543f8eb5c6ba5ea.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
Binary file added game/SFX/LaserPew.wav
Binary file not shown.
24 changes: 24 additions & 0 deletions game/SFX/LaserPew.wav.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[remap]

importer="wav"
type="AudioStreamWAV"
uid="uid://dgqygq2psqrf4"
path="res://.godot/imported/LaserPew.wav-0f59d5ad230bd98bef7e4f989f9e0d29.sample"

[deps]

source_file="res://SFX/LaserPew.wav"
dest_files=["res://.godot/imported/LaserPew.wav-0f59d5ad230bd98bef7e4f989f9e0d29.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=0
Binary file added game/SFX/MetalImpact.mp3
Binary file not shown.
19 changes: 19 additions & 0 deletions game/SFX/MetalImpact.mp3.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[remap]

importer="mp3"
type="AudioStreamMP3"
uid="uid://8xx326lc6q4q"
path="res://.godot/imported/MetalImpact.mp3-526a53daa8073083eebd7a98f5bcc37e.mp3str"

[deps]

source_file="res://SFX/MetalImpact.mp3"
dest_files=["res://.godot/imported/MetalImpact.mp3-526a53daa8073083eebd7a98f5bcc37e.mp3str"]

[params]

loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
Binary file added game/SFX/explosion.mp3
Binary file not shown.
19 changes: 19 additions & 0 deletions game/SFX/explosion.mp3.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[remap]

importer="mp3"
type="AudioStreamMP3"
uid="uid://r601hvuhtm56"
path="res://.godot/imported/explosion.mp3-f987c0456b9e8e571757a5de4332adb1.mp3str"

[deps]

source_file="res://SFX/explosion.mp3"
dest_files=["res://.godot/imported/explosion.mp3-f987c0456b9e8e571757a5de4332adb1.mp3str"]

[params]

loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
Binary file added game/Scenes/Background/SpaceBackGround_0.webp
Binary file not shown.
34 changes: 34 additions & 0 deletions game/Scenes/Background/SpaceBackGround_0.webp.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://cwjtfio5v7s50"
path="res://.godot/imported/SpaceBackGround_0.webp-4c52d4f5cf6ebbedcc214d3ca4d19616.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://Scenes/Background/SpaceBackGround_0.webp"
dest_files=["res://.godot/imported/SpaceBackGround_0.webp-4c52d4f5cf6ebbedcc214d3ca4d19616.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
37 changes: 37 additions & 0 deletions game/Scenes/Background/parallax_background.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[gd_scene load_steps=2 format=3 uid="uid://djqk7tqcy47fr"]

[ext_resource type="Texture2D" uid="uid://cwjtfio5v7s50" path="res://Scenes/Background/SpaceBackGround_0.webp" id="1_fpees"]

[node name="ParallaxBackground" type="ParallaxBackground"]

[node name="ParallaxLayer" type="ParallaxLayer" parent="."]
modulate = Color(1, 1, 1, 0.392157)
motion_scale = Vector2(0.15, 0.15)
motion_mirroring = Vector2(3840, 2160)

[node name="Sprite2D" type="Sprite2D" parent="ParallaxLayer"]
scale = Vector2(2, 2)
texture = ExtResource("1_fpees")
centered = false
flip_h = true

[node name="ParallaxLayer2" type="ParallaxLayer" parent="."]
modulate = Color(1, 1, 1, 0.294118)
motion_scale = Vector2(0.1, 0.1)
motion_mirroring = Vector2(3840, 2160)

[node name="Sprite2D" type="Sprite2D" parent="ParallaxLayer2"]
scale = Vector2(2, 2)
texture = ExtResource("1_fpees")
centered = false

[node name="ParallaxLayer3" type="ParallaxLayer" parent="."]
modulate = Color(1, 1, 1, 0.0784314)
motion_scale = Vector2(0.04, 0.04)
motion_mirroring = Vector2(3840, 2160)

[node name="Sprite2D" type="Sprite2D" parent="ParallaxLayer3"]
scale = Vector2(2, 2)
texture = ExtResource("1_fpees")
centered = false
flip_v = true
48 changes: 48 additions & 0 deletions game/Scenes/Base/base.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
extends StaticBody2D
class_name Base

@export var win_lose_screen: PackedScene
@export var enemy_ship: PackedScene

@export var hp: int = 20 :
set(val):
hp = val
if is_inside_tree():
var tween: Tween = create_tween()
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_CUBIC)
tween.tween_property(self, "modulate", Color.WHITE, 0.5).from(Color(1.3, 1.3, 1.3))
if hp <= 0:
die()

func _ready() -> void:
if get_node_or_null("SpawnShipTimer") != null:
_on_spawn_ship_timer_timeout()

func die():
$Polygon2D.visible = false
$CollisionPolygon2D.set_deferred("disabled", true)

$ExplosionParticles.emitting = true
$ExplosionSFX.play()

var camera: Camera2D = get_tree().get_first_node_in_group("camera")
camera.process_mode = Node.PROCESS_MODE_ALWAYS
process_mode = Node.PROCESS_MODE_ALWAYS

get_tree().paused = true
var tween: Tween = create_tween()
tween.set_parallel(true)

tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_CUBIC)
tween.tween_property(camera, "global_position", global_position, 1.5)
tween.tween_property(camera, "zoom", camera.zoom * 0.75, 5)

await get_tree().create_timer(1.5).timeout
# The animation player sets the size, this warning isn't important.
add_child(win_lose_screen.instantiate())


func _on_spawn_ship_timer_timeout() -> void:
var spawning_ship: Node2D = enemy_ship.instantiate()
spawning_ship.position = position + Vector2(0, -700)
add_child(spawning_ship)
52 changes: 52 additions & 0 deletions game/Scenes/Base/base.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
[gd_scene load_steps=7 format=3 uid="uid://d2hkbk2gop8pt"]

[ext_resource type="Script" path="res://Scenes/Base/base.gd" id="1_2heg6"]
[ext_resource type="AudioStream" uid="uid://r601hvuhtm56" path="res://SFX/Explosion.mp3" id="5_o8etx"]
[ext_resource type="Texture2D" uid="uid://c3ucu6nuqrjco" path="res://Particles/circle.png" id="6_lt4i3"]

[sub_resource type="Curve" id="Curve_l8oyy"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2

[sub_resource type="CurveTexture" id="CurveTexture_rf0vo"]
curve = SubResource("Curve_l8oyy")

[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_li2gn"]
particle_flag_disable_z = true
emission_shape_scale = Vector3(15, 10, 1)
emission_shape = 1
emission_sphere_radius = 1.0
direction = Vector3(1, 1, 0)
spread = 180.0
initial_velocity_min = 150.0
initial_velocity_max = 300.0
gravity = Vector3(0, 0, 0)
scale_min = 1.5
scale_max = 2.0
scale_curve = SubResource("CurveTexture_rf0vo")

[node name="Base" type="StaticBody2D" groups=["base"]]
script = ExtResource("1_2heg6")
hp = 150

[node name="Polygon2D" type="Polygon2D" parent="."]
scale = Vector2(2, 2)
polygon = PackedVector2Array(0, -128, 82, 0, 0, 128, -82, 0)

[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(0, -256, 164, 0, 0, 256, -164, 0)

[node name="ExplosionParticles" type="GPUParticles2D" parent="."]
emitting = false
amount = 100
process_material = SubResource("ParticleProcessMaterial_li2gn")
texture = ExtResource("6_lt4i3")
lifetime = 4.0
one_shot = true
explosiveness = 0.5
visibility_rect = Rect2(-1325.24, -1183.63, 2646.86, 2476.58)

[node name="ExplosionSFX" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("5_o8etx")
pitch_scale = 0.75
max_distance = 20000.0
23 changes: 23 additions & 0 deletions game/Scenes/Base/enemy_base.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://csnmk1ttegadm"]

[ext_resource type="PackedScene" uid="uid://d2hkbk2gop8pt" path="res://Scenes/Base/base.tscn" id="1_x5g5c"]
[ext_resource type="PackedScene" uid="uid://bsoolhrholh0c" path="res://Scenes/GUI/victory_screen.tscn" id="2_cdwil"]
[ext_resource type="PackedScene" uid="uid://djjoakwp0eej" path="res://Scenes/Enemy/enemy_ship.tscn" id="3_n857x"]

[node name="EnemyBase" groups=["enemy"] instance=ExtResource("1_x5g5c")]
collision_layer = 4
collision_mask = 2
win_lose_screen = ExtResource("2_cdwil")
enemy_ship = ExtResource("3_n857x")

[node name="Polygon2D" parent="." index="0"]
color = Color(1.5, 0.2, 0, 1)

[node name="ExplosionParticles" parent="." index="2"]
self_modulate = Color(1.5, 0.2, 0, 1)

[node name="SpawnShipTimer" type="Timer" parent="." index="4"]
wait_time = 30.0
autostart = true

[connection signal="timeout" from="SpawnShipTimer" to="." method="_on_spawn_ship_timer_timeout"]
15 changes: 15 additions & 0 deletions game/Scenes/Base/friendly_base.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://cd3uxmj2xapgi"]

[ext_resource type="PackedScene" uid="uid://d2hkbk2gop8pt" path="res://Scenes/Base/base.tscn" id="1_m4nix"]
[ext_resource type="PackedScene" uid="uid://8undwloj2xsf" path="res://Scenes/GUI/defeat_screen.tscn" id="2_f51oy"]

[node name="FriendlyBase" groups=["friendly"] instance=ExtResource("1_m4nix")]
collision_layer = 2
collision_mask = 4
win_lose_screen = ExtResource("2_f51oy")

[node name="Polygon2D" parent="." index="0"]
color = Color(0, 0.4, 1.6, 1)

[node name="ExplosionParticles" parent="." index="2"]
self_modulate = Color(0, 0.4, 1.6, 1)
Loading

0 comments on commit 31db577

Please sign in to comment.