• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Grand Killer UPDATE klon GTA 2

Object Storage Arubacloud
–1 głos
408 wizyt
pytanie zadane 24 lutego 2018 w Nasze projekty przez 10kw10 Pasjonat (22,880 p.)

Hej, od ostatniej wersji mojej gry minęły prawie 3 miesiące. Chciałbym wam pokazać co się w niej zmieniło oraz jak teraz wygląda. Grand Killer v2.0

Oferta dalej aktualna:
Jest przy tym strasznie dużo pracy i samemu już tego nie chce robić. Nie mam tu na myśli programistów (choć jeśli jesteś zainteresowany możesz napisać), ale ludzi, którzy dadzą coś od siebie, a szczególnie grafików. Jest masa pomysłów, które chciałbym zrealizować. Oczywiście nie przewiduję żadnego wynagrodzenia dla tych osób, choć to też zależy jaka to będzie gra.
Mogę tylko dodać, że ten projekt traktuje bardzo poważnie i raczej chciałbym go ukończyć lub przynajmniej doprowadzić go do stanu grywalności.

Sterowanie - polecam zajrzeć
Screenshoty - na zachętę ;)

Proszę o opinie, rady, wskazówki.
Pozdrawiam.
 

komentarz 25 lutego 2018 przez Sebastian1107 Początkujący (350 p.)
Rozumiem że mój Phenomek II X2 545 ledwo zipie, ale przy klonie GTA 2 podczas ładowania gra się wiesza a obciążenie procesora przez aplikację wynosi od 40 do 70%.

Więc do poprawy, wg mnie OPTYMALIZACJA.
komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
edycja 25 lutego 2018 przez 10kw10
Mogę jeszcze wiedzieć jakie masz GPU ?

40-70% to nie jakoś dużo. SFML renderuje grafikę poprzez kartę graficzną, więc jest ona konieczna do uruchomienia GK, jak do większości gier komputerowych.
1
komentarz 25 lutego 2018 przez ScriptyChris Mędrzec (190,190 p.)

@10kw10, wygląda to obiecująco. Dobrze że masz rozpiskę co zrobiłeś, co robisz i co planujesz.

Moim zdaniem, zrób kilkuminutowy filmik z rozgrywki i udostępnij go - nie każdemu chce się instalować grę, ale jeśli ludzie zobaczą jak wygląda to w ruchu, to może ktoś chętniej dołączy do projektu.

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
Dzięki za fajną opinię ;) Pomyślę nad tym.

2 odpowiedzi

+1 głos
odpowiedź 24 lutego 2018 przez Wiciorny Ekspert (270,770 p.)

Trochę wstyd: 

... ludzi, którzy dadzą coś od siebie, a szczególnie grafików. Jest masa pomysłów, które chciałbym zrealizować. Oczywiście nie przewiduję żadnego wynagrodzenia dla tych osób,

a jednak planujesz potem :

 raczej chciałbym go ukończyć lub przynajmniej doprowadzić go do stanu grywalności. 

Czyli generalnie; wykorzystasz czyjąś prace, wkład ... tak po prostu a potem może w przyszłości np okaże się, że to dobry produkt i idzie go sprzedać/ będzie zysk ... no to jest hipokryzja- nie oczekuj tego, że ktoś poswięci się, swój czas, umiejętności zaangażowanie - tak po prostu dla funu, gdzie mógłby robić w tym czasie coś rozwijającego dla siebie  

komentarz 24 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
Zdanie wyjete z kontekstu. Nie oferuje zadnych pieniądzy od siebie, jednak gdy projekt zacznie zarabiac oczywiście dzielimy sie sprawiedliwie.
komentarz 25 lutego 2018 przez Wiciorny Ekspert (270,770 p.)
Nie wyjęte z kontekstu, tylko cytuje twoją wypowiedź :)
komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)

Zapomniałeś o tym zdaniu:

choć to też zależy jaka to będzie gra.

Tłumacząc: zależy czy uda się na niej zarobić.

1
komentarz 25 lutego 2018 przez Wiciorny Ekspert (270,770 p.)

Na tej zasadzie mogę napisać

 

Szukam ludzi do projektu, potrzebuje grafika.... "coś tam..." jeśli" grafika będzie w przyszłości dobra/przyjmie się zapłacę, jak nie to nie zapłacę. Kto chętny? 

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
Gra jest pisana bardziej w celu nabierania doświadczenia, ciekawego spędzenia wolnego czasu, samorozwoju, choć nie ukrywam, że fajnie by było coś na niej zarobić. To też ciekawy projekt do pokazania przyszłym pracodawcom, nie tylko przeze mnie jako programisty, ale też jako portfolio dla grafików lub innych ludzi zaangażowanych w projekt. Jestem młody i nie mam zamiaru inwestować w to, jeśli nie mam pewności, że mi się to zwróci. Oferta wygląda trochę tak jak napisałeś, ale niestety w tej chwili jestem tylko tyle wstanie dać od siebie ;)
+1 głos
odpowiedź 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)

Pierwszym wyznacznikiem jakości projektu od strony implementacyjnej jest dla mnie zawsze wykorzystanie abstrakcji i postrzeganie obiektowości:

  1. W folderze Engine (sama nazwa sugeruje że powinien zawierać uniwersalne komponenty; rendering itp) jest samochód surprise
  2. Nie wykorzystałeś dziedziczenia. Lepiej zrobić enuma Type i napisać w konstruktorze switcha ma 190 linijek. 
  3. Wczytywanie tekstur samochodu w jego konstruktorze to najlepszy dowód, że niezbyt dobrze zrozumiałeś zależność tekstura - sprite.
  4. Ogólnie podział logiczny zrobiłeś bardzo marny. Klasy które pozornie powinny stanowić samodzielną funkcjonalność są sztywno zależne od innych. Button - window ? 
  5. Zupełnie nie wiem po co klasa Keyboard i enum Key. Wszystko masz w SFMLu.

Podsumowując bo nie chcę więcej pisać laugh skup się na dobrym kursie obiektowości realizującym duuużo przykładów. 

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
3 mógłbyś rozwinac?

5 dzięki temu moge latwo dostac sprita danego klawisza, który mi jest potrzebny.

2 nie widzialem sensu w tym zeby kazdy rodzaj samochodu byl osobna klasa.
komentarz 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)
Jedną teksturę powinieneś załadować tylko i wyłącznie raz. Potem rozdajesz tylko jej referencje dla poszczególnych spritów.
komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
Hmm ma to sens, ale jest textureManager ktory sprawdza czy juz zostala wczytana.

Potem zrobie jakis ekran ladowania plikow gdzie bede wczytywal wszystkie textury.
komentarz 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)
Zupełnie niepotrzebnie. Stwórz sobie 200 samochodów. Zobacz ile porównań musisz wykonać.
1
komentarz 25 lutego 2018 przez rot18ru Bywalec (2,100 p.)

@Ehlert, 

1. Kto powiedział że Samochód to nie jest uniwersalny komponent? W silniku do gry wyścigowej na pewno znajdą się podobne klasy, które można wykorzystać do tworzenia wielu innych rodzai samochodów. Zresztą Engine według mnie wcale nie sugeruje, że tam muszą się znaleźć same uniwersalne zasoby. Często przy grach projektuje się silnik do konkretnej gry i wszyscy mają w nosie czy ktoś tego silniku będzie jeszcze do czegoś używać. Tak w ogóle to tylko czepianie się mało znaczącej nazwy :p

2. Dziedziczenia w tym przypadku to byłby błąd bo dziedziczenie służy do rozszerzenia zachowań, a nie do do ustawiania własności. Tutaj najlepszym rozwiązaniem byłoby zapisać ustawienia samochodów do jakiegoś XMLa/JSONa i samochody produkować w fabryce, ale takie produkcje w konstruktorze w przypadku małych projektów też są okey.

3. Zastosowanie pyłka ma sens tylko wtedy gdy wydajność jest na nieakceptowalnym poziomie. Czy wczytanie tekstury kilka razy ma kluczowy wpływ na wydajność? Tego nie jestem pewien. Jestem za to pewien, że zastosowanie pyłka tylko dla hecy to łamanie zasady KISS.

4. Według mnie button zależny od window jest jak najbardziej w porządku. Przecież nie wynikają z tego żadne powtórzenia kodu, ani tym bardziej łamanie KISSa.

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
3. co masz na myśli pisząc "pyłek" ?
1
komentarz 25 lutego 2018 przez rot18ru Bywalec (2,100 p.)
Pyłek to taki obiekt, który jest współdzielony przez inne obiekty właśnie w celu poprawy wydajności. Na wikipedi masz wszystko napisane.
komentarz 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)
  1. Pisanie silnika z klasą samochód wewnątrz tylko dlatego że jest to grsa wyścigowa to zamykanie sobie drzwi do prawidłowego rozwoju. Pozostaje przy swoim zdaniu. Albo piszesz silnik gry, albo zmień sobie nazwę folderu na Game i rób tam co chcesz. 
  2. OK, bez dziedziczenia można. Mimo to ten konstruktor to dla mnie absurd. 
  3. Z Twojego toku rozumowania wynika że skoro jest zasada KISS to po co korzystać z merge i quick sorta jak można wykonywać n² porównań za każdym razem.
  4. Button powinien odnosić się do Window tylko w takim stopniu jak robi to metoda draw z Drawable. Nie wiem po co tam wskaźnik. 

Podsumowując projekt jest prosty, mały więc piszemy na odwal, bo po co przemyślane podejście architektoniczne i wzorce projektowe. Działa to działa. 

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)

Podsumowując bo nie chcę więcej pisać

Mógłbyś mi wytknąć kolejne błędy? ;d Te nie są jakieś rażące, przynajmniej tak mi się wydaje, a ja dalej uważam, że mój kod nie jest jakiś tragiczny.

komentarz 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)

No cóż moim zdaniem kicha bo napisałem o błędach implementacji, logicznych. Pozostaje czystość kodu. 

Nie we wszystkich miejscach spójnie używasz kamer przy ifach. Nazwy klas rozpoczynamy wielką literą.

Przydałoby się użycie scen, czego obecnie nie ma. 

Ogólnie z całym szacunkiem do tego co zrobiłeś polecam usiąść do tego projektu od strony kartki i ołówka wink

komentarz 25 lutego 2018 przez 10kw10 Pasjonat (22,880 p.)
Scen?

Wydaje mi się, że trochę dużo już napisałem, żeby sobie ot tak pozmieniać klasy, ale oczywiście pomyślę nad jakoś refaktoryzacją.
komentarz 25 lutego 2018 przez Ehlert Ekspert (212,790 p.)
Moim zdaniem to wcale nie jest jeszcze dużo. Warto się cofnąć i odrobić dług technologiczny.

Podobne pytania

+3 głosów
3 odpowiedzi 364 wizyt
pytanie zadane 1 stycznia 2018 w Nasze projekty przez 10kw10 Pasjonat (22,880 p.)
0 głosów
0 odpowiedzi 450 wizyt
pytanie zadane 24 maja 2018 w Nasze projekty przez Michał Gibas Pasjonat (19,610 p.)
0 głosów
6 odpowiedzi 600 wizyt
pytanie zadane 24 sierpnia 2016 w Sprzęt komputerowy przez tryku Nowicjusz (130 p.)

92,626 zapytań

141,486 odpowiedzi

319,844 komentarzy

62,009 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...