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