SKIP TO THE END TO DONWLOAD OR..: In the universe of beans a universal war is about to break lose, but one problem, Earth is
really behind in technology compared to most of the other aliens. You, as the president of
Earth has to get the aliens to sign a peace treaty to leave Earth out of the war.
Treaty is a text game I had the idea of a long while ago(like 2 years ago), and I made this little project since I'm not really serious with the whole idea. You just make choices(4 at max) to get
the planet's leader you're talking to to agree to sign a war treaty, if they disagree Earth
automatically gets blown up due to it not lasting long in the war.
The game has 5 levels now,at time of writing,(I made it in the last 2 days). Levels are split into "packs".
The two packs I have are "beans"(yes, beans. It's a universe) and a love2d related one called
lövely_war, that features 3 special guests. I wanted to add more but it takes time to make
a level(around one hour, not so long, but I don't have alot of time), and I can
only add guests with pictures, wanted to add some, but they had no avatar.
If you want me to make a level for you, you can say, and can also give details to what you want.
On the other hand, if you find this offensive to you, I can change your level a bit, or ... or...
o... please...no...remove it.
You can make your own levels too.
To make your pack follow the instructions
(A) STRUCTURE
--|*name of pack*
-----|images
-----|sounds
-----|levels
-----|music
1) Make a folder(directory) and give it the name of your pack
2) In that folder have 4 sub folders(empty or not):
images : stores all image references(any type supported by love2d),
sounds : stores all sounds(like voices),(ogg, wav, mid, or mp3),
levels: stores the json like .lua files that contain levels(ogg, wav, mid, or mp3)
music: contains music used for a game
All sources are universal across all projects, so try to name your files specially to avoid
overwritten data.
Sound/music files actually support anything supported by love2d that has 3 letters after the dot
(like .ogg and .wav)
(B) Levels
1) All levels are stored in a lua file in the levels directory of your pack.
2) All levels must return a table. This table will have the choices, configuration and speech
for the level.
3) A level file should have these configuration values:
(cumpulsory) String name: official name of the level/alien being talked to,
(compulsory) String source: name of picture used as potrait for level/alien, should have extension(eg. ".png"),
(cumpulsory) String description: description of level,
(preferred) Number textSpeed: how fast alien's text is typed, defaults to 0.05, the bigger the number the slower
(preferred) String textSound: name of sound used for alien talk, no extension("ba", not "bah.wav"),
(optional) String music: music used for level
(optional) Number musicVolume: volume of music, defaults to 0.5
(never use) Table parent refers to the pack thisnlevel returns to, leave empty, will be overwrittem
example:
Code: Select all
return {
name = "Bambooz the Bamboozler",
source = "bambooz.png",
textSpeed = 0.05,
textSound = "bah",
music = "tmp",
musicVolume = .2,
description = [[Bambooz is the leader of the Bamboozles that are all like those stingy rich business men
in fancy toilets... that's normal, right?]],
....
}
dialog structure:
Code: Select all
p1 = {
text = what alien says this at this point,
option1, option2
}
Code: Select all
{name of dialogue it leads to, option text}
To make a dialog the losing dialog, put no options and then put a variable in the
dialog BOOM and make it true, reversely you put SIGNED = true to make a winning scenario.
So now we could have something like:
Code: Select all
return {
....,
p1 = {
text = "Hello, adventurer",
{"p2","Hello"}, {"p14", "adventurer?"}
},
p2 = {
text = "So you are an adventurer, well now die...",
BOOM = true,
},
p3 = {
text = "I see you have guts to stand up for your name, I'll sign!",
SIGNED = true
}
}
...
gameDescription into the level(maybe under description, I don't know).
All in all it's pretty easy, especially if you're familiar with lua.
(C) Using pack
1) Copy and paste the pack into
i) A folder called gamedata(you can make that one too) into the external storage path for save data in löve,
(com.hmmmgameslite.treaty) or...
ii) The folder gamedata inside the treaty lovefile/folder(the same place main.lua is).
2) Run the game and you should see your pack there, hoorah, now you can get big and blow up(what, a dolphin?).
(D) Tips for writing levels
-It might be easy to code it, but maybe it gets complicated to write it so here's the method I use:
1) Type the first dialogue and all options for that dialogue, but only give one option the name of the dialogue it leads to.
2) Move to type out that dialogue and do the same thing as before(i.e. only give the first option the name of the dialogue it leads to.)
3) Repeat these steps until you get to an end condition(winning or losing), then go back to the start and find the option that doesn't
have the name of the dialogue it leads to.
4) Type the dialogue for that option and give it the dialogue's name.
5) Rinse and repeat until no more options have empty dialogue names.
You could also write it down on paper in a tree style structure and then type it, and then get big and blow up(que "what, a dolphin?").
(!) WATCH OUT FOR TYPOS.
If you have any suggestions you can say, if you have problems be free to spree, typos? All for corrections here. Levels can post them if you made any. Slander, sure. If you want to keep quiet do so, do what you want with it yadda yadda
...
...
but then blow up, it's kind of cumpulsory... Guests include pgimeno, zork and slime -_-