summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2026-03-07 20:48:18 -0800
committerElizabeth Alexander Hunt <me@liz.coffee>2026-03-07 20:48:18 -0800
commitd0cb7008ed0c414bb4e624e41b1e694544d43b06 (patch)
tree03cb24488f530a2fe15e532f62088a1fd60c6a80
parent1f628c9ee7e08206752cf12f2424de931904ecdd (diff)
downloaddyl-main.tar.gz
dyl-main.zip
Minor addition of a wall?HEADmain
-rw-r--r--core/src/main/java/coffee/liz/dyl/config/PhysicsConstants.java4
-rw-r--r--core/src/main/java/coffee/liz/dyl/entities/WallFactory.java34
-rw-r--r--core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java2
-rw-r--r--docs/todo.txt1
4 files changed, 39 insertions, 2 deletions
diff --git a/core/src/main/java/coffee/liz/dyl/config/PhysicsConstants.java b/core/src/main/java/coffee/liz/dyl/config/PhysicsConstants.java
index f28a1a0..d10c781 100644
--- a/core/src/main/java/coffee/liz/dyl/config/PhysicsConstants.java
+++ b/core/src/main/java/coffee/liz/dyl/config/PhysicsConstants.java
@@ -3,9 +3,9 @@ package coffee.liz.dyl.config;
public final class PhysicsConstants {
public static final float GRAVITY = 52f;
public static final float ADDITIONAL_JUMP_OVER_GRAVITY = 1.30f;
- public static final float MOVE_SPEED = 9.0f;
+ public static final float MOVE_SPEED = 9.5f;
public static final float JUMP_IMPULSE_VEL = 10.0f;
- public static final float JUMP_SUSTAIN_FORCE = 20;
+ public static final float JUMP_SUSTAIN_FORCE = 22;
public static final float MAX_JUMP_SECONDS = 0.22f;
public static final float JUMP_BUFFER_SECONDS = 0.15f;
public static final float COYOTE_TIME_SECONDS = 0.08f;
diff --git a/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java b/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java
new file mode 100644
index 0000000..cd4f6a2
--- /dev/null
+++ b/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java
@@ -0,0 +1,34 @@
+package coffee.liz.dyl.entities;
+
+import coffee.liz.dyl.components.graphic.TextureGraphic;
+import coffee.liz.dyl.components.physics.BoundingBox;
+import coffee.liz.dyl.components.physics.Solid;
+import coffee.liz.ecs.math.Vec2f;
+import coffee.liz.ecs.model.Entity;
+import coffee.liz.ecs.model.World;
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.files.FileHandle;
+import com.badlogic.gdx.graphics.Color;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.TextureRegion;
+
+public class WallFactory {
+ private static final WallAssets ASSETS = new WallAssets();
+ public static Entity addTo(final World world) {
+ return world.createEntity()
+ .add(new TextureGraphic(0, Color.WHITE, ASSETS.textureRegion))
+ .add(new Solid())
+ .add(new BoundingBox(new Vec2f(1f, 1f), new Vec2f(1f, 1f)));
+ }
+
+ private static class WallAssets {
+ private static final FileHandle FILE = Gdx.files.internal("noir/Underground.png");
+ final Texture texture;
+ final TextureRegion textureRegion;
+
+ public WallAssets() {
+ texture = new Texture(FILE);
+ textureRegion = new TextureRegion(texture, 24, 17, 4, 4);
+ }
+ }
+}
diff --git a/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java b/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
index c35f1da..552fc9a 100644
--- a/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
+++ b/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
@@ -4,6 +4,7 @@ import coffee.liz.dyl.DylGame;
import coffee.liz.dyl.config.PhysicsConstants;
import coffee.liz.dyl.entities.FloorFactory;
import coffee.liz.dyl.entities.PlayerFactory;
+import coffee.liz.dyl.entities.WallFactory;
import coffee.liz.dyl.systems.collision.SolidCollisionSystem;
import coffee.liz.dyl.systems.control.MovementActionConsumerSystem;
import coffee.liz.dyl.systems.graphics.AnimationSystem;
@@ -37,6 +38,7 @@ public class DylGameWorld extends DAGWorld {
);
PlayerFactory.addTo(this);
FloorFactory.addTo(this);
+ WallFactory.addTo(this);
createEntity()
.add(new BoundingBox(new Vec2f(-50f, -1f), new Vec2f(200f, 1f)))
.add(new Solid());
diff --git a/docs/todo.txt b/docs/todo.txt
index 7d80f0f..1df0756 100644
--- a/docs/todo.txt
+++ b/docs/todo.txt
@@ -2,6 +2,7 @@ Terrain:
- [X] Basic platforming
- [ ] First dungeon
- [ ] First overworld attempt
+- [ ] Map system
Combat:
- [ ] Basic enemy