"Epik Anyar". Pikeun devs, ops jeung jalma panasaran

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran

Kusabab seueur pamenta ti pamiarsa, sajumlah ageung tulisan dimimitian dina ngagunakeun téknologi komputasi tanpa server pikeun ngembangkeun aplikasi nyata. Siklus ieu bakal nutupan pamekaran aplikasi, uji sareng pangiriman ka pangguna akhir nganggo alat modéren: arsitéktur aplikasi microservice (dina versi tanpa server, dumasar kana OpenFaaS), klaster kubernetes pikeun deployment aplikasi, database MongoDB, fokus kana cloud clustering sarta aplikasi, kitu ogé awan beus NATS. Aplikasi ieu ngalaksanakeun kaulinan "Epics", salah sahiji varian tina kaulinan parlor populér "Mafia".

Naon ari "Epics"?

Ieu mangrupikeun varian tina kaulinan "Mafia", ogé katelah "Werewolf". Hal ieu dumasar kana kaulinan tim di mana pamilon kudu diajar step by step saha saha jeung nyoba meunang. Hanjakalna, nalika maén online, komponén penting tina kaulinan sapertos interaksi pribadi ngaleungit, sareng aturan klasik "Mafia" cukup saderhana, janten, pikeun midangkeun anu langkung non-linier sareng pikaresepeun, karakter sanésna biasana ditambah, tapi. Sacara umum, fitur utama "Mafia" aslina dilestarikan, contona, parobahan beurang jeung peuting, ngalir ngan peuting, kitu ogé alliances antara pamilon. Beda penting séjén antara maén online nyaeta host teh (alias Game Master, juru dongéng) biasana mangrupa program komputer.

Pedaran kaulinan

Aturan kaulinan anu kuring hoyong laksanakeun dicandak tina bot irc kuno anu kuring simpen dina arsip pribadi kuring sakitar 10 sababaraha taun ka pengker. "Epics" gaduh latar tukang dimana unggal pertandingan dimimitian:

Di karajaan anu jauh, dina kaayaan katilu puluh, saluareun tujuh sagara, sababaraha desa cicing sareng cicing, sareng di antarana. Babaturan alus и Budak awéwé geulis. Aranjeunna sowed roti jeung indit ka leuweung sabudeureun pikeun nyokot suung jeung berries... Sarta ieu dituluykeun ti abad ka abad, nepi ka musibah dahsyat ngoyagkeun Bumi jeung jahat mimiti sumebar ka sakuliah dunya! Peuting janten panjang sareng tiis, sareng dina poék, mahluk anu teu sopan sareng pikasieuneun ngajalajah leuweung sareng ngumbara ka kampung. Anjog ti mana Naga sarta ngagaduhan kana kabiasaan maok maidens Beureum sarta nyokot jauh sagalana berharga ti warga désa. Ngabahayakeun jeung sarakah Baba Yaga, nu ngapung dina mortir ti leuweung jauh, bingung pikiran pangeusina, malah sababaraha nyerah karajinan maranéhanana sarta indit ka leuweung pikeun ngarampog, ngabentuk geng di dinya. Penjahat papanggih Goblin, Anu weruh kumaha carana ngahurungkeun kana tangkal jeung bushes, manéhna mimitian ngawas desa damai jeung ngawula ka garong, sniffing kaluar naha Fellows Good geus nepi ka hiji hal pikeun leupas padumukan maranéhanana roh jahat. Babaturan anu saé sareng budak awéwé anu geulis, bosen ku razia para perampok, sareng maot anu dahsyat di tangan anu dahsyat. Dashing Hiji-Eyed, ngumpulkeun emas sareng ngondang pegulat terkenal ti kota tatangga - Ivan Tsarevich, anu jangji baris nyingkirkeun kampung begal. Dina hiji clearing di leuweung, Ivan disimpen tina maot tangtu Ajag kulawu, nu murag kana pit bubu tina Garong. Sabalikna, Wolf jangji pikeun nginpokeun ka Tsarevich ngeunaan rupa-rupa roh jahat leuweung. Dukun kasohor ngaliwat Vasilisa nu Wijaksana, Jeung lamun manéhna nempo kasulitan, manéhna cicing pikeun ngarawat warga nu geus ngalaman ti serangan nu dashing leuwih. Tukangeun leuweung mucunghul karaton hideung, nu, nurutkeun rumor, anjeunna netep Koschei nu Deathless, Saban peuting nganjang ka desa-desa jeung nyihir-nyihir Kawan Alus jeung Biyung Beureum sangkan ulah wani-wani ngalanggar parentah-parentahna, sakur anu diomongkeunana. Sarta netep di Leuweung Nyawa Ucing Baiyun, jeung sakur anu panggih jeung manéhna saré sanggeus dongéngna atawa maot ku cakar beusi.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Karajaan Jauh Jauh

Sakumaha anjeun tiasa tingali, pamaén dibagi kana sababaraha grup:

  • warga sipil (Good Fellows, Red Maidens, Ivan Tsarevich, Grey Wolf sareng Vasilisa the Wise)
  • garong (garong sorangan, kitu ogé Baba Yaga jeung Leshy)
  • mandiri (Snake-Gorynych, Dashing One-Eyed, Frog Princess, Koschey the Immortal, Cat-Bayun)

Tujuan tina kaulinan, sakumaha disebutkeun di luhur, nyaeta tetep hirup jeung meunang. Lawan kudu ninggalkeun buruan hiji atawa cara sejen, sarta bebas ogé kudu tetep hirup nepi ka ahir kaulinan. Kaulinan boga emas, jenis mata uang kaulinan anu pamaén earn ngan dina kaulinan. Anu meunangna meunang emas. Beuki emas, beuki luhur rating pamuter.

Kuring bakal Huni di leuwih jéntré saeutik dina pedaran karakter.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
sasama alus

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Budak Beureum

sasama alus и Budak Beureum - peran paling nyebar sarta utama dina kaulinan. Ieu mangrupikeun warga sipil anu bobo wengi sareng damel siang. Peuting aranjeunna diserang ku salah sahiji garong, nu Serpent Gorynych jeung kalungguhan lianna, sarta Vasilisa nu Wise heals aranjeunna. Kalawan sababaraha probabiliti leutik, nu Good Fellow atawa Beureum maiden bisa salamet serangan tanpa karuksakan (jigana leungit emas dina prosés), kumaha oge, dulur bakal ngakuan nickname pamuter urang poé saterusna sanggeus serangan. Peuting, pamaén ieu teu nyieun belah mana wae, tapi nganalisis kaayaan kaulinan dumasar kana pesen dina obrolan kaulinan. Beurang, pamaén ieu mutuskeun ku voting nu mana di antarana anu lain Good Fellow atawa Red Maiden. Pamuter anu dipilih ku mayoritas pamaén séjén ninggalkeun buruan, pamaén sésana nampi atanapi leungit emas. Lamun pamaén henteu milih saha ku sora mayoritas, euweuh pamaén bakal dieksekusi.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Ivan Tsarevich

Ivan Tsarevich - mimitina mangrupa bek anonim sipil. Peuting anjeunna pariksa peran pamaén séjén, sabab anjeunna terang ngan hiji babaturan deukeut na - Gray Wolf. Jeung partisipasi langsung tina Gray Wolf (anu ogé bisa pariksa kalungguhan pamaén séjén), Ivan Tsarevich, tinimbang mariksa, bisa maéhan karakter sejen peuting. Lamun, salaku hasil tina cék, Ivan Tsarevich nilik peran hiji sasama Good atawa maiden Beureum dina pamuter, teras anjeunna tiasa diondang aranjeunna ka tempatna sarta ngenalkeun aranjeunna ka Gray Wolf jeung Fellows alus sejen tur maidens Beureum. Ivan bisa diganggu ku Putri bangkong, anu bisa ngagoda anjeunna peuting, tanpa nembongkeun peran na ka pamaén séjén beurang. Upami Ivan nyalira mendakan Putri bangkong, anjeunna tiasa ngajak anjeunna gabung sareng warga sipil, tapi upami Putri nolak, anjeunna maot di tangan Ivan. Ular-Gorynych ogé tiasa ngaganggu cék Ivan-Tsarevich, tapi, teu sapertos Putri bangkong, siang anjeunna bakal nyarioskeun ka pamaén sanés anu mana Ivan-Tsarevich. Beurang, Ivan Tsarevich teu béda ti Good Fellows lianna.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
ajag kulawu

ajag kulawu - asisten ka Ivan Tsarevich, anu rasa getol bau mantuan Ivan manggihan Fellows alus sejen tur Maidens Beureum. Gray Wolf ngabejaan pamaén ieu saha Ivan nu Tsarevich, sarta ogé informs ngeunaan pamaén séjén kalawan peran Good Fellows na Beureum Maidens. Lamun Ajag manggihan hiji garong atawa musuh sejenna, anjeunna geuwat informs Ivan Tsarevich sangkan bisa nyandak Peta peuting salajengna. Lamun Ajag diserang ku Putri bangkong, manéhna robah jadi sasama Good biasa jeung teu bisa mariksa saha, jeung Putri moal nyaho yén ieu sabenerna Wolf Gray, sabab Wolf teu bobo peuting. Sanajan kitu, ajag sorangan bakal manggihan salila poé nu pamaén mangrupa Putri bangkong, sarta bisa nyoba ngolo-ngolo sesa Fellows Good sarta Maidens Beureum, saha anjeunna dibawa ka Ivan Tsarevich, pikeun milih palaksanaan bangkong. Putri. Oge peuting saterusna, manéhna bisa nyoba anonim ngolo-ngolo Putri bangkong ka sisi sipil jadi manéhna teu noél salah sahijina. Ajag bisa ngorbankeun dirina peuting pikeun nyalametkeun Ivan Tsarevich atawa Vasilisa nu Bijaksana, lamun manehna nganggap yén maranéhna bakal ujug-ujug murag dina serangan garong, atawa geus zombified ku Koshchei (Sang Ajag boga kekebalan bawaan kana pesona Koshchei). Wolf, sanggeus timer kurban, pakait kaluar tina kaulinan.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Vasilisa nu Wijaksana

Vasilisa nu Wijaksana - maén keur sipil, tapi maranéhna teu nyaho ngeunaan dirina, saprak Vasilisa pisan modest. Ogé, Vasilisa nu Bijaksana, nalika ngubaran, teu nanya na, kawas dokter alus, ngubaran dulur. Tapi upami Koschey, Likho atanapi Leshy nginum obatna, aranjeunna moal hirup langkung lami ti hiji dinten, sabab Vasilisa ngan ukur ngubaran jalma. Ubar Vasilisa the Wise ogé moal ngabantosan oray Gorynych atanapi Cat-Bayun, tapi ogé moal ngarugikeun. Ogé, Kot-Bayun henteu nyabak Vasilisa peuting, sabab Vasilisa henteu angkat ka Leuweung Lifeless kanggo mésér jamu ubar. Sajaba ti éta, pesona bikang tina bangkong Putri teu dianggo dina Vasilisa. Upami aranjeunna nyobian maéhan pasienna dua kali, ubarna moal aya kakuatanana. Vasilisa moal nyalametkeun anjeun tina serangan gaib, contona tina kutukan Dashing. Beurang, Vasilisa behaves kawas maiden Beureum, sarta ngan fleeting, katingal rada hanjelu bisa hint saeutik yén manéhna téh dukun pangalusna di Far Far Away Raya.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Ngabodok

Perampok, Teu kawas sagala kalungguhan saméméhna, maranéhna terang silih, saprak maranéhna hirup di Lair sarua, sarta ogé nyaho Leshy jeung Baba Yaga, ngarah bisa meta dina konsér katuhu ti move munggaran. Tapi ngan Pamingpin gorombolan nu ngalakukeun lampah peuting jeung teu milih beurang, bari sesa Begal rajin pura-pura jadi sasama alus sarta maidens beureum. Lamun Pamimpin ninggalkeun kaulinan pikeun alesan naon, salah sahiji Rogues sésana geuwat nyokot tempat na. Anu mimiti, para Garong nyobian nganonaktipkeun Ivan the Tsarevich dugi ka anjeunna parantos ngumpulkeun kakuatan anu cekap ti Good Fellows sareng Red Maidens pikeun aktip ngalawan perampok siang.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Goblin

Goblin peuting anjeunna spies keur garong, informing aranjeunna tina kalungguhan kapanggih dina Lair maranéhna, tapi beurang anjeunna teu milih, saprak manehna teu cicing di kampung. Sanajan kitu, pamaén séjén bisa milih pikeun Leshy sahingga ngaéksekusi anjeunna. Kusabab si Leshy asalna ti rawa, anjeunna teu tiasa kagoda ku Putri bangkong, sareng upami anjeunna nyobian, Leshy bakal nyirian bumina, sareng warga desa bakal terang saha anjeunna leres-leres. Leshem teu kudu sieun mantra Koshchei, tapi Vasilisa bisa nyageurkeun manéhna nepi ka maot. Lamun Kot-Bayun nyoba narajang Leshy, anjeunna resiko kaleungitan cakar beusi na, lajeng Kot kudu lull korban saré kalawan ngan purring na.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Baba Yaga

Baba Yaga Anjeunna ogé gawé bareng jeung Garong jeung casting mantra peuting: anjeunna boh bisa ngirim gering ka pamaén séjén atawa ngajaga salah sahiji sekutu na tina serangan. Sihirna malah leuwih kuat batan kutukan Likh. Beurang, Baba Yaga ogé aktip: saha dina panangtayungan dirina teu bisa dieksekusi sanajan ku sora mayoritas. Nanging, pasokan akar sihir pikeun panyalindungan siang terbatas, janten Baba Yaga teu tiasa ngajagi saha waé, kalebet dirina, langkung ti tilu kali per patandingan. Beurang, Baba Yaga pura-pura janten Maiden Beureum biasa sareng milih sareng anu sanés.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Naga

Naga peuting anjeunna flies leuwih desa, leuweung jeung rawa sarta kalibet dina rampog, nembongkeun peran nu rampok beurang. Beurang, Ular saré, jadi manéhna teu milih, tapi manéhna bisa dieksekusi ku sora mayoritas. Oray pisan bahaya pikeun sarerea, utamana pikeun garong jeung Ivan Tsarevich. Oray teu paduli saha anjeunna robs, tapi lamun kapanggih ku Wolf atawa Leshy, anjeunna bisa jadi babaturan deukeut berharga. Lamun maéhan oray peuting, anjeun tiasa, kalawan sababaraha probabiliti, nampi barang pohara berharga - Kulit oray, nu bakal ngajaga boga na sakali tina serangan fisik.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Dashing Hiji-Eyed

Dashing Hiji-Eyed Peuting anjeunna maéhan saha waé anu ngahalangan, sareng saha waé anu anjeunna teu tiasa maéhan (Leshy, Kota-Bayun, atanapi Serpent Gorynych) anjeunna kutuk, supados saha waé anu nyobian komunikasi sareng anu dikutuk dina wengi anu sami bakal maot siang. . Anu dikutuk sorangan oge maot dina hal ieu, ngan Kot-Bayun teu maot, anu ngan saukur indit ka ranjang pikeun meunangkeun kakuatan, skipping giliran na peuting salajengna. Ngan Baba Yaga tiasa nyalametkeun Likh tina kutukan. Kutukan henteu mangaruhan jalma anu ngéléhkeun Ucing-Bayun: anjeunna, sapertos Ucing, ngan saukur bobo sareng ngaluncurkeun péngkolan.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Putri bangkong

Putri bangkong teu bisa meunang game, Tapi anjeunna bisa earn loba duit ku seducing pamaén séjén peuting. Nu digoda lasut péngkolan. Bangkong henteu tiasa ngagoda Vasilisa the Wise, sareng anjeunna ogé kedah nyingkahan Leshy, anu bakal ngahianat anjeunna ka sadayana dinten salajengna. Lamun Ivan nu Tsarevich atawa Pamimpin Garong manggihan bangkong, aranjeunna bisa ngondang sipil atawa garong ka sisi maranéhna, bari Ivan moal nampi panolakan bangkong, tapi Pamimpin teu jadi picky. Tapi Putri rada licik, manéhna bisa jadi agén ganda, sabab sanajan kanyataan yén manéhna teu bisa meunang sorangan, ieu téh kasempetan alus teuing pikeun meunangkeun emas, sabab kasempetan salamet nepi ka ahir kaulinan greatly ngaronjat! Beurang, Putri bangkong nyamar jadi maiden Beureum tur votes jeung dulur babarengan.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Koschei nu Deathless

Koschei nu Deathless hirup di puri-Na. Peuting, anjeunna walks ngaliwatan desa sabudeureun tur zombifies Good Fellows jeung Beureum Maidens, anu datang kana layanan sarta unquestioningly ngalaksanakeun sagala pesenan. Ku nolak ngalaksanakeun paréntah, contona, pikeun milih siang anu béda ti anu dicarioskeun ku Koshchei, atanapi nyerat pesen dina obrolan nalika siang upami Koshchei ngalarang éta, Abdi Koshchei maot. Ku kituna, Koschey bisa mangaruhan hasil voting salila poé, sanajan manéhna sorangan teu milih. Upami Koshchei tiwas, sadaya korbanna ogé maot. Vasilisa tiasa ngubaran Abdi Koshchei, anu lajeng balik deui ka peran aslina. Oray-Gorynych jeung Ajag boga kekebalan bawaan pikeun zombification, jadi Koschey, euweuh urusan sabaraha manéhna hayang, teu bisa ngahurungkeun kana jasa-Na. Ajag ogé tiasa ngabantosan Ivan atanapi Vasilisa kaluar tina kasulitan ku cara ngorbankeun dirina. Disimpen ku Wolf acquires kakebalan Wolf mun zombification.

"Epik Anyar". Pikeun devs, ops jeung jalma panasaran
Ucing Baiyun

Ucing Baiyun hirup di leuweung, moro peuting. Beurang saré di kerung, jadi teu milu milih. Sanajan kitu, salila poé manéhna bisa dieksekusi ku sora mayoritas. Ucing tiasa nyerang ku dua cara: purr - teras korbanna saré sareng teu tiasa leumpang peuting, sareng teu tiasa milih dinten énjing - atanapi maéhan langsung ku cakar beusi. Nyerang ku cakar henteu tiasa dianggo dina Snake-Gorynych, sareng saatos nyerang Leshy, Ucing tiasa ditinggalkeun tanpa cakar! Dashing teu bisa kutukan Ucing, anu sanggeus kutukan ngan saukur bakal bobo sapeuting. Lamun aya nu bisa ngéléhkeun Kota-Bayun, manéhna bakal cageur tina sagala panyakit atawa kasakit, kaasup kutukan Likh. Kamampuhan Ucing ieu tetep aya dina pamuter dugi ka ahir patandingan. Pagawé Koshchei teu bisa milih Ucing salila poé, tapi maranéhna teu langsung bisa manggihan saha éta Ucing tanpa ngabejaan Koshchei ngeunaan eta. Kot-Bayun teu asup kana aliansi jeung Ivan atawa Garong, jadi aranjeunna target primér pikeun Kot.

Téknologi dipaké

Pikeun nulis kaulinan, Kuring milih téhnologi komputasi serverless dumasar kana OpenFaaS, saprak éta cukup basajan pikeun ngatur kaulinan, sarta dina waktos anu sareng cukup maju nulis aturan kaulinan kompléks tanpa komplikasi perlu. Kuring ogé bakal ngagunakeun klaster Kubernetes, saprak metoda ieu deploying aplikasi ngajadikeun eta cukup basajan tur dipercaya pikeun meunangkeun deployment gancang jeung kamampuhan pikeun gampang skala. Pikeun nyieun logika kaulinan, Anjeun ngan bisa meunang ku OpenFaaS, tapi kuring ogé bakal nyoba nyieun Storyteller salaku wadah misah pikeun ngabandingkeun pajeulitna palaksanaan. Salaku basa programming utama pikeun microservices sarta fungsi, kuring milih Go, Kusabab kuring geus diajar eta pikeun lila dina waktu luang kuring pikeun ngaganti Perl, sarta JS bakal dipaké dumasar kana kerangka tangtu pikeun interaksi pamaké kalawan microservices sarta fungsi. Kuring bakal ngabejaan Anjeun tentang kaputusan final dina artikel pakait dina séri. Pikeun komunikasi fungsi saling, kuring milih NATS.io, sabab kuring kungsi ngalaman eta sateuacan, sarta eta boga integrasi cukup gampang kana Kubernetes.

Bewara

  • perkenalan
  • Nyetel lingkungan pangwangunan, ngarecah tugas kana fungsi
  • Karya backend
  • Karya hareup
  • Nyetél CICD, pangatur nguji
  • Mimitian sési kaulinan percobaan
  • hasil

sumber: www.habr.com

Tambahkeun komentar