"Nei Epos". Fir Devs, Ops a virwëtzeg Leit

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit

Wéinst villen Ufroe vu Lieser fänkt eng grouss Serie vun Artikelen un iwwer d'Benotzung vun der serverloser Rechentechnologie fir eng richteg Applikatioun z'entwéckelen. Dësen Zyklus deckt d'Applikatiounsentwécklung, Testen a Liwwerung un Ennbenotzer mat modernen Tools: Mikroservice Applikatiounsarchitektur (an enger serverloser Versioun, baséiert op OpenFaaS), Cluster kubernetes fir Applikatioun Détachement, Datebank MongoDB, konzentréiert sech op Cloud Clustering an Uwendung, souwéi Cloud Bus NATS. D'Applikatioun implementéiert d'Spill "Epics", eng vun de Varianten vum populäre Parlor Spill "Mafia".

Wat sinn "Epics"?

Dëst ass eng Variant vum Spill "Mafia", och bekannt als "Werewolf". Et baséiert op engem Teamspill an deem d'Participanten Schrëtt fir Schrëtt musse léieren wien ass wien a probéieren ze gewannen. Leider, wann Dir online spillt, verschwënnt sou e wichtege Bestanddeel vum Spill wéi perséinlech Interaktioun, an d'Regele vun der klassescher "Mafia" sinn zimlech einfach, dofir, fir e méi net-linear an interessant Spillsaach, ginn normalerweis aner Charaktere bäigefüügt, awer am Allgemengen sinn d'Haaptmerkmale vun der Original "Mafia" preservéiert, zum Beispill, d'Ännerung vun Dag an Nuecht, bewegt nëmmen an der Nuecht, souwéi Allianzen tëscht Participanten. En anere wichtegen Ënnerscheed tëscht Online spillen ass datt den Host (alias Game Master, Storyteller) normalerweis e Computerprogramm ass.

Spielbeschreiwung

D'Spillregelen, déi ech ëmsetzen wëll, sinn aus engem alen irc Bot geholl, deen ech viru ronn 10 Joer a mengem perséinlechen Archiv gespäichert hunn. "Epics" hunn e Backstory mat deem all Spill ufänkt:

Am wäitem Räich, am drëssegsten Staat, iwwer déi siwe Mierer, hunn e puer Dierfer gelieft a gelieft, an an hinnen Gutt Frënn и Schéin Meedercher. Si hunn Brout gesäiert an sinn an de Bësch ronderëm gaang fir Champignonen a Beeren ze plécken ... An dat ass vu Joerhonnert zu Joerhonnert weidergaang, bis eng schrecklech Katastroph d'Äerd gerëselt huet an d'Béist sech iwwer d'Welt verbreet huet! D'Nuechte goufe laang a kal, an an der Däischtert hunn onfrëndlech a schrecklech Kreaturen de Bësch geschloen an an d'Duerf wandern. Vun iergendwou ukomm Zmey Gorynych an huet d'Gewunnecht Roude Meedercher ze klauen an alles wäertvollt vun den Dierfer ewechzehuelen. Schiedlech a gourmandseg Baba Yaga, deen op engem Mörser aus wäitem Bëscher geflunn ass, hunn de Geescht vun den Awunner duercherneen bruecht, an och e puer hunn hiert Handwierk opginn an an de Bësch gaangen, fir ze beklauen, an do eng Bande geformt. D'Béiser begéint Goblin, dee wousst, wéi een sech a Beem a Bëscher verwandelt, huet hien ugefaang friddlech Dierfer ze iwwerwaachen an d'Raiber ze déngen, nozekucken, ob d'Good Fellows op eppes waren, fir hir Siedlunge vu béise Geeschter ze befreien. Gutt Matbierger a schéin Meedercher, midd vun den Iwwerfäll vun de Raiber, a schrecklechen Doudesfäll an den Hänn vun de schrecklechen Schéin One-Eyed, Gold gesammelt an e berühmte Ringer aus enger Nopeschstad invitéiert - Ivan Tsarevich, déi versprach huet, d'Duerf vu Raiber ze befreien. An enger Clearing am Bësch huet den Ivan vum gewëssen Doud gerett Grey Wolf, deen an d'Pitfal vun de Raiber gefall ass. Am Géigesaz, huet de Wolf versprach den Tsarevich iwwer verschidde Bësch Séilen z'informéieren. E berühmten Healer ass laanschtgaangen Vasilisa de Wise, a wéi se Ierger gesinn huet, ass si bliwwen fir d'Awunner ze këmmeren, déi un den Attacke vun de schlëmmen gelidden hunn. Hannert dem Bësch koum e schwaarze Palais op, an deem hien sech no Rumeuren néiergelooss huet Koschey den Onstierflechen, all Nuecht huet hien d'Dierfer besicht an d'Good Fellows an d'Rout Maiden verzaubert, fir datt si sech net trauen, seng Uerder ze verfollegen, si géifen alles maachen, wéi hie gesot huet. A sech am Liewenslosen Bësch néiergelooss Kaz Baiyun, a jidderee, deen hien begéint huet, ass no senge Geschichten ageschlof oder ass u sengen Eisenklauen gestuerwen.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Wäit wäit ewech Räich

Wéi Dir scho gesitt, sinn d'Spiller an e puer Gruppen opgedeelt:

  • Zivilisten (Good Fellows, Red Maidens, Ivan Tsarevich, Grey Wolf a Vasilisa the Wise)
  • Raiber (d'Raiber selwer, souwéi Baba Yaga a Leshy)
  • onofhängeg (Snake-Gorynych, Dashing One-Eyed, Frog Princess, Koschey the Immortal, Cat-Bayun)

D'Zil vum Spill, wéi uewen ernimmt, ass lieweg ze bleiwen a gewannen. D'Géigner mussen d'Spill op déi eng oder aner Manéier verloossen, an Onofhängeger mussen och bis zum Enn vum Spill lieweg bleiwen. D'Spill huet Gold, eng Zort Spillwährung déi Spiller nëmmen am Spill verdéngen. D'Gewënner kréien Gold. Der méi Gold, der héich de Spiller d'Bewäertung.

Ech wäert e bësse méi detailléiert iwwer d'Beschreiwung vun de Personnagen ophalen.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Gutt Frënd

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Red Maiden

Gutt Frënd и Red Maiden - déi meescht verbreet an Haaptroll am Spill. Dëst sinn Zivilisten, déi nuets schlofen an am Dag schaffen. An der Nuecht gi se vun engem vun de Raiber attackéiert, der Schlange Gorynych an aner Rollen, a Vasilisa de Wise heelt se. Mat e puer kleng Wahrscheinlechkeet kann de Good Fellow oder d'Red Maiden den Attack ouni Schued iwwerliewe (méiglecherweis Gold am Prozess verléieren), awer jiddereen erkennt de Spëtznumm vum Spiller den nächsten Dag nom Attack. An der Nuecht maachen dës Spiller keng Beweegunge, awer analyséieren d'Spillsituatioun baséiert op Messagen am Spillchat. Während dem Dag entscheeden dës Spiller andeems se ofstëmmen, wien vun hinnen net de Good Fellow oder d'Red Maiden ass. De Spiller, deen d'Majoritéit vun anere Spiller gewielt huet, verléisst d'Spill, déi reschtlech Spiller kréien oder verléieren Gold. Wann d'Spiller kee vun der Majoritéit wielen, gëtt kee Spiller ausgefouert.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Ivan Tsarevich

Ivan Tsarevich - Ufank en anonyme Verteideger vun Zivilisten. Nuets iwwerpréift hien d'Roll vun anere Spiller, well hien nëmmen ee vu senge Alliéierten kennt - de Grey Wolf. Mat der direkter Participatioun vum Grey Wolf (deen och d'Roll vun anere Spiller kontrolléiere kann), kann den Ivan Tsarevich, amplaz ze kontrolléieren, en anere Charakter an der Nuecht ëmbréngen. Wann, als Resultat vum Scheck, Ivan Tsarevich d'Roll vun engem Good Fellow oder Red Maiden an engem Spiller gesäit, da kann hien se op seng Plaz invitéieren an hinnen de Grey Wolf an aner Good Fellows a Red Maidens virstellen. Den Ivan kann vun der Frog Prinzessin gestéiert ginn, déi him nuets verféiere kann, ouni seng Roll während dem Dag aner Spiller ze verroden. Wann den Ivan selwer d'Frog Prinzessin entdeckt, kann hien hir invitéieren fir d'Zivilisten matzemaachen, awer wann d'Prinzessin refuséiert, stierft si un den Hänn vum Ivan. D'Serpent-Gorynych kann och dem Ivan-Tsarevich seng Schecken stéieren, awer, am Géigesaz zu der Frog Prinzessin, wäert hien am Laf vum Dag deenen anere Spiller soen, wien vun hinnen den Ivan-Tsarevich ass. Dagsiwwer ass den Ivan Tsarevich net anescht wéi aner Good Fellows.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Groe Wollef

Groe Wollef - Assistent vum Ivan Tsarevich, deem säi schaarfe Gerochssinn hëlleft dem Ivan aner Good Fellows a Red Maidens ze fannen. Grey Wolf erzielt dëse Spiller wien den Ivan den Tsarevich ass, an informéiert och iwwer aner Spiller mat de Rollen vu Good Fellows a Red Maidens. Wann de Wolf e Raiber oder anere Feind entdeckt, informéiert hien den Ivan Tsarevich direkt, fir datt hien an der nächster Nuecht handele kann. Wann de Wollef vun der Frog Prinzessin attackéiert gëtt, gëtt hien zu engem gewéinleche Good Fellow a ka kee méi iwwerpréiwen, an d'Prinzessin wäert net wëssen datt et tatsächlech de groe Wollef war, well de Wollef nuets net schléift. Wéi och ëmmer, de Wollef selwer wäert am Laaf vum Dag erausfannen, wéi eng vun de Spiller d'Fräschprinzessin ass, a ka probéieren de Rescht vun de Good Fellows a Red Maidens, déi hien dem Ivan Tsarevich bruecht huet, fir d'Ausféierung vum Frog ze stëmmen. Prinzessin. Och an der nächster Nuecht kann hien probéieren d'Fräschprinzessin anonym op d'Säit vun den Zivilisten ze iwwerzeegen, fir datt si keng vun hinnen beréiert. De Wollef kann sech an der Nuecht opferen fir den Ivan Tsarevich oder de Vasilisa de Wise ze retten, wann hien ugeholl datt se op eemol ënner d'Attack vu Raiber falen, oder vum Koshchei zombifizéiert goufen (de Wolf huet eng gebierteg Immunitéit géint de Koshchei Charme), awer no d'Selbstopfer de Wolf fällt aus dem Spill.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Vasilisa de Wise

Vasilisa de Wise - spillt fir Zivilisten, awer si wëssen net iwwer hatt, well Vasilisa ganz bescheiden ass. Och Vasilisa de Wise, wann se behandelt, stellt keng Froen an, wéi e gudden Dokter, behandelt jiddereen. Awer wann Koschey, Likho oder Leshy hir Medizin drénken, wäerte se net méi wéi een Dag liewen, well Vasilisa nëmme Leit behandelt. D'Medezin vum Vasilisa de Wise hëlleft och net der Schlang Gorynych oder der Cat-Bayun, awer si bréngen och kee Schued. Och Kot-Bayun beréiert Vasilisa net an der Nuecht, well Vasilisa net an de Lifeless Forest geet fir Medikamenter Kraider ze kafen. Zousätzlech funktionnéieren d'weiblech Charme vun der Frog Prinzessin net op Vasilisa. Wa si probéiert hire Patient zweemol ëmzebréngen, wier d'Medizin mächteg. Vasilisa wäert Iech net vu mageschen Attacken retten, zum Beispill vum Dashing Fluch. Während dem Dag verhält sech d'Vasilisa wéi eng Red Maiden, an nëmmen e flüchtege, liicht traureg Bléck kann e bëssen hinweisen datt si dee beschten Healer am wäit ewech Räich ass.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Raiber

Raiber, Géigesaz zu all virdrun Rollen, si kennen all aner, well se an der selwechter Lair liewen, an och Leshy a Baba Yaga kennen, sou datt se direkt vun der éischter Beweegung am Concert kënnen handelen. Awer nëmmen de Leader vun der Bande mécht Aktiounen an der Nuecht a stëmmt net während dem Dag, während de Rescht vun de Raiber sech fläisseg maache wéi Good Fellows a Red Maidens. Wann de Leader d'Spill aus iergendengem Grond verléisst, hëlt ee vun de verbleiwen Rogues direkt seng Plaz. Als éischt probéieren d'Raiber den Ivan den Tsarevich auszeschalten bis hien genuch Kräfte vu Good Fellows a Red Maidens gesammelt huet fir de Raiber während dem Dag aktiv ze konfrontéieren.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Goblin

Goblin an der Nuecht spionéiert hien fir d'Raiber, informéiert hinnen iwwer d'Rollen, déi an hirem Lair fonnt goufen, awer am Dag stëmmt hien net, well hien net am Duerf wunnt. Wéi och ëmmer, aner Spiller kënnen de Leshy ofstëmmen an hien esou ausféieren. Well de Leshy aus de Sumpf kënnt, kann hie sech net vun der Frog Prinzessin verféieren, a wann hie probéiert, wäert de Leshy hiert Haus markéieren, an d'Duerfbewunner wäerten erausfannen, wien si wierklech ass. Leshem sollt net Angscht virum Koshchei Zauber sinn, awer Vasilisa kann hien zum Doud heelen. Wann de Kot-Bayun probéiert de Leshy z'attackéieren, riskéiert hien seng Eisenklauen ze verléieren, an da muss de Kot d'Affer mat just sengem purring schlofen.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Baba Yaga

Baba Yaga Hie schafft och zesumme mat de Raiber a mécht Zauber an der Nuecht: hien kann entweder Krankheet un aner Spiller schécken oder ee vu sengen Alliéierten virun Attacke schützen. Hir Hexerei ass nach méi staark wéi dem Likh säi Fluch. Dagsiwwer ass och Baba Yaga aktiv: Jiddereen ënner hirem Schutz kann net souguer mat enger Majoritéit ofgestëmmt ginn. Wéi och ëmmer, d'Versuergung vu magesche Wuerzelen fir den Dagesschutz ass limitéiert, sou datt Baba Yaga kee méi wéi dräimol pro Spill schützen kann, och selwer selwer. Dagsiwwer mécht d'Baba Yaga sech als eng normal Red Maiden a stëmmt mat all deenen aneren.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Dragon

Dragon an der Nuecht flitt hien iwwer Dierfer, Bëscher a Sumpf a mécht sech a Raiber, a weist d'Roll vum Beklautte während dem Dag op. Dagsiwwer schléift d'Schlaang, sou datt hien net stëmmt, awer hie kann mat enger Majoritéit ofgestëmmt ginn. D'Schlaang ass ganz geféierlech fir jiddereen, besonnesch fir d'Raiber an den Ivan Tsarevich. D'Schlaang ass egal wien hien beklaut, awer wann hien vum Wolf oder dem Leshy entdeckt gëtt, kann hien e wäertvollen Alliéierten ginn. Wann Dir d'Schlaang an der Nuecht ëmbréngt, kënnt Dir, mat e puer Wahrscheinlechkeet, e ganz wäertvollen Artikel kréien - d'Schlaang Haut, déi säi Besëtzer eemol vu kierperlechen Attacke schützt.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Schéin One-Eyed

Schéin One-Eyed nuets killt hien jidderengem ëm, deen him op de Wee kënnt, a wien hien net ëmbrénge kann (Leshy, Kota-Bayun oder d'Schlaang Gorynych) verflucht hien, sou datt jiddereen, dee probéiert mat deem Verdammt an der selwechter Nuecht ze kommunizéieren, am Dag stierft . De Verdammt selwer stierft och an dësem Fall, nëmmen de Kot-Bayun stierft net, deen einfach an d'Bett geet fir Kraaft ze kréien, an d'nächst Nuecht säin Tour iwwerspréngt. Nëmme Baba Yaga kann de Likh vum Fluch retten. De Fluch beaflosst net deejéinegen, deen de Cat-Bayun besiegt huet: hien, wéi d'Kat, geet einfach an d'Bett a spréngt en Tour iwwer.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Prinzessin Frog

Prinzessin Frog kann net d'Spill gewannen, mee hien kann vill Suen verdéngen vun anere Spiller an der Nuecht verféieren. De versichte verpasst säin Tour. De Frosch kann d'Vasilisa d'Wise net verféieren, a si sollt och d'Leshy vermeiden, deen hatt den nächsten Dag jidderengem verroden. Wann den Ivan den Tsarevich oder de Leader vun de Raiber de Frog fannen, kënne si Zivilisten oder d'Raiber op hir Säit invitéieren, während den Ivan de Refus vum Frog net akzeptéiert, awer de Leader ass net sou pickeg. Awer d'Prinzessin ass zimmlech lëschteg, si kann en Duebelagent ginn, well trotz der Tatsaach datt si eleng net kann gewannen, ass dëst eng exzellent Chance fir Gold ze gewannen, well d'Chancen fir bis zum Enn vum Spill ze iwwerliewen staark eropgoen! Dagsiwwer mécht d'Fräschprinzessin sech wéi d'Rout Maiden a stëmmt mat jidderengem zesummen.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Koschey den Onstierflechen

Koschey den Onstierflechen wunnt a sengem Schlass. Nuets trëppelt hien duerch déi ronderëm Dierfer a zombéiert Good Fellows a Red Maidens, déi a säin Déngscht kommen an ouni Zweifel all Uerder ausféieren. Andeems Dir refuséiert eng Uerder auszeféieren, zum Beispill, während dem Dag anescht ze stëmmen wéi dat wat Koshchei gesot huet, oder Messagen am Chat während dem Dag ze schreiwen wann de Koshchei et verbueden huet, stierft dem Koshchei säi Servant. Sou kann de Koschey d'Resultater vum Vote am Dag beaflossen, och wann hie selwer net stëmmt. Wann de Koshchei ëmbruecht gëtt, stierwen och all seng Affer. Vasilisa kann den Servant Koshchei heelen, deen dann op seng ursprénglech Roll zréckkënnt. D'Schlaang-Gorynych an de Wollef hunn eng gebierteg Immunitéit géint d'Zombifizéierung, sou datt de Koschey, egal wéi vill hie wëll, se net a säi Service ëmsetzen. De Wolf kann och den Ivan oder Vasilisa aus Ierger hëllefen andeems hien sech selwer opfert. Saved by the Wolf kritt Wolf Immunitéit géint Zombien.

"Nei Epos". Fir Devs, Ops a virwëtzeg Leit
Kaz Baiyun

Kaz Baiyun Liewen am Bësch, Juegd an der Nuecht. Dagsiwwer schléift hien a sengem Huel, also bedeelegt hien net un der Ofstëmmung. Allerdéngs kann hien am Laf vum Dag mat enger Majoritéit ofgestëmmt ginn. D'Kaz kann op zwou Manéieren attackéieren: purr - an da schléift säin Affer a kann nuets net goen, a kann den nächsten Dag net wielen - oder direkt mat Eisenklauen ëmbréngen. Attacke mat Klauen funktionnéiert net op der Schlaang-Gorynych, a nodeems de Leshy attackéiert ass, kann d'Kaz iwwerhaapt ouni Klauen gelooss ginn! Dashing kann d'Kaz net verfluchten, déi nom Fluch einfach eng Nuecht schléift. Wann iergendeen et fäerdeg bréngt Kota-Bayun ze besiegen, gëtt hien vun all Krankheet oder Krankheet geheelt, och de Fluch vu Likh. Dës Cat Fäegkeet bleift beim Spiller bis zum Enn vum Spill. Dem Koshchei seng Dénger kënnen net am Dag fir d'Kaz stëmmen, mä si kënnen indirekt erausfannen, wien d'Kaz ass, ouni de Koshchei doriwwer z'informéieren. Kot-Bayun geet net an Allianzen mam Ivan oder de Raiber, sou datt si dat primär Zil fir Kot sinn.

Technologien benotzt

Fir d'Spill ze schreiwen, hunn ech serverlos Rechentechnologie baséiert op OpenFaaS gewielt, well et einfach genuch ass d'Spill ze organiséieren, a gläichzäiteg fortgeschratt genuch fir komplex Spillregelen ouni onnéideg Komplikatiounen ze schreiwen. Ech wäert och e Kubernetes Cluster benotzen, well dës Method fir Uwendungen z'installéieren mécht et zimmlech einfach an zouverlässeg fir séier Deployment ze kréien an d'Fäegkeet fir einfach ze skaléieren. Fir d'Spilllogik ze kreéieren, kënnt Dir nëmme mat OpenFaaS kommen, awer ech probéieren och de Storyteller als separat Container ze maachen fir d'Komplexitéit vun der Implementatioun ze vergläichen. Als Haaptprogramméierungssprooch fir Mikroservicer a Funktiounen hunn ech gewielt Go, well ech et fir eng laang Zäit a menger Fräizäit studéiert hunn fir Perl z'ersetzen, an js gëtt op Basis vun engem bestëmmte Kader fir Benotzerinteraktioun mat Mikroservicer a Funktiounen benotzt. Ech soen Iech iwwer déi definitiv Entscheedung am entspriechende Artikel an der Serie. Fir Funktiounen mateneen ze kommunizéieren, hunn ech NATS.io gewielt, well ech et scho virdru begéint hunn, an et huet zimlech einfach Integratioun a Kubernetes.

Announcement

  • Aféierung
  • D'Entwécklungsëmfeld opzestellen, d'Aufgab a Funktiounen opzedeelen
  • Backend Aarbecht
  • Frontend Aarbecht
  • CICD opsetzen, Testen organiséieren
  • Start eng Prouf Spill Sessioun
  • Resultater

Source: will.com

Setzt e Commentaire