gildia.pl

Gildia Gier Komputerowych (http://www.gry.gildia.pl) => PC => Wątek zaczęty przez: Sajuuk' w Styczeń 02, 2014, 08:50:24 pm

Tytuł: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 02, 2014, 08:50:24 pm
Pierwsza sprawa: nie jestem botem i niczego nie chcę reklamować.
Druga sprawa: no dobra, może tylko trochę, ale mam szczere intencje. ; p

Jakie macie doświadczenia z tworzeniem gier PC? Ja niedawno odkryłem jaka to świetna zabawa i żałuję, że nie wziąłem się za to bodaj w wieku 15 lat, bo miałbym dziś już opanowane C/C++ na 100% (i zapewne uraz kręgosłupa oraz wadę -10 dioptrii w obojgu oczu). W każdym razie chciałbym się pochwalić grą i zachęcić do bezlitosnej krytyki.

Nazwa: Adsidera
Język: Python
Moduł: Pygame

Gdzie pobrać: http://sourceforge.net/projects/adsidera/ (http://sourceforge.net/projects/adsidera/)
Dostępne są wersje na Windowsa oraz Linuksa. Gra jest na licencji GPL 3, więc można swobodnie ściągać, rozpowszechniać, zaglądać w kod i modyfikować, jeśli się to właściwie zaznaczy.

Aha, zapomniałbym. Kieruje się kursorami, napędza się spacją, a startuje z Ziemi za pomocą entera. Esc = wyjście. Można też grać za pomocą dżojpada (pisałem to pod pada do PS3, więc zachęcam do eksperymentów).

Gra jest generalnie w wersji alfa, więc niedoskonałym zaczątkiem nawet bez menu głównego, ale główny silnik gry jest już funkcjonalny - mam tu na myśli przede wszystkim grawitację. Byłbym wdzięczny za jakieś komentarze i wytykanie bugów, bo skłoni mnie to do poprawy kodu.

Aha, nic nie prowokuje tak do pracy jak zazdrość, więc wrzucajcie cokolwiek kiedyś napisaliście. Niechże to będzie i turbopascal. ; p
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: DARKMAN w Styczeń 02, 2014, 09:11:45 pm
Spoko. Zawsze sobie mowie ze jak bede mial urlop to zaczne cos grzebac przy XNA (albo XCode)... jednak poki co wszystko konczy sie na checiach...
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Piekarz w Styczeń 02, 2014, 09:21:58 pm
Sam niedawno stworzyłem w C side scroll shootera pod Windows. Przynajmniej 1 poziom. :D Ale objawiły się pewne problemy, które część osób zrozumie:
- BitBlt tak naprawdę działa przeraźliwie wolno, bez użycia DirectX nie ma co myśleć o czymś dynamicznym
- nie myśl, że nie mając talentów graficznych uda ci się stworzyć coś pięknego, zasada "jakoś to będzie" nie działa
- najpierw zaprojektuj poziomy, przeciwników i określ mechanikę gry dopiero potem programuj, niestety zrobiłem na odwrót
- trzymaj się planu, zrób prostą grę, jeżeli zaczniesz dodawać w trakcie dodatkowe funkcjonalność to już po tobie
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 02, 2014, 09:26:00 pm
Co do ostatniego punktu: lepiej bym tego nie ujął.


Wrzucaj Piekarzu gierę, chcę zagrać.  :eek:
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Piekarz w Styczeń 02, 2014, 09:45:06 pm
Zostawiłem w formie rozgrzebanej. Działa wolniej niż zwykle. Grafika i muzyka "pożyczone" (na przykład feniks z HoMM 2). Nie chcę, żeby taki półprodukt zaśmiecał Internet. Zamieszczę jedynie screena.
http://postimg.org/image/ckbg9f60h/ (http://postimg.org/image/ckbg9f60h/)
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 04, 2014, 05:57:08 pm
Nie no, nie wygląda tak źle. Jest barwnie i trochę fantastycznie, do tego stopnia, że wygląda to na fantazję twórczą wspomaganą chemicznie.  :smile:


Btw. ile czasu pisze się coś takiego w C?
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Piekarz w Styczeń 04, 2014, 07:59:12 pm

Pół roku różnorakich prób z wykorzystaniem API Windows.

Właściwe programowanie jak już masz doświadczenie z pisaniem - powiedzmy 2 miesiące, potem dowolna ilość czasu na wieczne przeróbki po których jest tylko gorzej. Na tym etapie uświadamiasz sobie, że trzeba było zacząć od projektowania, założyć że zrobi się jak najmniej i sztywno tego trzymać.

Niejako poza C. Szukanie grafik po necie i przerabianie. Dodatkowy miesiąc. Na tym etapie dochodzisz do wniosku, że bez talentu graficznego to wszystko nie ma sensu. Muzykę i efekty pożyczyłem z innych gier/netu więc tutaj było szybko. :biggrin: Nauka API do dźwięku (xact3) była bardzo ciężka.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 04, 2014, 09:07:55 pm
Ja staram się na razie trzymać grafiki wektorowej, co znacznie mi ułatwia obsługę granic i kolizji, ale później mam zamiar przerobić wszystko na sprajty. Co do dźwięku, to python jest pod tym względem dość intuicyjny, problem jest natomiast z prawami autorskimi. Otóż zrobić grafikę to względnie prosta sprawa i tu tolerancja gracza jest spora, w przeciwieństwie niestety do muzyki. Nie wykorzystam żadnego istniejącego utworu, bo spotka mnie Słuszna Kara ze strony Właściciela Praw Autorskich, a z kolei komponowanie znośnej dla ucha muzyki np. jakiegoś ambientu, to dla wzrokowca trudna sprawa.


Swoją drogą utyskiwałeś na prędkość działania gry, a C bije pod tym względem pythona na głowę (jest do kilkunastu razy szybsze). Podeślj mi tą gierkę na maila z profilu, bo chętnie bym zobaczył jak to śmiga.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Piekarz w Styczeń 04, 2014, 09:56:44 pm
Ani myślę.  :razz:  Niektóre rzeczy muszą pozostać w grobie. Jeżeli chcesz mieć coś dynamicznego pod Windows naucz się DirectX. Od tego nie ma odwrotu.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Styczeń 05, 2014, 10:53:31 am
Ciekawy temat. Marzy mi się zrobienie giery z dowodzeniem flotą kosmiczną, ale z realistyczną fizyką. Problem że musiałbym to robić hobbistycznie po pracy, a zdaję sobie sprawę ile zgrubsza to byłoby godzin żeby działało (a gdzie żeby było grywalne...)

Choć jak macie jeszcze jakieś rady to chętnie przeczytam. :)

Sam gry do pokazania nie mam, Sajuuk'owej - jeszcze - nie sprawdziłem, ale obiecuję rzucić okiem.
A skrin Piekarza wygląda... psychodelicznie. :) Giera bankowo miałaby klimat.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 15, 2014, 09:44:48 pm
A w czym chcesz pisać tą grę? Co do realistycznej fizyki to zapomnij. Próbowałem wchodzić w takie mrzonki i faktycznie, w grze zaszyłem wzór F=G*m1m2/r^2, który czyni niesamowite rzeczy. Planety orbitują same wokół ośrodków masy i wręcz nie można się oderwać od obserwowania niesamowitego procesu ewolucji takich układów.


Niestety powoduje to, że przy względnie małych odległościach siły są gigantyczne, co skutkuje spektakularnymi kolizjami układów planetarnych i katapultowaniu księżyców w przestrzeń kosmiczną. Nie da się tak grać, trzeba oszukiwać zmiennymi. ;p


Swoją drogą wrzucam najnowszy release gry - 0.3!


Windows:
http://sourceforge.net/projects/adsidera/files/windows/Adsidera%200.3%20Windows/Adsidera_win_03.zip/download (http://sourceforge.net/projects/adsidera/files/windows/Adsidera%200.3%20Windows/Adsidera_win_03.zip/download)
Źródło:
https://sourceforge.net/projects/adsidera/files/source%20%28linux%29/ (https://sourceforge.net/projects/adsidera/files/source%20%28linux%29/)

Co dodałem:


- proste menu główne
- losowe generowanie układów planetarnych (niektóre mogą być niestabilne na dłuższą metę)
- ulepszony grawimetr, który pozwala wykryć duże skupiska mas i nawigować


Ściągajcie!
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Styczeń 16, 2014, 07:58:47 am
Nie no - nie wierzę w statki kosmiczne rozmiarów (o masie) takich, że trzeba by liczyć ich oddziaływania grawitacyjne.
Chodziło mi głównie o nawigowanie w kosmosie, to jest w próżni przy "0G". (Plus jakies strzelanie na "sensowny" dystans - a nie jak zwykle jest w grach ~5 długości staku...)
Potem, jak już bym to miał, to można by mysleć nad "bitwą na orbicie" - jakaś planeta (masa) dodawała by pole grawitacyjne.
Odpowiadając wprost: C++.
Rozwijając wypowiedź: od jakiegoś czasu chodziło mi pogłowie zabranie się za pisanie czegoś, ale potem znalazłem pracę i jest mniej czasu (ale za to jakaś kasa wpada do portfela), więc odesżło to na dalszy plan. Choć niedawno kilka elementów się złożyło (między innymi ten temat) i stwiedziłem że nie ma co czekać tylko trzeba się brać, odkopałem stare zapisane linki z jakimiś tutkami / pomocami / itp do C++ i postanowiłem że przynajmniej jeden wieczór w tygodniu będę coś tworzył.
Zacznę, ofc, od czegoś prostrzego, a może kiedyś dojdę do takiej wprawy, że uznam za możliwe do wykonania w sensownym czasie i przy rozsądnym nakładzie sił czegoś ambitniejszego (może i tego mojego marzenia).
Czemu C++? To trochę znam ze studiów no i da się znaleść do tego jakąś pomoc.

Co do symulowania grawitacji:
gdzieś już się chwaliłrm na tym forum, że robiłem inżynierkę w fortranie. W programie symulowany był przelot, w 2D, sondy z napędem z Ziemi na Marsa.
Więc uznajmy że wiem iż grawitacja nie jest banalnie symulowalna.
Nie wiem jak u siebie symulujesz, ale ja używałem "RKF45" (http://en.wikipedia.org/wiki/Runge-Kutta-Fehlberg_Method), RK4 było za słabe - co zademonstrował mi promotor symulując (2D) Księżyc na orbicie Ziemi - Księżyc odleciał nie zrobiwszy nawet 1/3 obiegu.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 26, 2014, 07:51:41 pm
RK4, RKF45, srsly, man, nie mam pojęcia o czym mówisz. ; p


Ale poważnie, to fragment kodu, który odpowiada za grawitację w Adsiderze:



     
for cialo1 in ciala:
   for cialo2 in ciala:
      if cialo1 != cialo2: # Pętla leci przez wszystkie ciała w liście
 
(...)


                g = G * (cialo1.masa*cialo2.masa/(odleglosc*odleglosc)) # Newton
                roznicax = cialo1.x - cialo2.x     #Odległość między ciałami w x
      roznicay = cialo1.y - cialo2.y     #Odległość w y
    a = g / cialo1.masa                   # Przyśpieszenie
        skladnikx = a * roznicax / odleglosc
        skladniky = a * roznicay / odleglosc


(...)


       if odleglosc < 1500: # Tu ograniczam zasięg grawitacji, żeby gwiazdy nie przyciągały się nawzajem
        cialo1.predkoscx -= skladnikx     # odjęcie składnika od aktualnej prędkości
        cialo1.predkoscy -= skladniky     #


(...)
             # Poniższy fragment jest wykonywany dla każdego ciała:

     cialo.x += cialo.predkoscx / opoznienie    # położenie w x oraz w y jest powiększona o prędkość i podzielona przez *arbitralnie dodane* opóźnienie 
             cialo.y += cialo.predkoscy / opoznienie




To jest dość mało wyrafinowana metoda na emulowanie grawitacji, ale dzięki temu pozostaje w miarę prosta. Wadą jest wydajność, ponieważ przy +15 ciał pętla gry staje się tak długa, że nie da się już grać. Powodem jest oczywiście to, że skrypt kalkuluje oddziaływanie grawitacyjne każdego ciała1 z każdym ciałem2. Twoja metoda jest znacznie bardziej złożona i zgaduję, że w jakiś sposób przelicza gradient pola grawitacyjnego, tak? Strzelam w ciemno. ; p


Być może taki sposób zwolniłby cpu z konieczności powtarzania x! gdzie x to liczba ciał. Przy każdym obrocie pętli można by zbierać "snapshot" położeń wszystkich ciał i na jego podstawie wyliczyć wartość pola. Następnie wektory ciał były by kalkulowane zgodnie z miejscowymi wartościami tego pola. Nie za bardzo mam jednak pomysł jak wygląda obsługa pól w pythonie.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Luty 21, 2014, 10:09:34 am

Nowy release! 0.4


Źródło (Linuks): http://sourceforge.net/projects/adsidera/files/source%20%28linux%29/adsidera_source_0.4.tar.gz/download


Windows: http://sourceforge.net/projects/adsidera/files/windows/Adsidera%200.4%20Windows/Adsidera_win_0.4.zip/download


Co się zmieniło?


- są sprajty!
- można randomizować układy gwiezdne z poziomu menu
- zmieniać rozdzielczość ( ;p )
- zakładać kolonie za pomocą lądownika (pojazd wypuszczamy enterem)
- uzupełniać paliwo na orbitach planet


Zapraszam do testowania.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Beczka w Marzec 28, 2014, 09:24:20 pm
Bardzo fajny projekt, już się (http://nowapromocja.prv.pl/sitemap.xml)  biorę za testowanie. :biggrin:
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: mariusz301 w Kwiecień 04, 2014, 06:58:45 pm
Jeśli chodzi o tworzenie gier, to można próbować w html5+js+język bakendowy typu php. Oprócz możliwości wykorzystania canvas w przeglądarce za pomocą np. PhoneGap można zrobić też z tego aplikacje na wszystkie platformy mobilne.


Na stronach typu gry.pl (http://gry.pl) kulki.info (http://kulki.info) cda.pl (http://cda.pl) itd. - tam wszystkie gry są pisane we flashu. Technologia powoli jest wypierana przez inne, które stwarzają więcej możliwości - np. wymieniony wcześniej html5 z js.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Lipiec 22, 2014, 07:19:53 pm
Obiecany gdzie indziej (M&A) klon PONGa (powstały na "zamówienie" mojego ojca): http://www.datafilehost.com/d/a418904d (jest tam jakiśdownload manager, którego nie testowałem, pobiera się tym z lewej, to po prawej robi z zipa dziwny plik .zip.exe - polećcie jakiś lepszy host.)
Należy ściągnąć paczkę, rozpakować i odpalić PONG.exe. (Warto mieć drugiego gracza pod ręką. :P )
Sterowanie: lewa paletka W-S, prawa strzałki.

Jest to pierwsza wersja, którą da się - według mnie - pokazać, jeszcze trochę to podszlifuję.

Co jeszcze (może) będzie:
 (może) dźwięki,
 - należy poprawić odbijanie piłki, teraz jest najbanalniej jak się da; zdałoby się podkręcanie i drobne przyspieszenie piłki co odbicie.

Znane "bugi":
 - nalicza punkty tylko do 99, potem będzie dziwnie wyświetlać cyfry.

Można rzucać błotem i zgniłkami, byle niczym ciężkim.

Zastanawiam się nad następnym projekcikiem: tetris czy asteroids? :)
A może coś ambitniejszego - Missile Command?
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Lipiec 24, 2014, 07:13:42 pm
1) Hostuj się na sourceforge.
2) Działa, da się grać (nawet na wine).
3) Panie dobrodzieju, gdzie jest kod źródłowy? :smile:
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Lipiec 25, 2014, 09:08:57 am
Wczoraj pododaawałem dzwięki zgrane z jakiegoś filmiku na YT - nie mogłem nic lepszego znaleźć. Ale gra je odtwarza jakoś tak z opóźnieniem, jeszcze to sprawdzę.
Dodatkowo piłkę przyspieszyłem. No i teraz odbijanie piłki paletkami zmienia jej prędkość (zależnie od aktualnego ruchu paletki).

1) Hostuj się na sourceforge.
OK.
2) Działa, da się grać (nawet na wine).
\o/
3) Panie dobrodzieju, gdzie jest kod źródłowy? :smile:
Odchaszczam jeszcze. :P Hostnę jakoś w łikend.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Lipiec 26, 2014, 03:52:29 pm
Proszę:
https://sourceforge.net/projects/jtspong

Co jeszcze bym chciał dodać / zmienić:
- Zmienić odbijanie piłki od paletek na bliższe do tego z orginału: piłka powinna zmieniać prędkość od miejsca odbicia się na paletce,
- dźwięki są do poprawki - są dziwnie opóźnione.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: haael w Lipiec 26, 2014, 10:52:06 pm
Cytuj
Niestety powoduje to, że przy względnie małych odległościach siły są gigantyczne, co skutkuje spektakularnymi kolizjami układów planetarnych i katapultowaniu księżyców w przestrzeń kosmiczną. Nie da się tak grać, trzeba oszukiwać zmiennymi. ;p
Niech zgadnę: zastosowałeś najgłupszy algorytm całkowania metodą Eulera zamiast użyć którejś z metod Rungego-Kutty?

Oficjalnie zgłaszam zatem do Twojej gry requesta, żebyś zaimplementował w niej integrator symplektyczny (http://en.wikipedia.org/wiki/Symplectic_integrator). Bez tego nawet nie zamierzam jej ściągnąć.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Lipiec 26, 2014, 11:12:56 pm
Ostatnio mam z tym całkowaniem trochę zagłostkę, bo kupiłem (na humble bundlu) Universe Sandbox. Tam twierdzą że używają RK4, ale sam pamiętam z projektu inżynierskiego że to do takich celów było za słabe. I teraz nie wiem czy promotor ściemniał czy głąby robią to Uni. Sandboxa. (Pieniądze stawiał bym że promotor wiedział co robi, bo trochę z nim gadałem a jeszcze widzę jakie braki ma Uni. Sandbox.)

Kuchnia, na tym sorceforge jakieś ziomki robią nawet space 4x game czy klona cywilizacji - srogo.

Z bardziej związanych newsów: odpaliłem rouge pod dosboxem - może skończyć się na tym, że będę siedział mniej nad własnym kodem, ale za to na pewno efektywniej. :)
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: haael w Lipiec 26, 2014, 11:45:34 pm
Cytuj
Ostatnio mam z tym całkowaniem trochę zagłostkę, bo kupiłem (na humble bundlu) Universe Sandbox. Tam twierdzą że używają RK4, ale sam pamiętam z projektu inżynierskiego że to do takich celów było za słabe.
Czy toto jest Open Source albo można przynajmniej do tego dodawać własne pluginy z integratorami? Metoda Verleta jest symplektyczna a do tego jest prostsza w implementacji niż większość metod RK.

Muszę Cię tylko przestrzec przed jednym: jak sam zaczniesz pisać integratory i rozkminiać fizykę Newtona, to szybko zapominasz, o co miało właściwie chodzić w Twojej grze.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Lipiec 28, 2014, 04:12:52 pm
Przejrzałem FAQ i nie wygląda aby można było łatwo dodać własny integrator. Chyba trzeba by pohaksić trochę.
Wydaje się że w Uni. Sandbox to działa "wystarczająco dobrze" ze względu na dość mały krok - ale potestuję sobie jeszcze.

EDIT:
Bump mojego PONGa: http://sourceforge.net/projects/jtspong/
- poprawki w subrutynce do przestawiania piłki co klatkę: powinno sprawniej brzęczeć,
- piłka odbija się w kierunku zależnym od miejsca uderzenia w paletkę: im dalej od środka paletki, tym bardziej piłka leci (odpowiednio) w górę lub dół,
- piłka odbija się teraz tylko od 2ch, najbliższych środkowi planszy, pikseli paletek,
- piłka przyspiesza o 3% po każdym odbiciu się od paletki.

Jeśli nie będzie zgłoszeń o jakichś problemach / bugach, to jedyne co chciałbym tam jeszcze poprawić; to zmienić część stałych na zmienne wczytywane z pliku. Można by łatwo zmienić szybkość piłki, paletek wielkość pola gry czy kilka innych wartości.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Sierpień 19, 2014, 08:37:05 am
Hmmm... Edycja nie robi odświerzonego posta, więc robię nieelegancki doublepost żeby bumpnąć teamat.
EDIT:
Bump mojego PONGa: http://sourceforge.net/projects/jtspong/
- poprawki w subrutynce do przestawiania piłki co klatkę: powinno sprawniej brzęczeć,
- piłka odbija się w kierunku zależnym od miejsca uderzenia w paletkę: im dalej od środka paletki, tym bardziej piłka leci (odpowiednio) w górę lub dół,
- piłka odbija się teraz tylko od 2ch, najbliższych środkowi planszy, pikseli paletek,
- piłka przyspiesza o 3% po każdym odbiciu się od paletki.

Jeśli nie będzie zgłoszeń o jakichś problemach / bugach, to jedyne co chciałbym tam jeszcze poprawić; to zmienić część stałych na zmienne wczytywane z pliku. Można by łatwo zmienić szybkość piłki, paletek wielkość pola gry czy kilka innych wartości.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Sierpień 19, 2014, 08:55:12 pm
Nadal działa na wine, super. : p
Dałoby się wprowadzić regulację rozdzielczości? Ja w pygame (czyli de facto w sdl) pozwalałem sobie na automatyczne dostosowanie rozdzielczości do ekranu:


pygame.display.list_modes(32)[0]


Pytam, bo okno nie mieści mi się na ekranie o wysokości 768 pikseli.  ;p
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Sierpień 20, 2014, 07:22:03 am
Napewno się da. Nie próbowałem, więc nie wiem jeszcze jak, ale uwaga słuszna - zajmę się tym.
Wymusi to pytanie o przeskalowanie wielkości piłki i paletek oraz ich prędkości, ale to da się zrobić.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Październik 04, 2014, 10:13:46 pm
Bump!
Trochę mi zeszło... aż źle się z tym czuję*, ale jest kolejna wersja.

Teraz w pliku tekstowym ("settings.txt") można sobie wybrać jedną z trzech rozdzielczości, oraz szybkości paletek i startową dla piłki.
Tylko takie, bo dla tych wielkości paletek i cyfr ładnie mi się przeskalowały.


* - O ile Rouge pomaga, to 4X turówki już nie...
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Styczeń 24, 2015, 09:00:36 pm
To tym razem moja kolej na zaprezentowanie czegoś ciekawego. Jak mam nadzieję.


Poniat

Gra opowiadająca rzewną historię moich dojazdów rowerowych przez Most Poniatowskiego w Warszawie.



(http://a.fsdn.com/con/app/proj/poniat/screenshots/skrin2.png)


Język: Python (kompatybilny zarówno z 2.7, jak i 3.4)
Silnik: OpenGL
Dodatkowości: pygame


Gra na obecnym etapie jest gotowa w 70%. W kodzie jest jeszcze śmietnik, ale zasadnicze elementy gry działają. Steruje się strzałkami, skacze się spacją. Trzeba dojechać do końca, ot. wszystko.
Kiedy doszlifuję wszystko, mam zamiar użyć tej gry jako argumentu za budową kładki przy moście. Vide: http://futuwawa.pl/kladka_rowerowa_mostu_poniatowskiego__mikolaj_molenda,_kama_wybieralska-project-pl-481.html (http://futuwawa.pl/kladka_rowerowa_mostu_poniatowskiego__mikolaj_molenda,_kama_wybieralska-project-pl-481.html)


Piszcie co myślicie.


Wersje do ściągnięcia:


Windows (powinno działać wszędzie i na wszystkim, nawet na wine):
http://sourceforge.net/projects/poniat/files/poniat_windows/poniat.zip/download (http://sourceforge.net/projects/poniat/files/poniat_windows/poniat.zip/download)


Linuks (64 bit):
http://sourceforge.net/projects/poniat/files/poniat_linux/poniat_x86_64.tar.gz/download (http://sourceforge.net/projects/poniat/files/poniat_linux/poniat_x86_64.tar.gz/download)


Źródło:
http://sourceforge.net/projects/poniat/files/poniat_source/poniat_src.tar.gz/download (http://sourceforge.net/projects/poniat/files/poniat_source/poniat_src.tar.gz/download)


Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Marzec 19, 2015, 03:39:56 pm
Bump.

Dorzuciłem menu główne, mnóstwo drobiazgów w mechanice, grafiki i ekran z wyjaśnieniem po co ja to w ogóle stworzyłem. Ściągajcie i powiedzcie cokolwiek, chociazby miała by to być miażdżąca krytyka.  :smile:

http://sourceforge.net/projects/poniat/files/ (http://sourceforge.net/projects/poniat/files/)
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Sierpień 20, 2015, 09:03:07 pm
Pozazdrościłem Sajuukowi, że sobie lata do gwiazd, więc zrobiłem własny program do latania pomiędzy gwiazdami. :)
https://sourceforge.net/projects/r4s/

Program wyświetla widok na ekran sensorów ze statku.
Przyciskami myszy można wybrać cel (dowolny punkt) podróży: prawym wybieramy (kasowanie wyboru lewym).
Jak już się zdecydujemy, to spacją zaczynamy podróż i patrzymy jak gwiazdki się przesuwają.

Narazie tyle. Docelowo ma to działać na mechanice einstainowskiej (nie jak teraz newtonowskiej) oraz wyświetlać gwiazdy zależnie od odległości, jasności i widma. Jeszcze dokładnie nie wiem jak to zrobić. :P Przypomnę sobie najpierw teorię.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Październik 11, 2015, 07:42:52 pm
O, w końcu napisałeś gierę, super. Działa pod wine, więc +2 do karmy.  :smile:


Swoją drogą w pierwszej chwili nie mogłem się zorientować w perspektywie gry. Tzn. czy to jest widok z samego statku czy widok z jakiegoś zewnętrznego punktu. No i o co chodzi z tym celownikiem - to jest po prostu układ współrzędnych?
Aha, w ogóle jakie prawa rządzą tymi ciałami? Jest jakieś przyciąganie?


Skoro o gwiazdach mowa, ostatnio zrobiłem mały refaktoring Adsidery i już trochę nie muszę się wstydzić kodu. No i mogę w końcu nazwać algorytm napędzający grawitację w grze - to jest metoda Eulera, chociaż z pewnymi zastrzeżeniami.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Październik 11, 2015, 10:08:30 pm
Tak, widziałem Adsiderę. Ale Euler dla grawitacji nie starcza.

U mnie nie ma żadnych sił - tylko napęd statku.
"Celownik" to tylko układ współrzędnych.
Trudność w zauważeniu tego może wynikać z faktu, iż nie ma odwrócenia w połowie trasy: jak przyspieszenie zamienia się w hamowanie.
Gwiazdki "skaczą" w czasie lotu tylko dlatego, że ich pozycje [względem statku, to jest centrum okna] są liczone na floatach, ale wyświetlanie jest na pikselach, więc zaokrąglam do intów.
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Ijon Tichy w Listopad 22, 2015, 11:46:48 am
Źle się czuję cytując siebie i jednocześnie bumpując temat double postem, ale projekt "R4S":
https://sourceforge.net/projects/r4s/
dostał update. Zaimplementowałem cheat code, który zmienia status "blink drive"™ pomiędzy "niemożliwy" a "funkcjonalny". :)

Tylko 3 miesiące... ale jestem leniwy...
Tytuł: Odp: Piszemy gry
Wiadomość wysłana przez: Sajuuk' w Listopad 30, 2015, 10:29:02 am
Nieźle nieźle, patrzę w kod właśnie.

Btw. też piszę coś w SDLu, rezultaty niebawem.