Modulo por la Ludejo
Kiam mi komencis la servon de la ludo Mineclonia por la esperanta komunumo mi trovis kelkajn aferojn tre bazaj kaj al mi mankas komandoj por pli bone kaj afable ludi. Mi pensis solvi tiujn mankojn per la programado de modulo por Luanti/Mineclonia. Ĝis nun, mi ne havis sufiĉan tempon por sidiĝi kaj komenci la laboron. Do, hodiaŭ mi prezentas la komenco de la programado, kiu al mi ŝajnas promesa aŭ esperiga.
La 31a de marto vespere, mi komencis la laboron. Mi elstaris deponejon de fossil-scm ĉe mia persona servilo, kaj pretis ĝin por la tasko de regi la kodon de la projekto. Mi elektis fossil ĉar mi ja havas servilon por privataj aferojn: librotenado, notoj, taskoj, k.t.p. Do, mi komencis, sed estas malrapida laboro, ĉar mi lernas kiel funkcias la ludon interne dum mi programas. Tiu estas la unua modulo, kiu mi programas por Mineclonia, do antaŭ atingi sukcesan kodon, mi devas tro legi, pensi kaj esplori la internan API angle: Application Programming Interface aŭ esperante: aplikprograma interfaco..
La modulon mi nomas modesta[1], ĉar ĝi estas modesta, almenaŭ komence.
[1]: Vere la nomon alvenas de MODulo ESperanTA, sed mi ŝatas la dusencan nomon.
Trajtaro de la modulo
Kiel mi diris antaŭe, kiam mi komencis servi la ludon, mi trovis
kelkajn mankojn. Mi ludis antaŭe al Minetest game kaj mi kutime uzis
kelkajn komandojn, kiuj mankas en Mineclonia. Precipe, oni povas
ekloĝiĝi ie kaj reveni lokon per komando /home, konstrui vian domon
kaj protekti ĝin per protekta ŝtono. Mi provis tiujn protektajn
ŝtonojn, sed ili ne bone funkciis en Mineclonia, formanĝante ĉiu
memoro kaj haltante la servilon. Do, ankaŭ estas la afero pri la hejmo
de la ludantoj, kiu estas tre helpanta, kiam la ludanto estas en
problemoj, vi ne scias kiel daŭri ion aŭ vi estas tro dista kaj ne
volas alfronti la danĝerojn de la vojo... tajpante /home vi aperas en
via hejmo.
Mi komencis kreante etajn ŝtonojn, kiujn gvidos la funkciojn.
Poste la realigo de la «fizika» ŝtono, mi metis ĝin ĉe la unua loko,
kie oni povas iri por diversajn aferojn. La unua komando, kiu mi
intencas konsideri, en aliaj serviloj nomiĝas spawn. Tiu komando
alportas vin al loko kie vi aperas, kiam vi unue eniras la ludon.
Ĉirkaŭ tiu lokon mi konstruis la Babelan Turon por la komunumo. Do, mi
metis ŝtonon ĉe la centro kaj programis la unuan komandon babelen.
babelen.
La unuan komando —babelen— jam tre bone funkcias en la prova servilo,
eĉ de la infero.
La unuaj aferoj kiujn mi programos estos la movojn inter la lokojn
signalataj de la ŝtonoj. Sed mi pensis kelkajn aliajn aferojn por fari
tion. Unue, ĉar la ŝtonoj ankoraŭ protektos lokon por tiu kiu enmetos
ĝin. Mi ne volas centoj el ŝtonoj, preskaŭ forgesitaj tra la mondo
barante la ludon de la aliaj ludantoj. Do, mi limigos je du ŝtonoj per
ludanto. Unu por signali la hejmo, kiu atendos al komando hejmen, kaj
alia kie plaĉos al ludanto, kiu atendos al komando stelen. Se la
ludanto metos alian novan ŝtonon por hejmo —aŭ stelo—, la malnova
malaperos.
Atendu
Ankoraŭ la kodo ne estas en la ludejo. La servilo kiu mi montris per la bildoj estas nur en mia komputilo por provi la kodon. Se estus eraro kiu detruos aŭ difektos la ludon, nenio okazos. Do, ne provu la novajn komandojn, ankoraŭ ne funkcias.
Mi devas certigi, ke la kodo estas sekura.
Mi komencos per la movoj, nur per la movoj kaj ankoraŭ ne por la protektado, ĉar, ĝis nun, la ludantoj estas tre pacemaj kaj ili respektas la laboran konstruadon de la aliaj. Sed mi pensas ke, ĉar la servilo estas malfermita al Interreto, povos aperi iun ne tiel respektema, kiu amuziĝis per detruado.
Resumo de celoj
La celoj de la modulo, ĝis nun, estas tiuj:
- Teletransportado hejmen kaj stelen. Vidente la unua parto de la
programado, sukcesa, de la komando
babelen, mi ne esperas multajn problemojn por la teletransportado, sed eble por la datumbazo bezonata estos pli malfacila afero. - Limigo de la ŝtonoj per ludanto. Tio inkludas la eblo por permesi aliajn ludantojn uzi la proprajn ŝtonojn. Do tiel, se aro aŭ teamo de kunlaborantoj partoprenas, oni povas protekti grandan projekton kaj havi grandan moveblon per multajn ŝtonojn.
- Loko por la akiro de la ŝtonoj, ĉe la Babela Turo. Tio estas ia vendejo aŭ pli bone donacejo. La ŝtonoj ankaŭ povos esti elfaritaj, kiel ĉiu alia aĵo, sed por la komencantoj, kiuj ankoraŭ ne havas mediojn, ili povos de komence protekti sian domon.
- Protektado de la ĉirkaŭo de la ŝtonoj. Tiu estas, mi pensas, la plej malfacila de la aferoj por la programado.
Konkludo
La laboro antaŭen iras malrapide. Mi ne havas tro da tempon, sed iom post iom mi atingos la plenigon de la unuaj celoj. Kiam mi konkludos la teletransportado hejmen kaj stelen, kaj ankaŭ mi konstatos ke la kodon estas sekura por la servilo, mi alŝutos la modulon por provi ĝin pli reale. Unue mi metos ŝtonojn kie la ludantoj povos akiri siajn du ŝtonojn. Sed poste mi kreos lokon kie la ludanto povos preni ilin librevole. Kaj la lasta celo estos la protektado de la hejmo kaj la loko kie oni situos la ŝtonojn. Tiel, iom post iom, la celoj estos plenumitaj.
Aliaj aferoj, kiuj eble poste mi povos agordi por la ludo estas:
- Komando por konsulti rete la esperantan vortaron, tiel ĉe Vortaro.net, kiel reta-vortaro, eble ankaŭ la komputeko.
- Ludu esperanta muziko kiel fon-muziko, sed tiu ne ŝajnas ebla ĉar la aŭtoraj rajtoj.
- Legi aŭ pruntedoni elektronikajn librojn ĉe la biblioteko (en la subtera etaĝo de la Babela Turo) de la esperanta literaturo. Tio ŝajnas leĝe pli ebla ol la muziko, ĉar estas multa esperanta literaturo libera de rajtoj. Sed la programado estos malpli simpla.
Mi ankaŭ espere atendas sugestojn por aliaj aferoj, kiujn povas esti interesaj por la ludantoj. Vi povas peti aŭ sugesti tiujn aferojn ĉe la retoj:
- Per XMPP ĉe esperanto@salas.suchat.org
- Per Matrikso ĉe la esperanta babilado.
- Per Mastodono alklaku iu el la bildoj maldekstre, malsupren.
- Per retpoŝto vi havas ankaŭ ligilon maldekstre, alklaku la alinomon Notxor tie.
Comentarios