Browse Source

added movement, tilemap, basic picking up of dots & powers

Lucas 1 year ago
commit
2cda4f414f

+ 2 - 0
.gitattributes

@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+# Godot 4+ specific ignores
+.godot/

BIN
Arcade - Pac-Man - General Sprites.png


+ 34 - 0
Arcade - Pac-Man - General Sprites.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dweafaari4yb"
+path="res://.godot/imported/Arcade - Pac-Man - General Sprites.png-f42647bde3a274b568599dfff7e0e3d4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Arcade - Pac-Man - General Sprites.png"
+dest_files=["res://.godot/imported/Arcade - Pac-Man - General Sprites.png-f42647bde3a274b568599dfff7e0e3d4.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

BIN
Emulogic-zrEw.ttf


+ 33 - 0
Emulogic-zrEw.ttf.import

@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c5sox0jlcecck"
+path="res://.godot/imported/Emulogic-zrEw.ttf-b483850a3baeb7cbd4750332c4ca5481.fontdata"
+
+[deps]
+
+source_file="res://Emulogic-zrEw.ttf"
+dest_files=["res://.godot/imported/Emulogic-zrEw.ttf-b483850a3baeb7cbd4750332c4ca5481.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}

+ 13 - 0
Game.gd

@@ -0,0 +1,13 @@
+extends Node2D
+
+var level: int = 0
+enum {READY, PLAYING, GAMEOVER}
+var status = READY
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+	pass # Replace with function body.
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+	pass

+ 106 - 0
Pacman.gd

@@ -0,0 +1,106 @@
+class_name Pacman
+extends AnimatedSprite2D
+
+@export var tileset: PacTiles
+
+const UP := Vector2(0,-1)
+const DOWN := Vector2(0,1)
+const LEFT := Vector2(-1,0)
+const RIGHT := Vector2(1,0)
+#the direction that the player has chosen
+var direction: Vector2 = LEFT
+# the direction pacman is traveling in
+var currentDirection: Vector2 = LEFT
+var currentTile: Vector2
+
+var speed: float = 88
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+	autoplay = "default"
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+	currentTile.x = int(position.x / 8)
+	currentTile.y = int(position.y / 8)
+	
+	#print(getCurrentTile().isPacmanIntersection)
+	
+	# tile trail for debugging
+	#getCurrentTile().texture = load("res://white.png")
+	
+	var currentTileRef: Tile = getCurrentTile()
+	
+	if currentTileRef.hasBite:
+		currentTileRef.hasBite = false
+		eatBite()
+	
+	if currentTileRef.hasPower:
+		currentTileRef.hasPower = false
+		eatPower()
+	
+	if currentDirection.x == direction.x:
+		currentDirection = direction
+	if currentDirection.y == direction.y:
+		currentDirection = direction
+	
+	var nextTile: Tile = getTileByVector(currentTile+currentDirection)
+	var chosenNextTile: Tile = getTileByVector(currentTile+direction)
+	
+	if !chosenNextTile.isWall && isTouching(nextTile):
+		currentDirection = direction
+	
+	match currentDirection:
+		UP:
+			rotation = deg_to_rad(270)
+		DOWN:
+			rotation = deg_to_rad(90)
+		LEFT:
+			rotation = deg_to_rad(180)
+		RIGHT:
+			rotation = deg_to_rad(0)
+	print(rotation)
+	
+	if nextTile.isWall && isTouching(nextTile):
+		position=position
+		pause()
+	else:
+		position += currentDirection * speed * delta
+		play()
+
+func _unhandled_key_input(event):
+	if event.is_action_pressed("ui_up"):
+		direction = UP
+	if event.is_action_pressed("ui_down"):
+		direction = DOWN
+	if event.is_action_pressed("ui_left"):
+		direction = LEFT
+	if event.is_action_pressed("ui_right"):
+		direction = RIGHT
+
+func getCurrentTile() -> Tile:
+	return tileset.tiles[currentTile.y][currentTile.x]
+
+func getTile(x: int,y: int) -> Tile:
+	return tileset.tiles[y][x]
+
+func getTileByVector(vector: Vector2) -> Tile:
+	return tileset.tiles[vector.y][vector.x]
+
+func isTouching(tile: Tile):
+	var xDifference = abs(tile.global_position.x - position.x)
+	var yDifference = abs(tile.global_position.y - position.y)
+	
+	if xDifference >= 8 && xDifference <= 9:
+		return true
+	if yDifference >= 8 && yDifference <= 9:
+		return true
+	
+	return false
+
+func eatBite():
+	pass
+
+func eatPower():
+	pass

+ 12 - 0
Sprite2D.gd

@@ -0,0 +1,12 @@
+class_name PacTile
+extends Sprite2D
+
+var gridPosition : Vector2
+
+func _init(gridPosition : Vector2, type: int):
+	self.gridPosition = gridPosition
+	match type:
+		0:
+			pass
+		1:
+			pass

+ 45 - 0
Tile.gd

@@ -0,0 +1,45 @@
+class_name Tile
+extends Sprite2D
+
+var biteSprite := preload("res://pacbiite.png")
+var powerSprite := preload("res://pacpower.png")
+
+var hasBite: bool:
+	set (val):
+		hasBite = val
+		updateMe()
+var hasPower: bool:
+	set (val):
+		hasPower = val
+		updateMe()
+var isWall: bool:
+	set (val):
+		isWall = val
+		updateMe()
+var isPacmanIntersection: bool:
+	set (val):
+		isPacmanIntersection = val
+		updateMe()
+var isGhostIntersection: bool:
+	set (val):
+		isGhostIntersection = val
+		updateMe()
+
+func _init(hb:bool, hp:bool, wall:bool, pint:bool, gint:bool):
+	hasBite = hb
+	hasPower = hp
+	isWall = wall
+	isPacmanIntersection = pint
+	isGhostIntersection = gint
+
+func updateMe():
+	if hasBite:
+		texture = biteSprite
+	elif (!hasBite):
+		texture = Texture2D.new()
+	
+	if hasPower:
+		texture = powerSprite
+	elif (!hasPower && !hasBite):
+		texture = Texture2D.new()
+

+ 68 - 0
Tiles.gd

@@ -0,0 +1,68 @@
+@tool
+class_name PacTiles
+extends Node2D
+
+var map = [
+	"############################",
+	"#i....i.....i##i.....i....i#",
+	"#.####.#####.##.#####.####.#",
+	"#p####.#####.##.#####.####p#",
+	"#.####.#####.##.#####.####.#",
+	"#i....i..i..i..i..i..i....i#",
+	"#.####.##.########.##.####.#",
+	"#.####.##.########.##.####.#",
+	"#i....i##i..i##i..i##i....i#",
+	"######.##### ## #####.######",
+	"######.##### ## #####.######",
+	"######.##I  IGGI  I##.######",
+	"######.## ###  ### ##.######",
+	"######.## #IIIIII# ##.######",
+	"      i  I#IIIIII#I  i      ",
+	"######.## #IIIIII# ##.######",
+	"######.## ######## ##.######",
+	"######.##I        I##.######",
+	"######.## ######## ##.######",
+	"######.## ######## ##.######",
+	"#i....i..i..i##i..i..i....i#",
+	"#.####.#####.##.#####.####.#",
+	"#.####.#####.##.#####.####.#",
+	"#P.i##i..i..i  i..i..i##i.P#",
+	"###.##.##.########.##.##.###",
+	"###.##.##.########.##.##.###",
+	"#i.i..i##i..i##i..i##i..i.i#",
+	"#.##########.##.##########.#",
+	"#.##########.##.##########.#",
+	"#i..........i..i..........i#",
+	"############################"
+]
+
+var tiles = []
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+	for i in range(len(map)):
+		var row = []
+		for char in range(len(map[i])):
+			var newTile: Tile
+			match map[i][char]:
+				"#":
+					newTile = Tile.new(false,false,true,false,false)
+				" ":
+					newTile = Tile.new(false,false,false,false,false)
+				".":
+					newTile = Tile.new(true,false,false,false,false)
+				"P":
+					newTile = Tile.new(false,true,false,true,true)
+				"G":
+					newTile = Tile.new(false,false,false,false,true)
+				"p":
+					newTile = Tile.new(false,true,false,false,false)
+				"I":
+					newTile = Tile.new(false,false,false,true,true)
+				"i":
+					newTile = Tile.new(true,false,false,true,true)
+			newTile.position.x = char * 8
+			newTile.position.y = i * 8
+			row.append(newTile)
+			add_child(newTile)
+		tiles.append(row)

+ 1 - 0
icon.svg

@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>

+ 37 - 0
icon.svg.import

@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qpv3qong1b2y"
+path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.svg"
+dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false

BIN
mapblue.aseprite


BIN
mapblue.png


+ 34 - 0
mapblue.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b80gqocq2dmyj"
+path="res://.godot/imported/mapblue.png-3acb46f2d5f9f05cc901f1848fc63ad3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://mapblue.png"
+dest_files=["res://.godot/imported/mapblue.png-3acb46f2d5f9f05cc901f1848fc63ad3.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

BIN
mapwhite.aseprite


BIN
mapwhite.png


+ 34 - 0
mapwhite.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4eeblyr1ff7u"
+path="res://.godot/imported/mapwhite.png-48dcde467b8f3b32158828a887934d1d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://mapwhite.png"
+dest_files=["res://.godot/imported/mapwhite.png-48dcde467b8f3b32158828a887934d1d.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

+ 84 - 0
node_2d.tscn

@@ -0,0 +1,84 @@
+[gd_scene load_steps=12 format=3 uid="uid://b1l4qrtp1up3c"]
+
+[ext_resource type="Script" path="res://Tiles.gd" id="1_f1d3x"]
+[ext_resource type="Texture2D" uid="uid://b80gqocq2dmyj" path="res://mapblue.png" id="1_hrdss"]
+[ext_resource type="Texture2D" uid="uid://c26f6tr8s5hsr" path="res://pacman3.png" id="1_j8bih"]
+[ext_resource type="Texture2D" uid="uid://bejhe0q3wej2c" path="res://pacman1.png" id="1_vj3uw"]
+[ext_resource type="Script" path="res://Game.gd" id="1_wpwwn"]
+[ext_resource type="Texture2D" uid="uid://cpx55pmw537of" path="res://pacman2.png" id="2_hpcdu"]
+[ext_resource type="Script" path="res://Pacman.gd" id="2_sodj4"]
+[ext_resource type="FontFile" uid="uid://c5sox0jlcecck" path="res://Emulogic-zrEw.ttf" id="7_827na"]
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_vpncm"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": ExtResource("1_j8bih")
+}, {
+"duration": 1.0,
+"texture": ExtResource("2_hpcdu")
+}, {
+"duration": 1.0,
+"texture": ExtResource("1_vj3uw")
+}],
+"loop": true,
+"name": &"default",
+"speed": 16.0
+}]
+
+[sub_resource type="LabelSettings" id="LabelSettings_j0yqc"]
+font = ExtResource("7_827na")
+font_size = 8
+font_color = Color(1, 0, 0, 1)
+
+[sub_resource type="LabelSettings" id="LabelSettings_dx4lk"]
+font = ExtResource("7_827na")
+font_size = 8
+font_color = Color(1, 1, 0, 1)
+
+[node name="Node2D" type="Node2D"]
+script = ExtResource("1_wpwwn")
+
+[node name="Pac Man" type="AnimatedSprite2D" parent="." node_paths=PackedStringArray("tileset")]
+z_index = 1
+position = Vector2(114, 188)
+sprite_frames = SubResource("SpriteFrames_vpncm")
+frame_progress = 0.0210249
+script = ExtResource("2_sodj4")
+tileset = NodePath("../Tiles")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+z_index = -1
+position = Vector2(112, 124)
+texture = ExtResource("1_hrdss")
+
+[node name="Tiles" type="Node2D" parent="."]
+position = Vector2(4, 4)
+script = ExtResource("1_f1d3x")
+
+[node name="Game" type="Label" parent="."]
+visible = false
+offset_left = 71.0
+offset_top = 135.0
+offset_right = 111.0
+offset_bottom = 145.0
+text = "Game"
+label_settings = SubResource("LabelSettings_j0yqc")
+
+[node name="Over" type="Label" parent="."]
+visible = false
+offset_left = 120.0
+offset_top = 135.0
+offset_right = 160.0
+offset_bottom = 145.0
+text = "Over"
+label_settings = SubResource("LabelSettings_j0yqc")
+
+[node name="Ready" type="Label" parent="."]
+visible = false
+offset_left = 89.0
+offset_top = 135.0
+offset_right = 137.0
+offset_bottom = 145.0
+text = "Ready!"
+label_settings = SubResource("LabelSettings_dx4lk")

BIN
pacbiite.aseprite


BIN
pacbiite.png


+ 34 - 0
pacbiite.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhrlefqquxl6l"
+path="res://.godot/imported/pacbiite.png-cc7fb1141c888cfd8ab89d4b41cd61c7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacbiite.png"
+dest_files=["res://.godot/imported/pacbiite.png-cc7fb1141c888cfd8ab89d4b41cd61c7.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

BIN
pacman1.aseprite


BIN
pacman1.png


+ 34 - 0
pacman1.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bejhe0q3wej2c"
+path="res://.godot/imported/pacman1.png-2c7fb7bfa2a882b566f1ee1cdd0202c6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacman1.png"
+dest_files=["res://.godot/imported/pacman1.png-2c7fb7bfa2a882b566f1ee1cdd0202c6.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

BIN
pacman2.aseprite


BIN
pacman2.png


+ 34 - 0
pacman2.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cpx55pmw537of"
+path="res://.godot/imported/pacman2.png-da9ee27bf928b8a15dee33ca19d59a60.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacman2.png"
+dest_files=["res://.godot/imported/pacman2.png-da9ee27bf928b8a15dee33ca19d59a60.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

BIN
pacman3-export.png


+ 34 - 0
pacman3-export.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://m1dfg7nxnqxg"
+path="res://.godot/imported/pacman3-export.png-a1d3fa29e4b86aab8416693207509642.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacman3-export.png"
+dest_files=["res://.godot/imported/pacman3-export.png-a1d3fa29e4b86aab8416693207509642.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

BIN
pacman3.aseprite


BIN
pacman3.png


+ 34 - 0
pacman3.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c26f6tr8s5hsr"
+path="res://.godot/imported/pacman3.png-0878c3a1c54f037c7055730f967b480e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacman3.png"
+dest_files=["res://.godot/imported/pacman3.png-0878c3a1c54f037c7055730f967b480e.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

BIN
pacpower.aseprite


BIN
pacpower.png


+ 34 - 0
pacpower.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cw4x2xaqiw8t6"
+path="res://.godot/imported/pacpower.png-2aebca8627bb8814b0bbca30219d65f2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://pacpower.png"
+dest_files=["res://.godot/imported/pacpower.png-2aebca8627bb8814b0bbca30219d65f2.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

+ 30 - 0
project.godot

@@ -0,0 +1,30 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+;   [section] ; section goes between []
+;   param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="Pac Man"
+run/main_scene="res://node_2d.tscn"
+config/features=PackedStringArray("4.2", "Forward Plus")
+config/icon="res://icon.svg"
+
+[display]
+
+window/size/viewport_width=224
+window/size/viewport_height=248
+window/stretch/mode="viewport"
+
+[dotnet]
+
+project/assembly_name="Pac Man"
+
+[rendering]
+
+textures/canvas_textures/default_texture_filter=0

BIN
white.aseprite


BIN
white.png


+ 34 - 0
white.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cst77pvsed7qb"
+path="res://.godot/imported/white.png-d8533361663a5f8fe5200e5b5262a62d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://white.png"
+dest_files=["res://.godot/imported/white.png-d8533361663a5f8fe5200e5b5262a62d.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