Point und Click Adventures auf dem Atari 8bit
8bit Dude arbeitet an Programmbibliotheken, die es ermöglichen, Point & Click Adventures zu erstellen.
8bit-Goblin ist eine Tech-Demo im Point-and-Click-Stil, die in Version 0.3.3 eingeführt wurde. Der Code zeigt, wie man Szenenmanagement implementiert, einschließlich: interaktive Objekte, wählbare Gegenstände, Szenenanimation…
Update in Version 0.5: Die Skripting-Engine funktioniert jetzt auch mit Textdateien, wie z.B. unten im Beispiel. Link zur Entwicklerseite:
zu 8bit-unitiy.com (externer Link)
Codebeispiel:
# Definitions (WANRING: use same values for ALL scene files and inside definitions.h)
#define MAX_POLYGON 19
#define MAX_CHUNK 5
#define MAX_INTERACT 7
#define MAX_TRIGGER 5
#define MAX_MODIFIER 2
#define MAX_PATH 6
# Chunks (just as memo)
0: Notable
1: Old Men
2: Bottle
3: Sausage
4: Switch
# Animation Frames (just as memo)
2: Idle Left
8: Idle Right
14: Surprised
# Boundary Polygon (see MAX_POLYGON)
# Player can only move inside the area defined by this polygon
X: 0; 53; 120; 138; 65; 0; 0; 32; 180; 270; 282; 251; 232; 210; 229; 320; 320; 0; 0
Y: 138; 162; 169; 144; 138; 107; 99; 95; 78; 102; 120; 137; 124; 143; 168; 116; 180; 180; 138
# Interacts (see MAX_INTERACT)
# Interactive elements can have the following flags: DISABLED, ACTIVE, PICKABLE.
# When the mouse is clicked within the element area, the player moves to the specified coordinates and the chunks/path/question/answer are shown.
# Label Click Area Move To Flags Chunks Frame Path Question Answer
# X Y R TX TY CHK BGG
I: "Notable"; 55; 81; 15; 90; 93; ACTIVE; 255; 255; 2; 255; "Dear sir, you look powerful.\nPlease help me with my quest?"; "Go away, I am busy!"
I: "Old Men"; 222; 66; 15; 194; 86; ACTIVE; 1; 1; 8; 255; "Hey villagers, do you know\nthe house of lord Tazaar?"; "We are hungry!! But the\nnotable keeps all the food."
I: "Bottle"; 260; 70; 7; 240; 94; PICKABLE; 2; 255; 8; 255; ""; ""
I: "Flower"; 230; 134; 10; 208; 141; PICKABLE; 255; 255; 8; 255; ""; ""
I: "Sausage"; 69; 60; 7; 94; 93; ACTIVE; 0; 0; 2; 0; ""; "Hey, don't touch that!"
I: "Switch"; 32; 77; 5; 18; 101; ACTIVE; 4; 4; 8; 2; ""; ""
I: "Fountain"; 300; 170; 30; 300; 170; DISABLED; 255; 255; 8; 255; ""; ""
# Triggers (see MAX_TRIGGER)
# When the specified item is given to the target, the modifier is triggered
# Item Target Modifier CHK BGG Answer
T: "Bottle"; "Notable"; 0; 255; 255; "Just what I need in this heat!\nWould you like some sausage?"
T: "Bottle"; "Old Men"; 255; 1; 1; "We are not thirsty...\n...We are hungry!!"
T: "Flower"; "Notable"; 255; 255; 255; "No, thank you..."
T: "Flower"; "Old Men"; 255; 1; 1; "No, thank you..."
T: "Sausage"; "Old Men"; 1; 1; 1; "Thank you kind sir!\nGo right, to the fountain."
# Modifiers (see MAX_MODIFIER)
# This interact gets updated with new parameters
# Interact Flags CHK BCG Path Question Answer
M: "Sausage"; PICKABLE; 3; 255; 255; "These old men look hungry..."; ""
M: "Fountain"; ACTIVE; 255; 255; 255; ""; "Well done little goblin!\nThe tech-demo ends here!"
# Paths (see MAX_PATH)
# Series of player animation paths (255 terminates a series)
# X1 Y1 Speed Frame Next Path
P: 161; 97; 24; 14; 1
P: 243; 116; 16; 14; 255
P: 18; 72; 16; 14; 3
P: 18; 64; 4; 14; 4
P: 18; 72; 4; 14; 5
P: 18; 101; 12; 14; 255
Links:
2022-01-20 18:27:25