credits screen and stuff.
This commit is contained in:
@@ -3,15 +3,11 @@ ART
|
||||
|
||||
PROGRAMMING
|
||||
+ fight with blergh at end isn't great
|
||||
+ blergh taunts for first fight
|
||||
+ proper save/settings file location
|
||||
+ Save slots?
|
||||
+ try to have dialogue for every wrong interaction
|
||||
+ Dialogue frozen
|
||||
+ ending credits
|
||||
+ no self-use when held by bloodclot.
|
||||
+ no premptive potion making
|
||||
|
||||
|
||||
AUDIO
|
||||
+ Walking
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -15,29 +15,105 @@
|
||||
[com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||
InputMultiplexer InputProcessor Net Preferences Screen]))
|
||||
|
||||
(defn center [e]
|
||||
(assoc e :x (- (/ 1280 2) (/ (or (:width e) (.getWidth (:object e))) 2))))
|
||||
|
||||
(def credit-messages
|
||||
[["\"Tick's Tales\" Created By"
|
||||
"Bryce Covert"]
|
||||
["Artwork"
|
||||
"Bryce Covert"]
|
||||
["Programming"
|
||||
"Bryce Covert"]
|
||||
["Music"
|
||||
"Bryce Covert"]
|
||||
["Sound Effects"
|
||||
"Bryce Covert"]
|
||||
["Frog Legs"
|
||||
"Marya Yama"]
|
||||
["Perspective Tutorials"
|
||||
"Jana Covert"]
|
||||
["Motivational Tapes"
|
||||
"Eriq Chang"]
|
||||
["In Loving Memory Of"
|
||||
"Took, son of Luke, son of Puke"]])
|
||||
|
||||
(defn get-role-style [entities opacity]
|
||||
(style :label (:font entities) (color 1.0 1.0 1.0 opacity)))
|
||||
|
||||
(defn style-role [entities]
|
||||
(when-let [opacity (:opacity (:role entities))]
|
||||
(label! (:role entities) :set-style (get-role-style entities opacity))))
|
||||
|
||||
(defn get-person-style [entities opacity]
|
||||
(style :label (:font entities) (color 0.6 1.0 1.0 opacity)))
|
||||
|
||||
(defn style-person [entities]
|
||||
(when-let [opacity (:opacity (:person entities))]
|
||||
(label! (:person entities) :set-style (get-person-style entities opacity))))
|
||||
|
||||
(defn chain-tweens [screen entities id]
|
||||
(let [fade-out (tween/tween [:fade id :out]
|
||||
(assoc screen :total-time (+ 4.0 (:total-time screen)))
|
||||
[id :opacity]
|
||||
1.0 0.0
|
||||
2.0
|
||||
:finish #(dissoc % id))
|
||||
pause (tween/tween [:fade id :pause]
|
||||
(assoc screen :total-time (+ 2.0 (:total-time screen)))
|
||||
[id :opacity]
|
||||
1.0 1.0
|
||||
2.0
|
||||
:finish (fn [e] (assoc-in e [:tweens [:fade id :out]] fade-out)))
|
||||
fade-in (tween/tween [:fade id :in] screen
|
||||
[id :opacity]
|
||||
0.0 1.0
|
||||
2.0
|
||||
:finish (fn [e] (assoc-in e [:tweens [:fade id :pause]] pause)))]
|
||||
fade-in))
|
||||
|
||||
(defn start-message-if-necessary [screen entities]
|
||||
(if (and (not (get-in entities [:role]))
|
||||
(= 0.0 (get-in entities [:fade :opacity])))
|
||||
(let [[[next-role next-person] & remaining-messages] (:remaining-messages entities)]
|
||||
(if next-role
|
||||
(-> entities
|
||||
(assoc :role (center (assoc (label next-role (get-role-style entities 0.0) :set-alignment Align/center) :x 640 :y 480 )))
|
||||
(assoc :person (center (assoc (label next-person (get-person-style entities 0.0) :set-alignment Align/center) :x 640 :y 440 )))
|
||||
(assoc-in [:tweens [:fade :role :in]] (chain-tweens screen entities :role))
|
||||
(assoc-in [:tweens [:fade :person :in]] (chain-tweens screen entities :person))
|
||||
(assoc :remaining-messages remaining-messages))
|
||||
entities))
|
||||
entities))
|
||||
|
||||
|
||||
(defscreen credits
|
||||
:on-show
|
||||
(fn [screen entities]
|
||||
(utils/setup-viewport screen 320 240)
|
||||
(utils/setup-viewport screen 1280 960)
|
||||
(input! :set-cursor-image (utils/cursor "cursor.png" :main) 0 0)
|
||||
{:fade (assoc (texture "black.png")
|
||||
:scale-x 80
|
||||
:scale-y 80
|
||||
:opacity 0.0
|
||||
:origin-x 0
|
||||
:origin-y 0)
|
||||
:the-end (assoc (texture "the-end.png") :x 0 :y 0)
|
||||
:tweens {:fade-in
|
||||
(tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 5.0 :ease tween/ease-out-cubic)}}
|
||||
)
|
||||
(let [font (bitmap-font "ego/font.fnt" )]
|
||||
{:font font
|
||||
:fade (assoc (texture "black.png")
|
||||
:scale-x 80
|
||||
:scale-y 80
|
||||
:opacity 0.0
|
||||
:origin-x 0
|
||||
:origin-y 0)
|
||||
:remaining-messages credit-messages
|
||||
:the-end (assoc (texture "the-end.png") :x 0 :y 0 :scale-x 4 :scale-y 4 :origin-x 0 :origin-y 0)
|
||||
:tweens {:fade-in
|
||||
(tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 5.0 :ease tween/ease-out-cubic)}}))
|
||||
|
||||
:on-render
|
||||
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
||||
(.apply viewport)
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))]
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (start-message-if-necessary screen entities)]
|
||||
(style-role entities)
|
||||
(style-person entities)
|
||||
|
||||
(render! screen [(:the-end entities) (:fade entities)])
|
||||
(render! screen [(:the-end entities) (:role entities) (:person entities) (:fade entities)])
|
||||
entities))
|
||||
|
||||
|
||||
|
||||
1
desktop/src-common/advent/screens/rooms/.#behind_house.clj
Symbolic link
1
desktop/src-common/advent/screens/rooms/.#behind_house.clj
Symbolic link
@@ -0,0 +1 @@
|
||||
brycecovert@brometheus.local.31618
|
||||
@@ -85,7 +85,17 @@
|
||||
(actions/talk entities :ego "It looks like the wall is crumbling here.")
|
||||
(actions/play-animation entities :ego :reach)
|
||||
(actions/update-entity entities :peeling #(assoc % :opacity 0))
|
||||
(actions/update-state entities (fn [state] (assoc state :opened-crack? true)))))))
|
||||
(actions/update-state entities (fn [state] (assoc state :opened-crack? true))))))
|
||||
:scripts {:stick (actions/get-script entities
|
||||
(if (get-in @entities [:state :opened-crack?])
|
||||
(actions/talk entities :ego "I could shove the stick in that, hole, but why?")
|
||||
(actions/do-dialogue entities
|
||||
:ego "It looks like that wall is crumbling."
|
||||
:ego "I can probably scratch it off with my hand.")))
|
||||
:sword (actions/get-script entities
|
||||
(actions/do-dialogue entities
|
||||
:ego "I should be careful with this sword."
|
||||
:ego "It's sharp!"))})
|
||||
:bird (utils/make-bird screen [[50 235] [80 220] [100 239] [180 235] [85 225]])
|
||||
:outside-particles (common/make-outside-particles)}
|
||||
:collision "behindhouse/collision.png"
|
||||
|
||||
@@ -96,4 +96,9 @@
|
||||
(update-in [:tweens] dissoc :cam-x :cam-y)
|
||||
(update-in [:room :entities :ego] #(actions/start-animation screen % :suspended))
|
||||
(assoc-in [:room :entities :ego :stand-override] :suspended)
|
||||
(assoc-in [:room :entities :ego :talk-override] :suspended-talk))))))
|
||||
(assoc-in [:room :entities :ego :talk-override] :suspended-talk)
|
||||
(assoc-in [:room :entities :ego :get-script] (fn [cursor [x y]]
|
||||
(actions/get-script entities
|
||||
(if (= :flask-1-strength (:value cursor))
|
||||
(common/do-win entities)
|
||||
(actions/talk entities :ego "I can't reach it!"))))))))))
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
(actions/talk entities :ego "Who are you?!" :anim :scared-talk)
|
||||
(actions/begin-animation entities :ego :scared)
|
||||
(actions/do-dialogue entities
|
||||
:bloodclot-head "I am Bloodclot, the Scottish goblin!"
|
||||
:bloodclot-head "I am Bloodclot, the goblin!"
|
||||
:bloodclot-head "I've spent last 100 years training for this day."
|
||||
:bloodclot-head "The day when I must best the worthiest of knights in battle."
|
||||
:bloodclot-head "But I had never expected my foe to be so..."
|
||||
|
||||
@@ -31,8 +31,7 @@
|
||||
(assoc-in [:tweens :dawn-g-s] (tween/tween :dawn-g-s screen [:time-profiles :sprite :g] :current 0.36 50.0 :entities entities))
|
||||
(assoc-in [:tweens :dawn-b-s] (tween/tween :dawn-b-s screen [:time-profiles :sprite :b] :current 0.23 50.0 :entities entities))
|
||||
(assoc-in [:tweens :hue-amount-v-s] (tween/tween :hue-amount-v-s screen [:time-profiles :sprite :hue-amount] :current 0.0 50.0 :entities entities))
|
||||
(assoc-in [:tweens :multiply-amount-v-s] (tween/tween :multiply-amount-v-s screen [:time-profiles :sprite :multiply-amount] :current 0.0 50.0 :entities entities)))
|
||||
)
|
||||
(assoc-in [:tweens :multiply-amount-v-s] (tween/tween :multiply-amount-v-s screen [:time-profiles :sprite :multiply-amount] :current 0.0 50.0 :entities entities))))
|
||||
(continue [this screen entities]
|
||||
entities)
|
||||
(done? [this screen entities]
|
||||
@@ -43,8 +42,6 @@
|
||||
:none)))
|
||||
|
||||
|
||||
|
||||
|
||||
(defn walk-to-castle [entities & {:keys [skip-type stop?] :or {skip-type :end stop? true}}]
|
||||
(actions/walk-to entities :ego [0 80] :skip-type skip-type)
|
||||
(actions/walk-straight-to entities :ego [-20 80])
|
||||
@@ -699,6 +696,10 @@
|
||||
(items/make-cream-of-mushroom entities)
|
||||
(leave-sheep entities))
|
||||
(actions/talk entities :ego "She's too far away.")))
|
||||
|
||||
:sword
|
||||
(actions/get-script entities
|
||||
(actions/talk entities :ego "That's just cruel."))
|
||||
nil)
|
||||
:left {:walk (utils/flip sheep-walk)
|
||||
:stand (utils/flip sheep-stand)}
|
||||
@@ -731,8 +732,8 @@
|
||||
(actions/talk entities :ego "Aww, it's a newborn lamb!")
|
||||
)
|
||||
:scripts {:carrot (actions/get-script entities (actions/talk entities :ego "I think it's still nursing."))
|
||||
:grass (actions/get-script entities (actions/talk entities :ego "I think it's still nursing."))}
|
||||
)
|
||||
:grass (actions/get-script entities (actions/talk entities :ego "I think it's still nursing."))
|
||||
:sword (actions/get-script entities (actions/talk entities :ego "I prefer to let the butcher make lamb chops."))})
|
||||
:butterfly (assoc (animation->texture screen butterfly-stand)
|
||||
:x 161
|
||||
:y 218
|
||||
@@ -756,7 +757,10 @@
|
||||
:scripts put-something-in-cauldron))
|
||||
:wizard (rooms/make-entity :wizard (common/make-wizard screen {:x 190 :y 78 :baseline 162 :scale-x 1.2 :scale-y 1.2
|
||||
:script (actions/get-script entities (talk-to-gandarf-outside entities))
|
||||
:scripts {:default (actions/get-script entities (actions/talk entities :wizard "No time for that!"))}}))
|
||||
:scripts {:default (actions/get-script entities (actions/talk entities :wizard "No time for that!"))
|
||||
:sword (actions/get-script entities (actions/do-dialogue entities
|
||||
:wizard "The Sword of Blergh!"
|
||||
:wizard "Good job, Tick."))}}))
|
||||
:note (rooms/make-entity :note (assoc (texture "outsidehouse/note.png")
|
||||
:x 277 :y 74 :baseline 160
|
||||
:night-profile :none
|
||||
|
||||
@@ -20,11 +20,12 @@
|
||||
(get-in entities [:state :active?])
|
||||
(not (get-in entities [:state :blergh-dead?]))
|
||||
(not (actions/has-item? entities :magic-slingshot)))
|
||||
((actions/get-script entities (actions/do-dialogue entities :bloodclot-head (rand-nth ["Come on, little man! Try and hit me!"
|
||||
"What's the matter? Cold feet?"
|
||||
((actions/get-script entities (actions/do-dialogue entities :bloodclot-head (rand-nth ["Come over here, so I can eat you!"
|
||||
"The taste of children makes my tummy rumble!"
|
||||
"Come here and fight me like man!"
|
||||
"Your precious Georgia McGorgeous would be laughing if she saw you now."
|
||||
"Pick up your weapon and fight!"]))) entities))
|
||||
"Georgia McGorgeous will be so impressed with how quickly I eat you!"
|
||||
"Come on, I'm hungry!"
|
||||
"First I'll eat you, then I'll eat Georgia McGorgeous!"]))) entities))
|
||||
nil)
|
||||
|
||||
(defn shock [screen entities]
|
||||
|
||||
@@ -210,7 +210,8 @@
|
||||
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
||||
:finish (fn [entities]
|
||||
(utils/stop-sound (:music entities))
|
||||
(set-screen! @(resolve 'advent.core/advent) scene/scene scene/demo scene/hud dialogue/talking-screen dialogue/choice-screen inventory/inventory-screen safe/safe-screen fade/fade-screen)
|
||||
(set-screen! @(resolve 'advent.core/advent) scene/scene scene/demo scene/hud dialogue/talking-screen dialogue/choice-screen inventory/inventory-screen safe/safe-screen fade/fade-screen
|
||||
)
|
||||
entities)
|
||||
:ease tween/ease-in-cubic))
|
||||
(assoc-in [:tweens :fade-out-music]
|
||||
|
||||
Reference in New Issue
Block a user