Projekt, który będę
tu realizował w ramach akcji „Daj się poznać”, ma być
grą. Grą od której wybuchną wasze mózgi, grą którą IGN oceni
na 11/10 a w TVP zrobią o niej pozytywny (sic!) materiał, w którym
redaktor płaczliwym głosem stwierdzi, że gry są nowym lekarstwem
na raka.
No dobra tak
naprawdę to nie będzie tak różowo, bo grę, którą chcę
(z)robić ma być grą hakerską, trochę w klimatach gry Uplink
(fantastyczna produkcja Introversion Software, polecam!) czy też mniej znanego No hackers sky. W zasadzie ta druga gra zakiełkowała w moim umyśle
ten pomysł- również polecam ten tytuł, zwłaszcza, że jest
darmowy. Rozgrywka ma też nawiązywać do „hakowania” w filmach.
Więc w zasadzie gra
raczej nie będzie się (taką mam nadzieję) traktowała zbyt
serio.
![]() |
Tru 1337 h4xor |
(chociaż w takim
Matrix: Reaktywacja pokazali atak na hosta który przypomina coś
rzeczywistego- scena z Trinity w elektrowni)
Stare gry z lat 80 i
90 miały w sobie ten taki „pierwiastek szaleństwa” takiej
dziecinnej niedorzeczności np. głupawe power upy w Carmaggedonie,
które powodowały, że nasz pojazd skakał albo przechodnie byli dwa
razy więksi.
I żeby nie
zrzędzić- wiele nowych gier wraca do tych rozwiązań i obecnie
powstaje całkiem dużo totalnie odjechanych gier.
Chciałbym, żeby
docelowo moja gra właśnie taka trochę głupkowata- bo prawdę
powiedziawszy nie znam się za bardzo na hakowaniu oraz
zabezpieczeniach, jakieś tam pojęcie mam ale naprawdę nieduże.
Ale odchodzę od
tematu.
Nazwa, którą sobie
wymyśliłem to B4B3L, nie pytajcie mnie dlaczego- rozwinę ten
pomysł gdzieś po drodze. Tak, tak- założenia nie są jeszcze do
końca gotowe- póki co mam dość mglistą wizję tego co chcę
zrobić.
Ale z drugiej strony
mam ustabilizowane elementy (nawet mam trochę kodu) co do których
jestem pewien.
Przede wszystkim-
link do repozytorium na githubie
W katalogu docs
znajdują się dwa pliki: b4b3l_zalozenia.odt w którym (jak
nazwa wskazuje) znajdują się założenia projektowe gry.
Co do założeń- na
razie to jeden wielki bajzel ale staram się zapisywać każdy
nawet najdurniejszy pomysł. Stan obecny jest taki, że są tam
jeszcze stare pomysły, gdy kombinowałem, żeby to połączyć jakoś
z wykopem ( ͡° ͜ʖ ͡°) ale w końcu uznałem, że to zbyt głupie i
hermetyczne.
Drugi plik (TODO)
zawiera bieżące sprawy, niektóre luźno związane z prowadzeniem
projektu.
Przewiduję, że
przeniosę się z czasem na githubowe wiki oraz issues bo to
będzie o wiele bardziej czytelne- wszystko będzie w jednym miejscu.
No i inni ludzie też będą mogli rozwijać projekt :-)
Githuba będę
się starał utrzymywać w języku angielskim, bloga jakoś
wygodniej mi pisać w języku ojczystym :-)
Technologia
- Python 2.7
- framework Pygame w wersji 1.9.1
- Linux
Muszę się
wytłumaczyć z takiego wyboru- bo to wybór nieco nietypowy jeśli
chodzi o tworzenie gier.
Obecnie bardzo
popularne stało się tworzenie gier przy użyciu bardzo złożonych
narzędzi takich jak Unity czy Construct, które umożliwiają na
szybkie tworzenie gier na wiele różnych platform, zdejmując z
barków programisty ogrom prac jakich musiałby się podjąć,
żeby tylko dostarczyć grę na wymarzone urządzenia . Istnieją
nawet narzędzia, które umożliwiają na dość proste tworzenie
gier bez znajomości języków programowania! Takim narzędziem jest Game Maker, powstało w nim m.in. zjawiskowe „Hotline
Miami”.
Jednakże licznym
deweloperom nie podoba się „wysokopoziomowa” natura gotowych
rozwiązań więc decydują się pisać grę / silnik
samodzielnie od podstaw. Najczęstszym wyborem jest język C++, który
z jednej strony dostarcza mechanizmy umożliwiające na bardzo dużą
kontrolę nad kodem i pisanie bardzo wydajnych rozwiązań a z
drugiej strony dostarcza paradygmat obiektowy, który jest bardzo
naturalny w przypadku tworzenia gier.
Niemal każdy
znaczący silnik do gier jest napisany w C++.
ALE… Gdybym chciał
się uczyć C++ to tworzyłbym grę w C++. Gdybym chciał
poznać Unity, to tworzyłbym w Unity :-)
Od jakiegoś czasu
chciałem poznać i zrozumieć o co chodzi w Pythonie
Wiadomo- komuś może
nie spodobać się wybór starego już Pythona 2.7, którego
odradza się w przypadku tworzenia nowych projektów. Jednak
najwięcej materiałów i pomocy jest wciąż robiona pod „starego
węża” więc na razie trzymam się starej wersji. Jednakże w
planach mam przejście na nowszą wersję- potraktuję to jako
dodatkowe wyzwanie. Gdy projekt się rozwinie przepiszę go na
Pythona 3- co pozwoli mi na poznanie różnić pomiędzy tymi dwoma
wersjami języka.
Ten projekt chcę
traktować jako poligon do różnych zbrodniczych eksperymentów
(muhahaha!)
Uważam, że nie ma
lepszego sposobu na naukę programowania niż praktyczne zastosowanie
wiedzy i douczanie się w trakcie. Jasne- czytanie książek,
tutoriali itd. jest bardzo ważne, ale ma to znaczenie dopiero wtedy,
kiedy możemy użyć tego w praktyce. I stąd ten wybór.
Pygame samo w sobie
jakimś cudem nie jest. Od dłuższego czasu nie jest nawet
rozwijane, ale to nie jest jakiś wielki problem bo jest dokumentacja która jest całkiem niezła a użytkownicy wciąż są aktywni (reddit i
stackoverflow). Pygame tak naprawdę jest nakładką na SDL- jest to
bardzo popularna biblioteka (nie silnik!) do tworzenia gier w C++. Ponieważ SDL został przeniesiony na różne platformy (podobnie jak
Python) teoretycznie nie powinno być problemu z przenoszeniem gry z
Linuksa na Windowsa czy Maca (w praktyce nigdy nie jest tak różowo,
wiem z doświadczenia :-], zwłaszcza gdy rośnie złożoność
projektu- trzeba pamiętać, że Winda trochę inaczej traktuje
drzewo katalogów itd.).
Jeszcze się
zastanawiam, czy nie robić tylko na Windowsie z prozaicznego powodu-
lepszego kompa mam z Windowsem :D Zobaczymy, na razie „trzaskam”
na Linuksie.
Z racji tego, że
trochu się już rozpisałem, zapowiadam, że następny wpis
będzie wreszcie merytoryczny i będzie zawierał mięso tzn. jakiś
kod. Jeszcze nie wiem jak się wrzuca na blogspocie kod źródłowy
(buuuuuuuuuu! Noob!) ale mam nadzieję, że sobie z tym poradzę.
No i opiszę założenia pierwszego etapu ("kamienia milowego") :-)
No i opiszę założenia pierwszego etapu ("kamienia milowego") :-)
PS. Był kiedyś
taki blog gościa który się nazywał „Leniuch” i on tam
miał taką tradycję, że na końcu wpisu linkował do jakiegoś
utworu muzycznego. Takoż robię i ja.
Heh w sumie do kogo
ja piszę, i tak nikt tego nie czyta, oprócz botów Google i ciebie
Adamie :P
Miłego!
EDIT: i zapomniałem o najważniejszym: nie dodałem linka do repozytorium na GitHubie, bo założyłem, że jak ktoś tu wchodzi to zna już ten link. Oto i on:
https://github.com/Nicramus/b4b3l_the_hacker_game
https://github.com/Nicramus/b4b3l_the_hacker_game
Brak komentarzy:
Prześlij komentarz