diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/items.atl b/ATL/Pooh/items.atl index f7c6a36..a720ff6 100644 --- a/ATL/Pooh/items.atl +++ b/ATL/Pooh/items.atl @@ -116,7 +116,20 @@ define-item "Picture frame" description "You made this picture frame from four sticks and some string. Not very good perhaps, but it will do." - + +define-item "Ship" + description "A small wooden ship that Christopher Robin has been working on. + It's not quite finished yet, but it looks very fancy and + ever so delicate. You seem to remember that Christopher Robin + called it a galleon or something like that. He was always + going on about galleons..." + +define-item "Notice" + description "A tattered piece of paper is stuck to the door. It's badly torn + and you can't really read anyway, but you can make out a few letters: + G?N? T? G?LL??N? L??" + fixed + define-item "Jacket" description "This is a small, bright red rain jacket. It looks about the right size to fit Roo." @@ -179,6 +192,12 @@ a good idea to carry this around with you..." command "read" +define-item "Foot prints" + description "These foot prints look as if they were made by a pair of gum + boots going up the hill towards Galleons Lap. Now, why would a + pair of boots go there?" + fixed + define-item "Card" description " ................................... diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/items.atl b/ATL/Pooh/items.atl index f7c6a36..a720ff6 100644 --- a/ATL/Pooh/items.atl +++ b/ATL/Pooh/items.atl @@ -116,7 +116,20 @@ define-item "Picture frame" description "You made this picture frame from four sticks and some string. Not very good perhaps, but it will do." - + +define-item "Ship" + description "A small wooden ship that Christopher Robin has been working on. + It's not quite finished yet, but it looks very fancy and + ever so delicate. You seem to remember that Christopher Robin + called it a galleon or something like that. He was always + going on about galleons..." + +define-item "Notice" + description "A tattered piece of paper is stuck to the door. It's badly torn + and you can't really read anyway, but you can make out a few letters: + G?N? T? G?LL??N? L??" + fixed + define-item "Jacket" description "This is a small, bright red rain jacket. It looks about the right size to fit Roo." @@ -179,6 +192,12 @@ a good idea to carry this around with you..." command "read" +define-item "Foot prints" + description "These foot prints look as if they were made by a pair of gum + boots going up the hill towards Galleons Lap. Now, why would a + pair of boots go there?" + fixed + define-item "Card" description " ................................... diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index c0e2243..51ff520 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -151,6 +151,7 @@ home and the stream that marks the edge of the woods." neighbour "Central woods" neighbour "Galleons lap" + item "Foot prints" hidden "berries" define-place "Galleons lap" @@ -303,6 +304,7 @@ appears to be shut just now. You wonder where he is?" neighbour "Eastern woods" neighbour "Workshop" + item "Notice" item "Balloon" item "Balloon" @@ -313,6 +315,7 @@ use some of the tools yourself, but you are not yet very good at it." neighbour "Christopher Robin's house" + item "Ship" item "String" command "craft" diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/items.atl b/ATL/Pooh/items.atl index f7c6a36..a720ff6 100644 --- a/ATL/Pooh/items.atl +++ b/ATL/Pooh/items.atl @@ -116,7 +116,20 @@ define-item "Picture frame" description "You made this picture frame from four sticks and some string. Not very good perhaps, but it will do." - + +define-item "Ship" + description "A small wooden ship that Christopher Robin has been working on. + It's not quite finished yet, but it looks very fancy and + ever so delicate. You seem to remember that Christopher Robin + called it a galleon or something like that. He was always + going on about galleons..." + +define-item "Notice" + description "A tattered piece of paper is stuck to the door. It's badly torn + and you can't really read anyway, but you can make out a few letters: + G?N? T? G?LL??N? L??" + fixed + define-item "Jacket" description "This is a small, bright red rain jacket. It looks about the right size to fit Roo." @@ -179,6 +192,12 @@ a good idea to carry this around with you..." command "read" +define-item "Foot prints" + description "These foot prints look as if they were made by a pair of gum + boots going up the hill towards Galleons Lap. Now, why would a + pair of boots go there?" + fixed + define-item "Card" description " ................................... diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index c0e2243..51ff520 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -151,6 +151,7 @@ home and the stream that marks the edge of the woods." neighbour "Central woods" neighbour "Galleons lap" + item "Foot prints" hidden "berries" define-place "Galleons lap" @@ -303,6 +304,7 @@ appears to be shut just now. You wonder where he is?" neighbour "Eastern woods" neighbour "Workshop" + item "Notice" item "Balloon" item "Balloon" @@ -313,6 +315,7 @@ use some of the tools yourself, but you are not yet very good at it." neighbour "Christopher Robin's house" + item "Ship" item "String" command "craft" diff --git a/README b/README index 0ead934..26ac1c8 100644 --- a/README +++ b/README @@ -31,7 +31,7 @@ HACKING A programmer's manual (if you want to create your own worlds) -Copyright (c) 2015-2017 Daniel Vedder +Copyright (c) 2015-2018 Daniel Vedder Licensed under the terms of the GNU GPLv3. -Last modified 20/07/2017 +Last modified 5/01/2018 diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/items.atl b/ATL/Pooh/items.atl index f7c6a36..a720ff6 100644 --- a/ATL/Pooh/items.atl +++ b/ATL/Pooh/items.atl @@ -116,7 +116,20 @@ define-item "Picture frame" description "You made this picture frame from four sticks and some string. Not very good perhaps, but it will do." - + +define-item "Ship" + description "A small wooden ship that Christopher Robin has been working on. + It's not quite finished yet, but it looks very fancy and + ever so delicate. You seem to remember that Christopher Robin + called it a galleon or something like that. He was always + going on about galleons..." + +define-item "Notice" + description "A tattered piece of paper is stuck to the door. It's badly torn + and you can't really read anyway, but you can make out a few letters: + G?N? T? G?LL??N? L??" + fixed + define-item "Jacket" description "This is a small, bright red rain jacket. It looks about the right size to fit Roo." @@ -179,6 +192,12 @@ a good idea to carry this around with you..." command "read" +define-item "Foot prints" + description "These foot prints look as if they were made by a pair of gum + boots going up the hill towards Galleons Lap. Now, why would a + pair of boots go there?" + fixed + define-item "Card" description " ................................... diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index c0e2243..51ff520 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -151,6 +151,7 @@ home and the stream that marks the edge of the woods." neighbour "Central woods" neighbour "Galleons lap" + item "Foot prints" hidden "berries" define-place "Galleons lap" @@ -303,6 +304,7 @@ appears to be shut just now. You wonder where he is?" neighbour "Eastern woods" neighbour "Workshop" + item "Notice" item "Balloon" item "Balloon" @@ -313,6 +315,7 @@ use some of the tools yourself, but you are not yet very good at it." neighbour "Christopher Robin's house" + item "Ship" item "String" command "craft" diff --git a/README b/README index 0ead934..26ac1c8 100644 --- a/README +++ b/README @@ -31,7 +31,7 @@ HACKING A programmer's manual (if you want to create your own worlds) -Copyright (c) 2015-2017 Daniel Vedder +Copyright (c) 2015-2018 Daniel Vedder Licensed under the terms of the GNU GPLv3. -Last modified 20/07/2017 +Last modified 5/01/2018 diff --git a/atlantis.txt b/atlantis.txt deleted file mode 100644 index 118ef5a..0000000 --- a/atlantis.txt +++ /dev/null @@ -1,67 +0,0 @@ -====================== -|| Project ATLANTIS || -====================== - - -SUMMARY - -Atlantis is a framework for creating an MUD world. It includes an interpreted -language for describing places, items, monsters and NPCs; provides networking -capabilities for multiplayer games and a text-based user interface. Inspired -by Dungeons and Dragons and influenced by OpenWorld, it is written in -Common Lisp. - - -GAME PLAY - -The player navigates around the world using shell-like commands. He is immersed -into the game by DnD-like descriptive texts; new areas of the world can be -generated on the fly by the players themselves. It is a RPG, players aim to -develop their characters and can interact with other players. - - -TECHNICAL CHALLENGES - -Networking: does Common Lisp support networking? threading? If not the latter, - how can a real-time networked multiplayer game be implemented? - -> CLisp supports neither :-( However, it should be - possible to write a simple server-client model in C and then - integrate it with the CL code. A lot of the networking is - probably passing simple strings around, so that shouldn't be - too difficult. The threading is probably more of a challenge. - (If it's necessary, that is?) - -> actually, clisp does support networking via sockets. Yeah! :-) - (But that means I would have to change the Atlantis license to - GPL. I should have a look at the cl-iolib...) - - -Implementation: presumably Atlantis will have to have a server-client model. - How do the two communicate? Are there alternative implementation - models? - -> As stated above, this should be fairly easy to solve - with string representations of objects in Lisp. (Just pass - the *world* object to the client, for instance.) - -> SECURITY RISK! - -> I would like to implement this in a way that keeps the - entire game logic on the server. The only thing the client - should do is take input from the user and send it to the - server. - -> For the sake of better code separation, it would probably - be wise to create two Lisp packages (server and client). - - -PLAN OF ACTION - TODO - -Networking: as described above. I would tend to leave this for quite late, the - only problem might be that at a later stage, it would take a lot of - refactoring/rewriting to adjust the game to deal with networking. - Perhaps I can build a mockup of a server-client situation now, and - do the actual implementation later. - -Game features: Currently (v0.1), creating the world using ATL works, and the - player can move around. Now I need to add game items, NPCs, - monsters, a combat system, etc. - -Targets: I am almost at v0.2. After that, I should start building a real game - world to mature the game on. Also, I should keep thinking about how - to implement the networking. By v0.4 I hope to have that up and running. diff --git a/ATL/Pooh/characters.atl b/ATL/Pooh/characters.atl index a636cd1..f2d2ef0 100644 --- a/ATL/Pooh/characters.atl +++ b/ATL/Pooh/characters.atl @@ -9,7 +9,7 @@ ; NPCs define-npc "Piglet" - description "Piglet is Pooh's best friend. He is always cheerful (except + description "Piglet is your best friend. He is always cheerful (except when he's scared) and always ready for a bit of fun." says "Hi there, Pooh, good to see you!" says "I heard Tigger discovered a cave in the forest. Creepy, isn't it?" @@ -23,7 +23,7 @@ quest "Bring jacket" define-npc "Roo" - description "Roo is Pooh's youngest friend. He loves a good romp, especially + description "Roo is your youngest friend. He loves a good romp, especially with his friend Tigger." says "Hey Pooh, Tigger and I were going to go looking for Christopher Robin. Do you want to come along?" @@ -86,6 +86,8 @@ doesn't happen to be lost, he's quite a nice fellow to have around." says "Bzzzzz..." + says "I saw Christopher Robin at Galleon's Lap. Do you know what he is + doing there?" define-npc "Henry Rush" description "Henry Rush is one of Small's brothers. Or cousins. Or something diff --git a/ATL/Pooh/dialogue/clues.txt b/ATL/Pooh/dialogue/clues.txt index d316264..220d01b 100644 --- a/ATL/Pooh/dialogue/clues.txt +++ b/ATL/Pooh/dialogue/clues.txt @@ -13,3 +13,5 @@ If you're hurt, go and find Kanga. If you chase Tigger long enough, he may have something for you. If you don't know what you're doing, go home and think! +Once your cupboard is full of honey, you can go and find Christopher Robin. +Get Owl to read the letter to you by depositing it in his letterbox. diff --git a/ATL/Pooh/items.atl b/ATL/Pooh/items.atl index f7c6a36..a720ff6 100644 --- a/ATL/Pooh/items.atl +++ b/ATL/Pooh/items.atl @@ -116,7 +116,20 @@ define-item "Picture frame" description "You made this picture frame from four sticks and some string. Not very good perhaps, but it will do." - + +define-item "Ship" + description "A small wooden ship that Christopher Robin has been working on. + It's not quite finished yet, but it looks very fancy and + ever so delicate. You seem to remember that Christopher Robin + called it a galleon or something like that. He was always + going on about galleons..." + +define-item "Notice" + description "A tattered piece of paper is stuck to the door. It's badly torn + and you can't really read anyway, but you can make out a few letters: + G?N? T? G?LL??N? L??" + fixed + define-item "Jacket" description "This is a small, bright red rain jacket. It looks about the right size to fit Roo." @@ -179,6 +192,12 @@ a good idea to carry this around with you..." command "read" +define-item "Foot prints" + description "These foot prints look as if they were made by a pair of gum + boots going up the hill towards Galleons Lap. Now, why would a + pair of boots go there?" + fixed + define-item "Card" description " ................................... diff --git a/ATL/Pooh/woods.atl b/ATL/Pooh/woods.atl index c0e2243..51ff520 100644 --- a/ATL/Pooh/woods.atl +++ b/ATL/Pooh/woods.atl @@ -151,6 +151,7 @@ home and the stream that marks the edge of the woods." neighbour "Central woods" neighbour "Galleons lap" + item "Foot prints" hidden "berries" define-place "Galleons lap" @@ -303,6 +304,7 @@ appears to be shut just now. You wonder where he is?" neighbour "Eastern woods" neighbour "Workshop" + item "Notice" item "Balloon" item "Balloon" @@ -313,6 +315,7 @@ use some of the tools yourself, but you are not yet very good at it." neighbour "Christopher Robin's house" + item "Ship" item "String" command "craft" diff --git a/README b/README index 0ead934..26ac1c8 100644 --- a/README +++ b/README @@ -31,7 +31,7 @@ HACKING A programmer's manual (if you want to create your own worlds) -Copyright (c) 2015-2017 Daniel Vedder +Copyright (c) 2015-2018 Daniel Vedder Licensed under the terms of the GNU GPLv3. -Last modified 20/07/2017 +Last modified 5/01/2018 diff --git a/atlantis.txt b/atlantis.txt deleted file mode 100644 index 118ef5a..0000000 --- a/atlantis.txt +++ /dev/null @@ -1,67 +0,0 @@ -====================== -|| Project ATLANTIS || -====================== - - -SUMMARY - -Atlantis is a framework for creating an MUD world. It includes an interpreted -language for describing places, items, monsters and NPCs; provides networking -capabilities for multiplayer games and a text-based user interface. Inspired -by Dungeons and Dragons and influenced by OpenWorld, it is written in -Common Lisp. - - -GAME PLAY - -The player navigates around the world using shell-like commands. He is immersed -into the game by DnD-like descriptive texts; new areas of the world can be -generated on the fly by the players themselves. It is a RPG, players aim to -develop their characters and can interact with other players. - - -TECHNICAL CHALLENGES - -Networking: does Common Lisp support networking? threading? If not the latter, - how can a real-time networked multiplayer game be implemented? - -> CLisp supports neither :-( However, it should be - possible to write a simple server-client model in C and then - integrate it with the CL code. A lot of the networking is - probably passing simple strings around, so that shouldn't be - too difficult. The threading is probably more of a challenge. - (If it's necessary, that is?) - -> actually, clisp does support networking via sockets. Yeah! :-) - (But that means I would have to change the Atlantis license to - GPL. I should have a look at the cl-iolib...) - - -Implementation: presumably Atlantis will have to have a server-client model. - How do the two communicate? Are there alternative implementation - models? - -> As stated above, this should be fairly easy to solve - with string representations of objects in Lisp. (Just pass - the *world* object to the client, for instance.) - -> SECURITY RISK! - -> I would like to implement this in a way that keeps the - entire game logic on the server. The only thing the client - should do is take input from the user and send it to the - server. - -> For the sake of better code separation, it would probably - be wise to create two Lisp packages (server and client). - - -PLAN OF ACTION - TODO - -Networking: as described above. I would tend to leave this for quite late, the - only problem might be that at a later stage, it would take a lot of - refactoring/rewriting to adjust the game to deal with networking. - Perhaps I can build a mockup of a server-client situation now, and - do the actual implementation later. - -Game features: Currently (v0.1), creating the world using ATL works, and the - player can move around. Now I need to add game items, NPCs, - monsters, a combat system, etc. - -Targets: I am almost at v0.2. After that, I should start building a real game - world to mature the game on. Also, I should keep thinking about how - to implement the networking. By v0.4 I hope to have that up and running. diff --git a/doc/TODO b/doc/TODO index 25696cb..33cb6d5 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,8 +1,13 @@ ATLANTIS TODO +* complete walk-through + LISP * fix (string-from-list) bug +* adjust main menu to accomodate many users ATL -* simplify game +* make instructions more explicit +* add track/foot prints leading to CR +* add another empty jar in Kanga's house