Commit Graph

127 Enmetoj

Author SHA1 Message Date
Jaidyn Ann 06e875b271 Create the scaffodling for an inventory menu
All it does right now is print your raw list of
items. That’s OK for now! =w=
2023-06-27 21:36:13 -05:00
Jaidyn Ann 6c8f84afe8 Finish 'childhood-friend' prologue!
Wooooot! Antaŭludo finita c:<
2023-06-27 20:00:37 -05:00
Jaidyn Ann c177e1b2d2 Begin the 'childhood-friend' prologue 2023-06-27 14:15:16 -05:00
Jaidyn Ann 6849968528 Abstract the semantic meaning of key from the char
This lets us do cool looking stuff, like '⌨:🆗
2023-06-27 11:54:52 -05:00
Jaidyn Ann bc74f43f9a Gitignore for lisp-ified maps 2023-06-26 21:50:58 -05:00
Jaidyn Ann 51c913a700 Create and ASDF system for the game
This might help cool stuff get working, later!
Maybe! :D
2023-06-26 21:49:34 -05:00
Jaidyn Ann 74d713b76d Convert TMX maps to a parseable list
This allows embedding the map data directly
into the game system, instead of relying on
external files!
This’ll make distribution easier, for sure. =w=
2023-06-26 20:25:02 -05:00
Jaidyn Ann c0d2099ae8 Support for the passage of time 2023-06-26 15:43:01 -05:00
Jaidyn Ann 2a78737d28 Support for taking items
That is, directly moving an entity from the map
into the player’s pocket. Real simple
implementation, it’s just another
interact-function for use with your entities.
2023-06-26 11:12:06 -05:00
Jaidyn Ann 738239f50a Persistent data between maps! How exciting!
I spent a good chunk of time trying to get rid of
the maps’ global variables, instead packing each
map into a :map variable in a “game” hash-table…
but, wow, that took a while. And also made things
a bit more complicated. And also… we could just
do this. From this commit. So much easier! @-@
2023-06-26 09:33:51 -05:00
Jaidyn Ann 766f2dedee Whoops, too invisible! I fyixed it uwu 2023-06-26 09:08:45 -05:00
Jaidyn Ann 9ee7597772 Invisible and/or weird interactible entities! =w= 2023-06-25 19:59:34 -05:00
Jaidyn Ann 67019e9afb Moving between maps: Doorways! ♥ 2023-06-25 14:40:12 -05:00
Jaidyn Ann 4deace5af5 Fix dialogue-printing for players’ lines 2023-06-24 22:29:56 -05:00
Jaidyn Ann b61739aa24 Support for events triggered by moving to point
That is, a new “Trigger” Tiled object-type has
been made, which is just a rectangle with an
associated function. If the rectangle is stepped
upon (uwu step on me owo), the function is
triggered. Y’know, standard RPG stuffs.
2023-06-24 22:17:42 -05:00
Jaidyn Ann 1c2a371b38 Add casino attendant and bartender 2023-06-24 20:12:18 -05:00
Jaidyn Ann 67e2ca0404 Tweak interact-radius again! 2023-06-24 20:04:52 -05:00
Jaidyn Ann 90223f4a4c Flexibly edit entity data in dialogue
… including way better ^_^ dialogue :D
face! \o/ editing!
2023-06-24 19:49:47 -05:00
Jaidyn Ann 1a44f2bcac Begin the Casino map!
… including the gambler-dude story arc.
2023-06-24 17:01:12 -05:00
Jaidyn Ann 37eacc43f5 Tweak interaction range 2023-06-24 16:12:16 -05:00
Jaidyn Ann d7c978dc39 Tweak dialogue positioning 2023-06-24 16:12:05 -05:00
Jaidyn Ann b4cde1ea16 Add top-level layer, renders above player 2023-06-24 14:13:01 -05:00
Jaidyn Ann 346d9d3a9d Begin proper dialogue with Sasha! 2023-06-23 22:25:16 -05:00
Jaidyn Ann 4d4b65da9c Split off STATE-LOOP into an engine package (⚙)
… while making generic state-function-creators for
both dialogues and overworld maps. This should
make game-specific code more pretty-like!
2023-06-23 13:29:09 -05:00
Jaidyn Ann e21d16069b Translations of menu-items ^_^ 2023-06-23 12:54:29 -05:00
Jaidyn Ann dafccb17a1 Language-specific map layers 2023-06-23 12:41:47 -05:00
Jaidyn Ann 495ed87f09 Baseline support for translations! :D
It’s not using gettext or anything, just a simple
system I cooked up for having the translations
hard-coded in, side-by-side.
… it’s easier for me this way when writing, and
it’ll make things easier later on, during
distribution :P
2023-06-23 11:28:34 -05:00
Jaidyn Ann b617e92aba Add `move` directive to dialogues — for moving! :D 2023-06-22 19:20:20 -05:00
Jaidyn Ann c7c0ed6d65 Menu state-function creator: #'📋:make-menu-state 2023-06-22 11:31:49 -05:00
Jaidyn Ann 6eb5596263 “Chunk” entities like map tiles
Now :entities of the map hash-table is no longer a
flat list of entity plists, but a “chunked” alist
of these entity plists. Each alist is dedicated to
a different “chunk” (screenfull) of the map.
This (hypothetically) makes finding on-screen
entities more speedy.
2023-06-21 23:47:54 -05:00
Jaidyn Ann 666c155f95 Legiblify :💬; finish dialogue-printing with ENTER
Like with RPGs!
2023-06-21 20:31:29 -05:00
Jaidyn Ann fe9b74a600 Vary dialogue-position by speaker/etc 2023-06-20 22:00:36 -05:00
Jaidyn Ann 9c5892f2f8 Orient dialogue vertically! How exciting! 2023-06-20 20:43:27 -05:00
Jaidyn Ann 82254570b1 Orienting dialogue to the left or right of entity 2023-06-20 20:04:13 -05:00
Jaidyn Ann 6467d9bec3 Don’t over-:use packages (hee-hee) 2023-06-19 14:58:12 -05:00
Jaidyn Ann b8faba4c6a When printing dialogue, show chars one-at-a-time
Y’know, RPG-style! ‘Cause we’re cool kids! c:<
… and this is a real RPG! This is legit!
This is legit! … this is legit… =,w,=
It _will_ be legit!
2023-06-19 14:43:46 -05:00
Jaidyn Ann 95442b39db Change entity faces while they’re talking
What a cool effect ^w^ ^o^ ^w^
2023-06-19 08:47:45 -05:00
Jaidyn Ann 218dcdc465 Start basic dialogue state, etc?
This is so bad, I wanna dieee :w:
2023-06-17 22:47:30 -05:00
Jaidyn Ann 6f60c76f4b Reorder overworld.tiled functions; overworld.util
No functional changes.
Re-order functions in overworld.tiled so SBCL
doesn't complain at me.
Split some functions from overworld.tiled into
a new overworld.util package. Also rename the
files in a nice way!
2023-06-17 10:12:23 -05:00
Jaidyn Ann d664996190 Re-order functions (no functional change) 2023-06-16 20:11:47 -05:00
Jaidyn Ann 3db5cdcdd6 Minor refactoring; add accessors 2023-06-16 20:09:35 -05:00
Jaidyn Ann b31446c0f1 Interact with nearby entities 2023-06-16 14:28:41 -05:00
Jaidyn Ann 0f512e80ea Switch MAP to being a hash-table instead of a plist
Having MAP be a hash-table makes it a little more
mutable (friendly for a game of this structure.
Because, y’know, we… I’m too lazy to explain this.
Read the code. Which I’m pretty sure is illegible.
Sorry… =w=""""") :w:
>o< cries cries cires criesd
2023-06-16 12:41:19 -05:00
Jaidyn Ann c801a2ddfb Run INTERACT function mentioned in Tiled map 2023-06-16 12:16:44 -05:00
Jaidyn Ann c37ce281ea Split Tiled map-parsing into its own subpackage 2023-06-16 09:36:53 -05:00
Jaidyn Ann 11951c28a4 Support for embedding entities in the Tiled map 2023-06-16 09:00:58 -05:00
Jaidyn Ann 9d7961c6ad Parse cl-tiled CELL objects into alists 2023-06-15 18:14:39 -05:00
Jaidyn Ann 53f34b4e17 Non-traversable tiles like walls and such
Yes, now the player must adhere to the laws of
physics! Weird, right? Really wack? Super-weird?
2023-06-15 11:15:46 -05:00
Jaidyn Ann b08577b3db Parse maps with multiple tile-layers 2023-06-14 22:03:55 -05:00
Jaidyn Ann 939a433f32 Better drawing of strange-width NPC/player faces
Now entities (like the player) will be drawn more
evenly, even if their faces are ~~owo~~ WEIRD uwu
2023-06-14 16:36:34 -05:00