{"id":1,"date":"2016-09-26T13:50:58","date_gmt":"2016-09-26T11:50:58","guid":{"rendered":"http:\/\/gieorgijewski.pl\/blog\/?p=1"},"modified":"2025-08-27T13:22:48","modified_gmt":"2025-08-27T11:22:48","slug":"na-poczatku-byla-gra","status":"publish","type":"post","link":"https:\/\/gieorgijewski.pl\/blog\/na-poczatku-byla-gra\/","title":{"rendered":"Na pocz\u0105tku by\u0142a gra&#8230;"},"content":{"rendered":"<p>Cze\u015b\u0107!<\/p>\n<p>Bez zb\u0119dnych ceregieli &#8211; po co ten blog, dlaczego, jak cz\u0119sto &#8211; przechodz\u0119 do sedna&#8230;<br \/>\nI do prezentu dla moich pierwszych Czytelnik\u00f3w.<\/p>\n<p>Od kiedy interesuj\u0119 si\u0119 komputerami, czyli od dzieci\u0144stwa w latach 80-tych, pierwszym i najwa\u017cniejszym zastosowaniem komputera by\u0142y dla mnie gry.<\/p>\n<p>Wiele si\u0119 od tamtego czasu zmieni\u0142o, komputer sta\u0142 si\u0119 dla mnie narz\u0119dziem codziennej pracy, a to jak sta\u0142 si\u0119 og\u00f3lnie powszechny spowodowa\u0142o, \u017ce troch\u0119 zacz\u0105\u0142em zapomina\u0107 jaki zachwyt wzbudza\u0142 we mnie kiedy\u015b, gdy mimo 64KB pami\u0119ci pod mask\u0105 i 2MHz procesora przenosi\u0142 mnie w inne wspania\u0142e \u015bwiaty, stawia\u0142 przede mn\u0105 wyzwania intelektualne i manualne.<\/p>\n<p>Tw\u00f3rcy gier jawili si\u0119 dla mnie wtedy, jak wspaniali magicy, poeci,\u015bwietni muzycy i b\u0142yskotliwi in\u017cynierowie w jednym. Marzenia o staniu si\u0119 jednym z takich geniuszy wydawa\u0142y si\u0119 nieuzasadnione. Przecie\u017c moja gra nie b\u0119dzie si\u0119 r\u00f3wna\u0142a z ich grami, nie umiem tak dobrze programowa\u0107, nie znam si\u0119 na grafice, nie mam talentu muzycznego, itd\u2026<\/p>\n<p>Czasem stawiamy sobie ograniczenia, kt\u00f3re nie pozwalaj\u0105 nam po prostu czerpa\u0107 rado\u015bci z tego, co naprawd\u0119 lubimy robi\u0107.<br \/>\nA tworzenie gier jest jeszcze wi\u0119ksz\u0105 rado\u015bci\u0105 ni\u017c granie w nie.<br \/>\nA tworzenie gier, w kt\u00f3re kto\u015b z ch\u0119ci\u0105 gra, to ju\u017c szczyt spe\u0142nienia.<\/p>\n<p>Czy mo\u017cna robi\u0107 pierwsze gry maj\u0105c prawie czterdziestk\u0119?<br \/>\nMo\u017cna, tak jak mo\u017cna zacz\u0105\u0107 malowa\u0107, \u015bpiewa\u0107, biega\u0107 czy majsterkowa\u0107.<br \/>\nPo prostu nale\u017cy przesta\u0107 marzy\u0107\u2026<\/p>\n<p>Dlatego zapraszam do zagrania poni\u017cej w moj\u0105 pierwsz\u0105 gr\u0119, kt\u00f3ra jest inspirowana znan\u0105 zabaw\u0105.<br \/>\nZasady s\u0105 nast\u0119puj\u0105ce:<\/p>\n<ul style=\"padding-left: 20px;\">\n<li>Mamy 12 pi\u0142ek w rz\u0119dzie, z kt\u00f3rych ostatnia jest specjalna, bo jest bomb\u0105!<\/li>\n<li>Wybieramy, kto zaczyna &#8211; my czy komputer.<\/li>\n<li>Gracze robi\u0105 ruchy na zmian\u0119, kt\u00f3re polegaj\u0105 na zabraniu jednej lub dw\u00f3ch pi\u0142ek.<\/li>\n<li>Kto zabierze ostatni\u0105 pi\u0142k\u0119 &#8211; bomb\u0119, przegrywa.<\/li>\n<\/ul>\n<p>Zagrajcie przeciw komputerowi i zobaczcie, czy i kiedy potraficie z nim wygra\u0107.<\/p>\n<p>\n<!-- iframe plugin v.5.2 wordpress.org\/plugins\/iframe\/ -->\n<iframe loading=\"lazy\" src=\"https:\/\/gieorgijewski.pl\/subtraction\/subgame.html\" width=\"100%\" height=\"400px\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<br \/>\nMam nadziej\u0119, \u017ce gra sprawi\u0142a Wam cho\u0107 chwil\u0119 rado\u015bci, tak jak mnie sprawi\u0142a wiele rado\u015bci\u00a0praca nad ni\u0105. Ta prosta gra zosta\u0142a zrobiona w HTML\u2019u i Javascripcie, kt\u00f3rego si\u0119 aktualnie ucz\u0119.<\/p>\n<p>Zanim usiad\u0142em do programowania, zrobi\u0142em sobie ma\u0142y projekt gry, taki dokument, kt\u00f3ry w \u015bwiecie\u00a0tw\u00f3rc\u00f3w gier, zwany jest GDD &#8211; Game Design Document.\u00a0To jest bardzo przydatny etap robienia gry.<br \/>\nGdy mam ju\u017c przemy\u015blane i spisane, jak gra ma wygl\u0105da\u0107, jakie s\u0105 ekrany, jak wygl\u0105daj\u0105 ruchy gracza i komputera,\u00a0jaki jest algorytm gry, implementacja jest ju\u017c znacznie prostsza &#8211;\u00a0wiem do czego d\u0105\u017c\u0119 i skupiam si\u0119 ju\u017c tylko na problemach technicznych. Oczywi\u015bcie po drodze wysz\u0142y dwa zagadnienia,\u00a0kt\u00f3rych nie przewidzia\u0142em, pod wzgl\u0119dem mechaniki gry, ale to by\u0142y ju\u017c ma\u0142e rzeczy, wi\u0119kszo\u015b\u0107 mia\u0142em ju\u017c dobrze przemy\u015blane.<\/p>\n<p>W GDD wypisa\u0142em kilka dodatkowych atrakcji, kt\u00f3rych nie zaimplementowa\u0142em, bo wyd\u0142u\u017ca\u0142y proces programowania, a nie by\u0142y istot\u0105 gry.\u00a0Chcia\u0142em przede wszystkim gr\u0119 sko\u0144czy\u0107!<br \/>\nGra nie ma zbyt du\u017cej \u201eregrywalno\u015bci\u201d, jak si\u0119 zorientujecie, jak w ni\u0105 wygrywa\u0107, to w\u0142a\u015bciwie koniec zabawy.\u00a0Dlatego zach\u0119cam do komentowania &#8211; czy by\u0142a dla Was zaskoczeniem, czy chcecie \u017cebym j\u0105 dalej rozszerza\u0142 o nietkni\u0119te pomys\u0142y z GDD,\u00a0albo zg\u0142aszajcie w\u0142asne pomys\u0142y, jak gr\u0119 wzbogaci\u0107.<br \/>\nA mo\u017ce chcieliby\u015bcie przeczyta\u0107, jak w gr\u0119 wygra\u0107 i dlaczego w ten spos\u00f3b, oraz jak gra komputer, a tak\u017ce jak nauczy\u0107 komputer w ni\u0105 gra\u0107.<br \/>\nTen drugi temat na pewno i tak podejm\u0119 na blogu, od Was zale\u017cy, kt\u00f3ry najpierw.<\/p>\n<p>Tak\u017ce komentujcie, wybierajcie, sugerujcie!<\/p>\n<p>P.S. Dla zainteresowanych JavaScriptem: okazuje si\u0119, \u017ce ruch jest wzgl\u0119dny, zdarzenie onMouseOut jest generowane nie tylko przez kursor uciekaj\u0105cy znad obiektu, ale te\u017c obiekt usuni\u0119ty z DOM, kt\u00f3ry by\u0142 pod kursorem\u2026<\/p>\n<div style=\"font-size: 8px;\">Icons made by <a title=\"Madebyoliver\" href=\"http:\/\/www.flaticon.com\/authors\/madebyoliver\" class=\"broken_link\">Madebyoliver<\/a> from <a title=\"Flaticon\" href=\"http:\/\/www.flaticon.com\" class=\"broken_link\">www.flaticon.com<\/a> is licensed by <a title=\"Creative Commons BY 3.0\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\" target=\"_blank\" rel=\"noopener\">CC 3.0 BY<\/a><\/div>\n<div style=\"font-size: 8px;\">Icons made by <a title=\"Freepik\" href=\"http:\/\/www.flaticon.com\/authors\/freepik\" class=\"broken_link\">Freepik<\/a> from <a title=\"Flaticon\" href=\"http:\/\/www.flaticon.com\" class=\"broken_link\">www.flaticon.com<\/a> is licensed by <a title=\"Creative Commons BY 3.0\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\" target=\"_blank\" rel=\"noopener\">CC 3.0 BY<\/a><\/div>\n<div style=\"font-size: 8px;\">Icons made by <a title=\"Roundicons\" href=\"http:\/\/www.flaticon.com\/authors\/roundicons\" class=\"broken_link\">Roundicons<\/a> from <a title=\"Flaticon\" href=\"http:\/\/www.flaticon.com\" class=\"broken_link\">www.flaticon.com<\/a> is licensed by <a title=\"Creative Commons BY 3.0\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\" target=\"_blank\" rel=\"noopener\">CC 3.0 BY<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cze\u015b\u0107! Bez zb\u0119dnych ceregieli &#8211; po co ten blog, dlaczego, jak cz\u0119sto &#8211; przechodz\u0119 do sedna&#8230; I do prezentu dla moich pierwszych Czytelnik\u00f3w. Od kiedy interesuj\u0119 si\u0119 komputerami, czyli od dzieci\u0144stwa w latach 80-tych, pierwszym i najwa\u017cniejszym zastosowaniem komputera by\u0142y dla mnie gry. Wiele si\u0119 od tamtego czasu zmieni\u0142o, komputer sta\u0142 si\u0119 dla mnie narz\u0119dziem &hellip; <a href=\"https:\/\/gieorgijewski.pl\/blog\/na-poczatku-byla-gra\/\" class=\"more-link\">Czytaj dalej<span class=\"screen-reader-text\"> \u201eNa pocz\u0105tku by\u0142a gra&#8230;\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-gra"],"_links":{"self":[{"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":25,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":361,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions\/361"}],"wp:attachment":[{"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gieorgijewski.pl\/blog\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}