feat: 5x5 entity (27 bodies), terminal viewport up to 250x120
- Entity: 5x5 grid body + 2-cell arm = 27 sub-bodies, radius 0.5 - Terminal: default 200x60, max 250x120 (was 250x80) - 31 constraints (full grid + arm) - Spawn height adjusted for 5-tall body
This commit is contained in:
+118
-118
@@ -1,10 +1,12 @@
|
|||||||
=== Verbatim Headless Run: 20 ticks ===
|
=== Verbatim Headless Run: 20 ticks ===
|
||||||
|
|
||||||
World: 250x250
|
World: 250x250
|
||||||
Player start: (125.0, 244.0)
|
Player start: (125.0, 242.0)
|
||||||
Camera: (85, 232)
|
Camera: (85, 230)
|
||||||
|
|
||||||
=== Tick 0 (initial state) ===
|
=== Tick 0 (initial state) ===
|
||||||
|
30
|
||||||
|
31
|
||||||
32
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
@@ -13,12 +15,12 @@ Camera: (85, 232)
|
|||||||
37
|
37
|
||||||
38
|
38
|
||||||
39
|
39
|
||||||
40
|
40 @@@@@
|
||||||
41
|
41 @@@@@@
|
||||||
42
|
42 @@@@@@
|
||||||
43 @@@ """""""""""""
|
43 @@@@@ """""""""""""
|
||||||
44""" @@@@ "":::::::::::::"""
|
44""" @@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@ """::::::::::::::::::""
|
45:::""" """::::::::::::::::::""
|
||||||
46::::::"" "":::::::::::::::::::::::"""
|
46::::::"" "":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
@@ -28,12 +30,12 @@ Camera: (85, 232)
|
|||||||
52????????????????????????????????????????????????????????????????????????????????
|
52????????????????????????????????????????????????????????????????????????????????
|
||||||
53????????????????????????????????????????????????????????????????????????????????
|
53????????????????????????????????????????????????????????????????????????????????
|
||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,242.0) bodies=27/27 on_fire=false"
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,244.0) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
|
|
||||||
=== Tick 2 ===
|
=== Tick 2 ===
|
||||||
|
30
|
||||||
|
31
|
||||||
32
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
@@ -42,12 +44,12 @@ Entities: 1
|
|||||||
37
|
37
|
||||||
38
|
38
|
||||||
39
|
39
|
||||||
40
|
40 @@@@@
|
||||||
41
|
41 @@@@@@
|
||||||
42
|
42 @@@@@@
|
||||||
43 @@@ """""""""""""
|
43 @@@@@ """""""""""""
|
||||||
44""" @@@@ "":::::::::::::"""
|
44""" @@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@ """::::::::::::::::::""
|
45:::""" """::::::::::::::::::""
|
||||||
46::::::"" "":::::::::::::::::::::::"""
|
46::::::"" "":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
@@ -57,13 +59,13 @@ Entities: 1
|
|||||||
52????????????????????????????????????????????????????????????????????????????????
|
52????????????????????????????????????????????????????????????????????????????????
|
||||||
53????????????????????????????????????????????????????????????????????????????????
|
53????????????????????????????????????????????????????????????????????????????????
|
||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,242.1) bodies=27/27 on_fire=false"
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,244.1) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 244.11879))
|
Alive entities: Player(hp=100, pos=(125.0, 242.11879))
|
||||||
|
|
||||||
=== Tick 4 ===
|
=== Tick 4 ===
|
||||||
|
30
|
||||||
|
31
|
||||||
32
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
@@ -72,12 +74,12 @@ Alive entities: Player(hp=100, pos=(125.0, 244.11879))
|
|||||||
37
|
37
|
||||||
38
|
38
|
||||||
39
|
39
|
||||||
40
|
40 @@@@@
|
||||||
41
|
41 @@@@@@
|
||||||
42
|
42 @@@@@@
|
||||||
43 @@@ """""""""""""
|
43 @@@@@ """""""""""""
|
||||||
44""" @@@@ "":::::::::::::"""
|
44""" @@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@ """::::::::::::::::::""
|
45:::""" """::::::::::::::::::""
|
||||||
46::::::"" "":::::::::::::::::::::::"""
|
46::::::"" "":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
@@ -87,13 +89,42 @@ Alive entities: Player(hp=100, pos=(125.0, 244.11879))
|
|||||||
52????????????????????????????????????????????????????????????????????????????????
|
52????????????????????????????????????????????????????????????????????????????????
|
||||||
53????????????????????????????????????????????????????????????????????????????????
|
53????????????????????????????????????????????????????????????????????????????????
|
||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,242.4) bodies=27/27 on_fire=false"
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,244.4) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 244.38817))
|
Alive entities: Player(hp=100, pos=(125.0, 242.38817))
|
||||||
|
|
||||||
=== Tick 6 ===
|
=== Tick 6 ===
|
||||||
|
30
|
||||||
|
31
|
||||||
|
32
|
||||||
|
33
|
||||||
|
34
|
||||||
|
35
|
||||||
|
36
|
||||||
|
37
|
||||||
|
38
|
||||||
|
39
|
||||||
|
40 @@@@@
|
||||||
|
41 @@@@@@
|
||||||
|
42 @@@@@@
|
||||||
|
43 @@@@@ """""""""""""
|
||||||
|
44""" @@@@@ "":::::::::::::"""
|
||||||
|
45:::""" """::::::::::::::::::""
|
||||||
|
46::::::"" "":::::::::::::::::::::::"""
|
||||||
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
49################################################################################
|
||||||
|
50????????????????????????????????????????????????????????????????????????????????
|
||||||
|
51????????????????????????????????????????????????????????????????????????????????
|
||||||
|
52????????????????????????????????????????????????????????????????????????????????
|
||||||
|
53????????????????????????????????????????????????????????????????????????????????
|
||||||
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
|
Player: "Player hp=100.0/100.0 pos=(125.0,242.8) bodies=27/27 on_fire=false"
|
||||||
|
Entities: 1
|
||||||
|
Alive entities: Player(hp=100, pos=(125.0, 242.79922))
|
||||||
|
|
||||||
|
=== Tick 8 ===
|
||||||
|
31
|
||||||
32
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
@@ -103,11 +134,11 @@ Alive entities: Player(hp=100, pos=(125.0, 244.38817))
|
|||||||
38
|
38
|
||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41 @@@@@
|
||||||
42
|
42 @@@@@@
|
||||||
43 @@@ """""""""""""
|
43 @@@@@@ """""""""""""
|
||||||
44""" @@@@ "":::::::::::::"""
|
44""" @@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@ """::::::::::::::::::""
|
45:::""" @@@@@ """::::::::::::::::::""
|
||||||
46::::::"" "":::::::::::::::::::::::"""
|
46::::::"" "":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
@@ -118,42 +149,12 @@ Alive entities: Player(hp=100, pos=(125.0, 244.38817))
|
|||||||
53????????????????????????????????????????????????????????????????????????????????
|
53????????????????????????????????????????????????????????????????????????????????
|
||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,243.3) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,244.8) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 244.79922))
|
Alive entities: Player(hp=100, pos=(125.0, 243.3436))
|
||||||
|
|
||||||
=== Tick 8 ===
|
|
||||||
33
|
|
||||||
34
|
|
||||||
35
|
|
||||||
36
|
|
||||||
37
|
|
||||||
38
|
|
||||||
39
|
|
||||||
40
|
|
||||||
41
|
|
||||||
42
|
|
||||||
43 """""""""""""
|
|
||||||
44""" @@@ "":::::::::::::"""
|
|
||||||
45:::""" @@@@ """::::::::::::::::::""
|
|
||||||
46::::::"" @@@ "":::::::::::::::::::::::"""
|
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
49################################################################################
|
|
||||||
50????????????????????????????????????????????????????????????????????????????????
|
|
||||||
51????????????????????????????????????????????????????????????????????????????????
|
|
||||||
52????????????????????????????????????????????????????????????????????????????????
|
|
||||||
53????????????????????????????????????????????????????????????????????????????????
|
|
||||||
54????????????????????????????????????????????????????????????????????????????????
|
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,245.3) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 245.3436))
|
|
||||||
|
|
||||||
=== Tick 10 ===
|
=== Tick 10 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -163,11 +164,11 @@ Alive entities: Player(hp=100, pos=(125.0, 245.3436))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43 """""""""""""
|
43 @@@@@@ """""""""""""
|
||||||
44""" @@@ "":::::::::::::"""
|
44""" @@@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@@ """::::::::::::::::::""
|
45:::""" @@@@@ """::::::::::::::::::""
|
||||||
46::::::"" @@@ "":::::::::::::::::::::::"""
|
46::::::"" @@@@@"":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
@@ -178,12 +179,12 @@ Alive entities: Player(hp=100, pos=(125.0, 245.3436))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,244.0) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
Alive entities: Player(hp=100, pos=(125.0, 244.01338))
|
||||||
|
|
||||||
=== Tick 12 ===
|
=== Tick 12 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -193,11 +194,11 @@ Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43 """""""""""""
|
43 @@@@@@ """""""""""""
|
||||||
44""" @@@ "":::::::::::::"""
|
44""" @@@@@@ "":::::::::::::"""
|
||||||
45:::""" @@@@ """::::::::::::::::::""
|
45:::""" @@@@@ """::::::::::::::::::""
|
||||||
46::::::"" @@@ "":::::::::::::::::::::::"""
|
46::::::"" @@@@@"":::::::::::::::::::::::"""
|
||||||
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
@@ -208,12 +209,12 @@ Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,244.5) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(125.0,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
Alive entities: Player(hp=100, pos=(125.0, 244.5))
|
||||||
|
|
||||||
=== Tick 14 ===
|
=== Tick 14 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -223,12 +224,12 @@ Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43" """""""""""""
|
43 @@@@@@ """""""""""""
|
||||||
44:""" @@@ "":::::::::::::"""
|
44""" @@@@@@ "":::::::::::::"""
|
||||||
45::::""" @@@@ """::::::::::::::::::""
|
45:::""" @@@@@ """::::::::::::::::::""
|
||||||
46:::::::"" @@@ "":::::::::::::::::::::::"""
|
46::::::"" @@@@@"":::::::::::::::::::::::"""
|
||||||
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
47::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::"""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
50????????????????????????????????????????????????????????????????????????????????
|
50????????????????????????????????????????????????????????????????????????????????
|
||||||
@@ -238,12 +239,12 @@ Alive entities: Player(hp=100, pos=(125.0, 245.55))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(125.0,244.5) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(124.6,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
Alive entities: Player(hp=100, pos=(125.0, 244.5))
|
||||||
|
|
||||||
=== Tick 16 ===
|
=== Tick 16 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -253,11 +254,11 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43" """""""""""""
|
43" @@@@@@ """""""""""""
|
||||||
44:""" @@@ "":::::::::::::"""
|
44:""" @@@@@@ "":::::::::::::"""
|
||||||
45::::""" @@@@ """::::::::::::::::::""
|
45::::""" @@@@@ """::::::::::::::::::""
|
||||||
46:::::::"" @@@ "":::::::::::::::::::::::"""
|
46:::::::"" @@@@@ "":::::::::::::::::::::::"""
|
||||||
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
@@ -268,12 +269,12 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(124.5,244.5) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(124.6,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
Alive entities: Player(hp=100, pos=(124.5, 244.5))
|
||||||
|
|
||||||
=== Tick 18 ===
|
=== Tick 18 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -283,11 +284,11 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43" """""""""""""
|
43" @@@@@@ """""""""""""
|
||||||
44:""" @@@ "":::::::::::::"""
|
44:""" @@@@@@ "":::::::::::::"""
|
||||||
45::::""" @@@@ """::::::::::::::::::""
|
45::::""" @@@@@ """::::::::::::::::::""
|
||||||
46:::::::"" @@@ "":::::::::::::::::::::::"""
|
46:::::::"" @@@@@ "":::::::::::::::::::::::"""
|
||||||
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
@@ -298,12 +299,12 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(124.5,244.5) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(124.6,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
Alive entities: Player(hp=100, pos=(124.5, 244.5))
|
||||||
|
|
||||||
=== Tick 20 ===
|
=== Tick 20 ===
|
||||||
|
32
|
||||||
33
|
33
|
||||||
34
|
34
|
||||||
35
|
35
|
||||||
@@ -313,11 +314,11 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
39
|
39
|
||||||
40
|
40
|
||||||
41
|
41
|
||||||
42
|
42 @@@@@
|
||||||
43" """""""""""""
|
43" @@@@@@ """""""""""""
|
||||||
44:""" @@@ "":::::::::::::"""
|
44:""" @@@@@@ "":::::::::::::"""
|
||||||
45::::""" @@@@ """::::::::::::::::::""
|
45::::""" @@@@@ """::::::::::::::::::""
|
||||||
46:::::::"" @@@ "":::::::::::::::::::::::"""
|
46:::::::"" @@@@@ "":::::::::::::::::::::::"""
|
||||||
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
47:::::::::"""""""""""""""""""""""""""""""""""::::::::::::::::::::::::::::""""""""
|
||||||
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
48::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
49################################################################################
|
49################################################################################
|
||||||
@@ -328,8 +329,7 @@ Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
|||||||
54????????????????????????????????????????????????????????????????????????????????
|
54????????????????????????????????????????????????????????????????????????????????
|
||||||
55????????????????????????????????????????????????????????????????????????????????
|
55????????????????????????????????????????????????????????????????????????????????
|
||||||
56????????????????????????????????????????????????????????????????????????????????
|
56????????????????????????????????????????????????????????????????????????????????
|
||||||
57????????????????????????????????????????????????????????????????????????????????
|
Player: "Player hp=100.0/100.0 pos=(124.5,244.5) bodies=27/27 on_fire=false"
|
||||||
Player: "Player hp=100.0/100.0 pos=(124.6,245.6) bodies=10/10 on_fire=false"
|
|
||||||
Entities: 1
|
Entities: 1
|
||||||
Alive entities: Player(hp=100, pos=(124.55, 245.55))
|
Alive entities: Player(hp=100, pos=(124.5, 244.5))
|
||||||
|
|
||||||
|
|||||||
+32
-25
@@ -107,24 +107,27 @@ impl Entity {
|
|||||||
self.cvx = 0.0;
|
self.cvx = 0.0;
|
||||||
self.cvy = 0.0;
|
self.cvy = 0.0;
|
||||||
|
|
||||||
let r = 0.45;
|
let r = 0.5;
|
||||||
let mat = match self.kind {
|
let mat = match self.kind {
|
||||||
EntityKind::Player => MaterialId::Flesh,
|
EntityKind::Player => MaterialId::Flesh,
|
||||||
EntityKind::Goblin => MaterialId::Flesh,
|
EntityKind::Goblin => MaterialId::Flesh,
|
||||||
EntityKind::Corpse => MaterialId::Flesh,
|
EntityKind::Corpse => MaterialId::Flesh,
|
||||||
};
|
};
|
||||||
|
|
||||||
let layout = [
|
// 5x5 body + 2 arms = 27 bodies
|
||||||
(-1.0, -1.0, mat), // 0: top-left
|
let layout: [(f32, f32, MaterialId); 27] = [
|
||||||
( 0.0, -1.0, mat), // 1: top-center
|
// Row 0 (top): head
|
||||||
( 1.0, -1.0, mat), // 2: top-right
|
(-2.0, -2.0, mat), (-1.0, -2.0, mat), ( 0.0, -2.0, mat), ( 1.0, -2.0, mat), ( 2.0, -2.0, mat),
|
||||||
(-1.0, 0.0, mat), // 3: mid-left
|
// Row 1: shoulders
|
||||||
( 0.0, 0.0, mat), // 4: center
|
(-2.0, -1.0, mat), (-1.0, -1.0, mat), ( 0.0, -1.0, mat), ( 1.0, -1.0, mat), ( 2.0, -1.0, mat),
|
||||||
( 1.0, 0.0, mat), // 5: mid-right
|
// Row 2: torso
|
||||||
(-1.0, 1.0, mat), // 6: bot-left
|
(-2.0, 0.0, mat), (-1.0, 0.0, mat), ( 0.0, 0.0, mat), ( 1.0, 0.0, mat), ( 2.0, 0.0, mat),
|
||||||
( 0.0, 1.0, mat), // 7: bot-center
|
// Row 3: hips
|
||||||
( 1.0, 1.0, mat), // 8: bot-right
|
(-2.0, 1.0, mat), (-1.0, 1.0, mat), ( 0.0, 1.0, mat), ( 1.0, 1.0, mat), ( 2.0, 1.0, mat),
|
||||||
( 2.0, 0.0, mat), // 9: hand
|
// Row 4: legs
|
||||||
|
(-2.0, 2.0, mat), (-1.0, 2.0, mat), ( 0.0, 2.0, mat), ( 1.0, 2.0, mat), ( 2.0, 2.0, mat),
|
||||||
|
// Arms
|
||||||
|
( 3.0, -1.0, mat), ( 3.0, 0.0, mat),
|
||||||
];
|
];
|
||||||
|
|
||||||
for &(ox, oy, m) in &layout {
|
for &(ox, oy, m) in &layout {
|
||||||
@@ -133,19 +136,23 @@ impl Entity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let mk = |a: usize, b: usize, len: f32| Constraint::new(a, b, len, 1.0);
|
let mk = |a: usize, b: usize, len: f32| Constraint::new(a, b, len, 1.0);
|
||||||
self.constraints.push(mk(0, 1, 1.0));
|
|
||||||
self.constraints.push(mk(1, 2, 1.0));
|
// Horizontal connections
|
||||||
self.constraints.push(mk(3, 4, 1.0));
|
for row in 0..5 {
|
||||||
self.constraints.push(mk(4, 5, 1.0));
|
let base = row * 5;
|
||||||
self.constraints.push(mk(6, 7, 1.0));
|
for col in 0..4 {
|
||||||
self.constraints.push(mk(7, 8, 1.0));
|
self.constraints.push(mk(base + col, base + col + 1, 1.0));
|
||||||
self.constraints.push(mk(0, 3, 1.0));
|
}
|
||||||
self.constraints.push(mk(3, 6, 1.0));
|
}
|
||||||
self.constraints.push(mk(1, 4, 1.0));
|
// Vertical connections
|
||||||
self.constraints.push(mk(4, 7, 1.0));
|
for col in 0..5 {
|
||||||
self.constraints.push(mk(2, 5, 1.0));
|
for row in 0..4 {
|
||||||
self.constraints.push(mk(5, 8, 1.0));
|
self.constraints.push(mk(row * 5 + col, (row + 1) * 5 + col, 1.0));
|
||||||
self.constraints.push(mk(5, 9, 1.0));
|
}
|
||||||
|
}
|
||||||
|
// Arm connections
|
||||||
|
self.constraints.push(mk(9, 25, 1.0));
|
||||||
|
self.constraints.push(mk(25, 26, 1.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn sync_bodies_to_center(&mut self) {
|
pub fn sync_bodies_to_center(&mut self) {
|
||||||
|
|||||||
+2
-2
@@ -79,7 +79,7 @@ impl Game {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let cy = (surface_y as f32) - 3.0;
|
let cy = (surface_y as f32) - 5.0;
|
||||||
self.player.spawn_at(&mut self.entities, cx, cy);
|
self.player.spawn_at(&mut self.entities, cx, cy);
|
||||||
|
|
||||||
let (px, py) = self.player.center(&self.entities);
|
let (px, py) = self.player.center(&self.entities);
|
||||||
@@ -502,7 +502,7 @@ impl Game {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let spawn_y = surface_y - 3;
|
let spawn_y = surface_y - 5;
|
||||||
|
|
||||||
if !self.grid.in_bounds(spawn_x, spawn_y) {
|
if !self.grid.in_bounds(spawn_x, spawn_y) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ impl TerminalRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn detect_size(&mut self) -> io::Result<()> {
|
fn detect_size(&mut self) -> io::Result<()> {
|
||||||
let (w, h) = term_size().unwrap_or((120, 40));
|
let (w, h) = term_size().unwrap_or((200, 60));
|
||||||
self.width = (w as usize).min(250).max(60);
|
self.width = (w as usize).min(250).max(80);
|
||||||
self.height = (h as usize).min(80).max(20);
|
self.height = (h as usize).min(120).max(25);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user