1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
[PELIN NIMI TÄHÄN]
==================
[pelin nimi] on tekstipeli, joka jäljittelee hieman Infocomin tekstipelejä ja
Z-koneen tuntumaa. Koska Z-koneen uudelleen keksiminen olisi tylsää, toteuttaa
[pelin nimi] ominaisuuksia, joita Z-koneeseen olisi ollut hankala toteuttaa.
Tällä on toki hintansa — seikkailujen lukeminen tekstitiedostoista olisi
tämän pelin Z-koneen ylittävien ominaisuuksien vuoksi hankalaa.
Ensimmäinen olennainen lisäys on moninpelipainotteisuus. Tämä olisi todennnä-
köisesti ollut toteutettavissa Z-koneeseenkin, esim:
=> https://github.com/icculus/mojozork
Toinen olennainen lisäys on suomalainen kulttuuriperintö, aikapaineella höys-
tettynä: pelissä lauletaan vihamiehiä suohon, ja se tapahtuu kirjoitusnopeus-
testien merkeissä!
Z-koneen kannalta haastavin lisäys (joskaan ei muutoin tämän pelin teknisesti
haastavin osuus) lienee monimutkaisempi ei-pelattavien henkilöhahmojen
tekoäly. Kun tekoälyt kirjoitetaan suoraan scala-ohjelmaan funktioina, voivat
ne olennaisesti tehdä mitä tahansa, sen sijaan että Z-kone millään lailla
rajoittaisi niitä.
Järjestelmävaatimukset (TÄRKEÄÄ)
--------------------------------
INTELLIJ IDEA:n OLETUSTERMINAALI EI OLE TUETTU!!! Sinun on pelattava tätä
jossain tuetussa terminaalissa. Muuten tuloste tulee näyttämään oudolta
(todennäköisesti rivin alku tulostuu toistuvasti siihen, mihin yrität
kirjoittaa tai kursorisi ei pääse pois rivin alusta). Onneksi tuetut
terminaalit ovat varsin yleisiä: nopealla testillä kaikki keksityt
terminaalit olivat tuettuja IDEAa lukuun ottamatta.
Tuettuja olivat ainakin:
* cmd.exe (dokumentaation perusteella - ei ollut saatavilla testiin)
* alacritty (toimii myös Windowsilla)
* xterm
* gnome-terminal
* konsole
* kitty
* xfce4-terminal
* jopa st (miten sekin on OOB parempi kuin IDEA?)
Tarkemmin määriteltynä, jos uuden terminaalin lataamista ennen tahdot varmistua
kyseisen terminaalin sopivuudesta: terminaalisi on tuettava ANSI-koodeja `ESC7`,
`ESC8` ja `ESC[0E` (jossa 0 voisi muissa sovelluksissa olla jokin muukin luku).
Näiden koodien bitit ovat samassa järjestyksessä 0x001b 0x0037, 0x001b 0x0038 ja
0x001b 0x005b 0x0045, mikäli edelliset merkinnät olivat epäselvät.
Pelin käynnistäminen
--------------------
Saat käynnistettyä pelin seuraavasti:
```
1) Liity viralliselle palvelimelle (cron4.fi)
2) Käynnistä palvelin laitteellasi ja liity sille
3) Liity mielivaltaiselle palvelimelle
> 1
Valitse itsellesi pelin sisäinen alter ego.
> [nimi]
[liityt peliin]
```
Huomaa, että olet liittynyt julkiselle palvelimelle, jolla saattaa olla muita
pelaajia. Jos olet assari arvioimassa, kovin moni tuskin vielä tietää pelistä
taikka palvelimesta, joten pelin tila lienee jotakuinkin ennallaan.
Moninpeliominaisuudesta saat eniten iloa irti, joten jaa [pelin nimi]
ystävillesi ja ala pelaamaan! Jos sinulla ei ole ystäviä, onnistuu moninpeli-
ominaisuuden testaaminen joko liittymällä useamman kerran julkiselle palveli-
melle tai pystyttämällä palvelin omalle koneelle seuraavasti `n` pelaajaa
varten.
Prosessi 1:
```
Miten tahdot pelata?
1) Liity viralliselle palvelimelle (cron4.fi)
2) Käynnistä palvelin laitteellasi ja liity sille
3) Liity mielivaltaiselle palvelimelle
> 2
Valitse portti palvelimelle. (Jätä tyhjäksi oletusta 2267 varten)
>
Kuinka monta pelaajaa pelissä saa olla samanaikaisesti?
> [n]
Syötä vuorojen aikaraja yksiköttömänä sekunneissa odottelun vähentämiseksi. Syötä 0 aikarajan poistamiseksi. (Jätä tyhjäksi oletusta 30 varten)
>
Palvelin käynnistetty taustalla.
Valitse itsellesi pelin sisäinen alter ego.
> [nimi]
[liityt peliin]
```
n x muu prosessi: (huom. en ole prosessiteekkari)
```
Miten tahdot pelata?
1) Liity viralliselle palvelimelle (cron4.fi)
2) Käynnistä palvelin laitteellasi ja liity sille
3) Liity mielivaltaiselle palvelimelle
> 3
Syötä palvelimen verkkotunnus.
> 127.0.0.1
Valitse portti palvelimelle. (Jätä tyhjäksi oletusta 2267 varten)
>
Valitse itsellesi pelin sisäinen alter ego.
> Bob
```
Huomaa, että pelin ajamista varten samalla koneella useampaan kertaan, on
IntelliJ IDEA:n ajokonfiguraatiota muokattava. Olettaen, että ohjelma on kerran
ajettu main-funktion play-napista, valitse play-napin vierestä valikko, jossa
lukee `main` tai `[pelin nimi]` -jotain. Sieltä valitse "Edit Configurations".
Valitse oikea kohde avautuvan ikkunan vasemmasta palkista, klikkaa kohtaa
"Modify options" ja valitse "Allow multiple instances". Sitten OK/Apply.
Jos tästä muodostuu ongelma, kannattaa ensin vähän googlata tai lukea seuraava
StackOverflow:
=> https://stackoverflow.com/questions/41226555/how-do-i-run-the-same-application-twice-in-intellij
Pelin tavoite
-------------
[lisää pelille tavoite]
Pelin pelaaminen
----------------
[pelin nimeä] ohjataan kutakuinkin samalla lailla, kuin Z-koneen pelejä.
On kuitenkin hyvä huomata, että peliä ohjaava serveri usein pakottaa vuorot
tiettyyn aikaraamiin muiden pelaajien odottelun vähentämiseksi. Tämä aikaraja
näkyy aina syötteen (merkitään '>'-merkillä) edessä:
```
Istut metsässä ja pohdit maailman menoa. Polkuja johtaa kaikkiin ilmansuuntiin.
[30]>
```
Yllä aikaraja olisi 30 sekuntia.
Myöskään kaikki komennot eivät ole samoja kuin Z-koneessa, eikä se ollut
tavoitekaan. Alla on lista komennoista:
`mene [suunta]`
Käskee pelaajan liikkua annettuun suuntaan.
`lepää`
Käskee pelaajan levätä, eli odottaa vuoron päättymistä.
`sano [viisaus]`
Sanoo annetun enemmän tai vähemmän viisaan lausahduksen ääneen.
`sano [terveiset] henkilölle [äiti]`
Sanoo annetut terveiset annetulle pelin sisäiselle henkilölle.
Pelin tekijöitä ei kuulu pitää vastuussa, jos tätä kautta yritetään
välittää terveisiä pelin ulkopuolisille henkilöille.
`laula [olento] suohon`
Aloittaa annetun olennon suohonlaulannan. Peli tulee seuraavaksi pyytämään
sinua kirjoittamaan jonkin säkeen, todennäköisesti kalevanlamitassa.
Kirjoita tämä säe niin nopeasti kuin pystyt, koska
laulun vaikutus määräytyy kirjoitusnopeuden
perusteella!
[lisää loput käskyt]
|