Added a much better initial tutorial, so people new to the 4X genre can find their arms and legs around the game

This commit is contained in:
Yair Morgenstern 2019-04-01 00:05:11 +03:00
parent 9eb9176b2a
commit 6796c1868b
2 changed files with 88 additions and 5 deletions

View File

@ -42,7 +42,7 @@
ScienceVictoryScreenEntered : [
[
"This is the science victory screen, filter you",
"This is the science victory screen, here you",
" can see your progress towards constructing a ",
" spaceship to propel you towards the stars."
],
@ -89,10 +89,91 @@
"Before we begin, let's review some basic game concepts."
],
[
"Running a civilization is difficult. Everyone wants something.",
"Your citizens are constantly begging for more more luxury goods, more food, and wealth.",
"And then there are the other powers that, more often than not, treat you as nothing more than a means to an end."
],
[
"All games of Unciv start the exact same way.",
"You start out with a few units -",
" a Settler - who can found a city,",
" and a scout, for exploring the area.",
"Click on a tile to assign orders the unit!"
" a Warrior - a basic military unit,",
" and a Scout, for exploring the area."
],
[
"It is up to you to found your capital city.",
"This is actually an important task because your capital city will probably be your most prosperous.",
"Many game bonuses apply only to your capital city and it will probably be the center of your empire."
],
[
"Once you have your first city up and running youll be able to start production of a new unit",
" and youll be able to begin your research.",
"Im not going to delve too deeply into the research element of the game yet that will be handled later in the guide ",
" so lets just talk about production."
],
[
"The first thing coming out of your city should be either a Scout or Warrior."
"I generally prefer the Warrior because it can be used for defense and because it can be upgraded",
" to the Swordsman unit later in the game for a relatively modest sum of gold.",
"Scouts can be effective, however, if you seem to be located in an area of dense forest and hills.",
"Scouts dont suffer a movement penalty in this terrain."
],
[
"If youre a veteran of the 4x strategy genre your first Warrior or Scout will be followed by a Settler.",
"Fast expanding is absolutely critical in most games of this type.",
"But not so fast! Before you start expanding, lets explore why large empires are hard to manage in Unciv."
],
[
"As cities grow in size and influence they also are able to work more territory.",
"You also have to deal with a happiness mechanic that is no longer tied to each individual city.",
"Instead, your entire empire shares the same level of satisfaction.",
"As your cities grow in population youll find that it is more and more difficult to keep your empire happy."
],
[
"In addition, you cant even build any city improvements that increase happiness until youve done the appropriate research.",
"If your empires happiness ever goes below zero the growth rate of your cities will be hurt.",
"If your empire becomes severely unhappy (as indicated by the smiley-face icon at the top of the interface)",
" your armies will have a big penalty slapped on to their overall combat effectiveness."
],
[
"This means that it is very difficult to expand quickly in Unciv."
"It isnt impossible, but as a new player you probably shouldnt do it."
],
[
"So what should you do? Chill out, scout, and improve the land that you do have by building Workers.",
"Only build new cities once you have found a spot that you believe is appropriate."
],
[
"When do you know a spot is appropriate?",
"Thats not an easy question to answer, but looking for and building next to luxury resources is a good rule of thumb.",
"Luxury resources are tiles that have things like gems, cotton, or silk (indicated by a smiley next to the resource icon)",
"These resources make your civilization happy. You should also keep an eye out for resources needed to build units, such as iron."
],
[
"However, cities dont have a set area that they can work - more on that later!"
"This means you dont have to settle cities right next to resources.",
"Lets say, for example, that you want access to some iron but the resource is right next to a desert."
"You dont have to settle your city next to the desert. You can settle a few tiles away in more prosperous lands.",
"Your city will grow and eventually gain access to the resource.",
"You only need to settle right next to resources if you need them immediately ",
" which might be the case now and then, but youll usually have the luxury of time."
],
[
"Once youve settled your first two or three cities youre probably 100 to 150 turns into the game.",
"Now is a good time to start thinking about how, exactly, you want to win if you havent already."
],
[
"There are three ways to win in Unciv. They are:",
"Cultural Victory: Complete 4 Social Policy Trees",
"Domination Victory: Survive as the last civilization",
"Science Victory: Be the first to construct a spaceship to Alpha Centauri"
],
[
"These are the basics of Unciv found a prosperous first city, expand slowly to manage happiness,",
" and set yourself up for the victory condition you wish to pursue."
"Obviously, there is much more to it than that, but it is important not to jump into the deep end before you know how to swim.",
"If youre new to games like Unciv you should simply focus on executing what was covered in this tutorial.",
"Later tutorials will focus on more advanced topics, like combat and research."
]
],

View File

@ -27,8 +27,6 @@ class Tutorials{
fun displayTutorials(name: String, stage: Stage) {
if (UnCivGame.Current.settings.tutorialsShown.contains(name)) return
UnCivGame.Current.settings.tutorialsShown.add(name)
UnCivGame.Current.settings.save()
val texts = getTutorials(name, UnCivGame.Current.settings.language)
tutorialTexts.add(Tutorial(name,texts))
if (!isTutorialShowing) displayTutorial(stage)
@ -74,6 +72,10 @@ class Tutorials{
button.onClick {
tutorialTable.remove()
if(!UnCivGame.Current.settings.tutorialsShown.contains(currentTutorial.name)) {
UnCivGame.Current.settings.tutorialsShown.add(currentTutorial.name)
UnCivGame.Current.settings.save()
}
if (!tutorialTexts.isEmpty())
displayTutorial(stage)
else