Witam. Na projekt będę musiał napisać grę, dokłądnie Tank (pocket tanks ) czyli gra 2D, 2 czołgi które strzelają do siebie ( poruszanie po terenie, podnoszenie i opuszczanie lufy aby wymierzyć dobre kąty itd ). Czy miałby ktoś jakieś praktyczne porady jak zacząć, jak rozwiązać ? Umiem podstawy Javy, znam bibliotekę swing. Czy uda mi się zrobić do tej gry multiplayer ? jakieś podpowiedzi ? Ogólnie co wiecie to piszcie, jakieś pomocne kursy itp :) z góry dzięki ;)
Pocket Tanks było napisane w Delphi ;)
Skoro nie masz doświadczenia w takich aplikacjach, to niszczenie terenu i multiplayer (przez neta) bym sobie darował, chyba, że to ma być praca inżynierska.
Do wyświetlania grafiki użyłbym lwjgl ( http://www.lwjgl.org/ ). Tor pocisku sobie wyliczysz odpowiednimi wzorami, np. http://pl.wikibooks.org/wiki/Fizyka_dla_liceum/Rzuty#Rzut_uko.C5.9Bny
Nie to nie praca inżynierska, po prostu trzeba zrobić projekt w Javie i co tydzień pokazywać prowadzącemu postępy. Nie wiem tylko jak się do tego zabrać, mam na razie trochę czasu ale coś trzeba zacząć myśleć ;)
musisz pisać gre? nie możesz aplikacji "webowo-biznesowej" ?
@karolinaa a jakieś propozycje ? gre pisze sie w sumie nie tak trudno, przynajmniej widać co się robi i jak to ma wyglądać :)
Wymyśl jakieś nowe rodzaje broni których tam jeszcze nie ma:D
Poczytaj o bibliotece libgdx. Jest stworzona specjalnie do gier i jeżeli trochę Cię poniesie to i tak będzie chodzić płynnie bo wyświetlanie jest wspierane przez gpu. Poza tym proponuję zrobić tak:
- Teren generowany przez algorytm diamond-square - http://en.wikipedia.org/wiki/Diamond-square_algorithm - obcięty do jednego wymiaru. Uzyskasz tym mapę wysokości terenu widzianego z boku. Wyświetl to i masz już pierwszy sprint.
- Jako fizyka wystarczy zastosować rzut ukośny - http://pl.wikipedia.org/wiki/Rzut_uko%C5%9Bny . Jest to o tyle fajne uproszczenie że łatwo wyliczyć pozycję docelową pocisku z parametrów strzału a to w przyszłości może posłużyć jako AI.
- Render i updaty są ciągłe + implementacja tur z użyciem wzorca stanu http://pl.wikipedia.org/wiki/Stan_%28wzorzec_projektowy%29 . Od stanu zależy obsługa wejscia, czyli który gracz teraz gra lub czy gra przypadkiem się nie zakończyła.
Jeżeli już zrobisz grywalną działająca wersję to dopiero zabierz się za rzeczy typu AI czy niszczenie terenu. Multiplayer po sieci całkowicie sobie odpuść lub zostaw jako rozwinięcie-ciekawostka po zaliczeniu projektu. Będzie z tym sporo roboty a lepiej chyba dopracować samą rozgrywkę.
@krzysiek050 dzięki za podpowiedzi :)