Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added microjogos/2025S1/projeto_release_gamuto/capa.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 microjogos/2025S1/projeto_release_gamuto/capa.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://d3lptt3hr3axo"
path="res://.godot/imported/capa.png-1dafdd21cdada2011f8c60e31731b97b.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://microjogos/2025S1/projeto_release_gamuto/capa.png"
dest_files=["res://.godot/imported/capa.png-1dafdd21cdada2011f8c60e31731b97b.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 not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/cenas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Coloque suas cenas aqui! A cena que vai rodar no jogo deve necessariamente ser a Main.tscn

74 changes: 74 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/goal.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[gd_scene load_steps=11 format=3 uid="uid://mymft1gnwhxt"]

[ext_resource type="Script" uid="uid://bs13go1imyc8m" path="res://microjogos/2025S1/projeto_release_gamuto/cenas/scripts/goal.gd" id="1_m3jsi"]
[ext_resource type="Texture2D" uid="uid://ipfqy8wn1ck6" path="res://microjogos/2025S1/projeto_release_gamuto/recursos/imagens/teleport_128.png" id="1_r478g"]
[ext_resource type="AudioStream" uid="uid://bg7rxdgbjp6qo" path="res://microjogos/2025S1/projeto_release_gamuto/recursos/sons/freesound_community-item-39146.wav" id="3_aipgo"]

[sub_resource type="AtlasTexture" id="AtlasTexture_m3jsi"]
atlas = ExtResource("1_r478g")
region = Rect2(0, 64, 128, 64)

[sub_resource type="AtlasTexture" id="AtlasTexture_aipgo"]
atlas = ExtResource("1_r478g")
region = Rect2(0, 128, 128, 64)

[sub_resource type="AtlasTexture" id="AtlasTexture_rp0ai"]
atlas = ExtResource("1_r478g")
region = Rect2(0, 192, 128, 64)

[sub_resource type="AtlasTexture" id="AtlasTexture_7vdai"]
atlas = ExtResource("1_r478g")
region = Rect2(0, 256, 128, 64)

[sub_resource type="AtlasTexture" id="AtlasTexture_g2akd"]
atlas = ExtResource("1_r478g")
region = Rect2(0, 0, 128, 64)

[sub_resource type="SpriteFrames" id="SpriteFrames_vakfp"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_m3jsi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aipgo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rp0ai")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7vdai")
}],
"loop": true,
"name": &"activate",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_g2akd")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_7f6o5"]
size = Vector2(90, 49)

[node name="Goal" type="Area2D"]
script = ExtResource("1_m3jsi")

[node name="Sprite2D" type="AnimatedSprite2D" parent="."]
texture_filter = 3
sprite_frames = SubResource("SpriteFrames_vakfp")
autoplay = "default"
frame_progress = 0.763123

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -1.5)
shape = SubResource("RectangleShape2D_7f6o5")

[node name="Enter" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_aipgo")

[connection signal="body_entered" from="." to="." method="_on_body_entered"]
56 changes: 56 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/main.tscn

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/obstacle.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://bd3b4j7j2dxxn"]

[ext_resource type="Texture2D" uid="uid://caj7xuxpao6ps" path="res://microjogos/2025S1/projeto_release_gamuto/recursos/imagens/vinhaTile2.png" id="1_0cr48"]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_as30t"]
size = Vector2(60, 60)

[node name="Obstacle" type="StaticBody2D"]
collision_mask = 2

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_as30t")

[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 3
texture = ExtResource("1_0cr48")
26 changes: 26 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/player.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=3 uid="uid://cukuda88govik"]

[ext_resource type="Texture2D" uid="uid://c52flo43rcjmk" path="res://microjogos/2025S1/projeto_release_gamuto/recursos/imagens/gamuto_spritesheet.png" id="2_gkev1"]
[ext_resource type="Script" uid="uid://ct4d84e2jx1ip" path="res://microjogos/2025S1/projeto_release_gamuto/cenas/scripts/player.gd" id="2_x5r0a"]

[sub_resource type="CircleShape2D" id="CircleShape2D_x5r0a"]
radius = 30.0167

[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("collision_timer", "sprite")]
collision_layer = 3
script = ExtResource("2_x5r0a")
collision_timer = NodePath("Timer")
sprite = NodePath("Sprite2D")

[node name="Sprite2D" type="Sprite2D" parent="."]
scale = Vector2(0.06, 0.06)
texture = ExtResource("2_gkev1")
hframes = 3

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_x5r0a")

[node name="Timer" type="Timer" parent="."]
wait_time = 0.12

[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
extends Area2D


func _on_body_entered(body: Node2D) -> void:
$Sprite2D.play("activate")
body.queue_free()
$Enter.play()
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bs13go1imyc8m
64 changes: 64 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/scripts/main.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
extends Node2D
# thorn https://opengameart.org/content/vine-with-thorns
# teleporter https://opengameart.org/content/teleporter-circle

@export var player_scene: PackedScene
# Declaração dos sinais win e lose

signal win
signal lose

# Estas constantes são usadas para determinar o tamanho da tela do seu jogo. Por padrão, definem uma
# tela 1920x1080, que é padrão para monitores full HD. Caso você queira uma resolução menor para
# atingir uma estética mais pixelada, você pode mudar estes números para qualquer outra resolução
# 16:9
const WIDTH = 1920
const HEIGHT = 1080

# --------------------------------------------------------------------------------------------------
# FUNÇÕES PADRÃO
# --------------------------------------------------------------------------------------------------

# Esta função é chamada assim que esta cena é instanciada, ou seja, assim que seu minigame inicia
func _ready():
var start_point = Vector2(500,250)
var start_radius = 75
# Players
var num_players = 3
for player in num_players:
var player_instance = player_scene.instantiate()
var player_spawn_point := Vector2(
randi_range(start_point.x-start_radius,start_point.x+start_radius),
randi_range(start_point.y-start_radius,start_point.y+start_radius)
)
while start_point.distance_to(player_spawn_point) > start_radius:
player_spawn_point = Vector2(
randi_range(start_point.x-start_radius,start_point.x+start_radius),
randi_range(start_point.y-start_radius,start_point.y+start_radius)
)
player_instance.position = player_spawn_point
player_instance.rotation = PI/2
add_child(player_instance)

# --------------------------------------------------------------------------------------------------
# CONDIÇÕES DE VITÓRIA
# --------------------------------------------------------------------------------------------------
# Quando o jogo começa, ela assume que o jogador não conseguiu vencer o jogo ainda, ou seja, se não
# acontecer nada, o jogador vai perder o jogo. A verificação se o jogador venceu o minigame é feita
# com base na emissão dos sinais "win" e "lose". Se "win" foi o último sinal emitido, o jogador
# vencerá o jogo, e se "lose" foi o último sinal emitido ou nenhum sinal foi emitido, o jogador
# perderá o jogo


# Chame esta função para registrar que o jogador venceu o jogo
func register_win():
emit_signal("win")


# Chame esta função para registrar que o jogador perdeu o jogo
func register_lose():
emit_signal("lose")


func _on_goal_body_entered(body: Node2D) -> void:
register_win()
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://ciwuu88mnfv0m
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
extends MultiMeshInstance2D
@export var obstacle : PackedScene
@export var path : Path2D
@export var path_radius = 150
@export var colision_layer : StaticBody2D
const WIDTH = 1920
const HEIGHT = 1080

func _ready() -> void:
var shape = RectangleShape2D.new()
shape.size = Vector2(60, 60)
for i in multimesh.instance_count:
var location = Vector2(randi_range(0,WIDTH),randi_range(0,HEIGHT))
var distance_to_path = path.curve.get_closest_point(location).distance_to(location)
while distance_to_path < path_radius:
location = Vector2(randi_range(0,WIDTH),randi_range(0,HEIGHT))
distance_to_path = path.curve.get_closest_point(location).distance_to(location)
var rot = randf() * PI
var transf = Transform2D(0, location).rotated_local(rot)
multimesh.set_instance_transform_2d(i, transf)
var rect_col = CollisionShape2D.new()
rect_col.shape = shape
rect_col.position = location
rect_col.rotation = rot
colision_layer.add_child(rect_col)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bjj7fp5mxyq1r
42 changes: 42 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/cenas/scripts/player.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
extends CharacterBody2D

@export var collision_timer : Timer
@export var sprite : Sprite2D

@export var speed = 10
@export var angular_speed = PI
@export var up_counter = 0

var life := 30

var status = "OK"


func _on_timer_timeout() -> void:
status = "OK"
sprite.frame = 0

func _process(delta):
var direction = 0
if status == "OK":
if Input.is_action_pressed("baixo"):
velocity *= 0.9
direction = Input.get_axis("esquerda", "direita")
if Input.is_action_pressed("cima") or Input.is_action_pressed("acao"):
up_counter = min(60, up_counter+1)
velocity = Vector2.UP.rotated(rotation) * speed * up_counter
rotation += angular_speed * direction * delta

var collision = move_and_collide(velocity * delta)
if collision:
if status == "BLOCKED":
sprite.frame = 2
else:
sprite.frame = 1
velocity = velocity.bounce(collision.get_normal()) * 0.5
if status == "OK":
life -= 3
if life <= 0:
queue_free()
status = "BLOCKED"
collision_timer.start()
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://ct4d84e2jx1ip
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coloque seus scripts aqui!
27 changes: 27 additions & 0 deletions microjogos/2025S1/projeto_release_gamuto/microgame.tres
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[gd_resource type="Resource" script_class="MicrogameAsset" load_steps=4 format=3 uid="uid://xb2s14l0sc2o"]

[ext_resource type="Script" uid="uid://bus1nknp6xsc0" path="res://principal/microgame_asset.gd" id="1_eo8ap"]
[ext_resource type="Texture2D" uid="uid://d3lptt3hr3axo" path="res://microjogos/2025S1/projeto_release_gamuto/capa.png" id="1_gpkrq"]
[ext_resource type="PackedScene" uid="uid://be3qp7eeie8jc" path="res://microjogos/2025S1/projeto_release_gamuto/cenas/main.tscn" id="2_q8v4x"]

[resource]
script = ExtResource("1_eo8ap")
cover = ExtResource("1_gpkrq")
title_pt = &"Libera os gamutos!"
title_en = &"Free the gamutos!"
credits_pt = "Criado por: Darlinne Palo Soto
Assets:
- https://opengameart.org/content/vine-with-thorns
- https://opengameart.org/content/teleporter-circle
- https://pixabay.com/sound-effects/musical-jungle-sound-effect-249042/
https://pixabay.com/sound-effects/musical-item-39146/"
credits_en = "Made by: Darlinne Palo Soto
Assets:
- https://opengameart.org/content/vine-with-thorns
- https://opengameart.org/content/teleporter-circle
- https://pixabay.com/sound-effects/musical-jungle-sound-effect-249042/
https://pixabay.com/sound-effects/musical-item-39146/"
start_message_pt = &"FUJA!"
start_message_en = &"ESCAPE!"
main_scene = ExtResource("2_q8v4x")
difficulty = 0
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://c52flo43rcjmk"
path="res://.godot/imported/gamuto_spritesheet.png-b39fda42a781cdb24107a761a8965020.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://microjogos/2025S1/projeto_release_gamuto/recursos/imagens/gamuto_spritesheet.png"
dest_files=["res://.godot/imported/gamuto_spritesheet.png-b39fda42a781cdb24107a761a8965020.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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coloque suas imagens aqui!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading