Autor Wątek: AccelGame - gra multiplayer.  (Przeczytany 3818 razy)

Offline alexsoft

  • Użytkownik

# Listopad 27, 2011, 11:23:05
Link do strony z projektem na Warsztacie



Ogólnie większość informacji o projekcie jest zawarta na stronie Warsztatu. Gra jest robiona ze znajomym i jak widać jest jeszcze w dość wczesnej fazie produkcji, ale można już ją pobrać i pobawić się ze znajomymi w jazdę i zderzanie się samochodzikami (tyle dziala :))

Do poprawnego działania gry wymagany jest XNA redist - do pobrania tutaj
Gra - serwer + klient na androida - tutaj

Dzisiaj/jutro planuje zrobić mapki, więc gra nabierze smaczku. Będę na bieżąco wrzucał tutaj wyniki naszej pracy.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 27, 2011, 11:35:29
Komórka jako kontroler? Nice. Nie zapomnijcie też o bluetoothu jako alternatywie do wi-fi, powinno działać szybciej niż przez internet.

Przez LAN też się da grać, prawda?

Tak z ciekawości- jak synchronizujecie tę grę po sieci? Nie zastanawiałem się w sumie nad kodem sieciowym gry z fizyką.

Offline alexsoft

  • Użytkownik

# Listopad 27, 2011, 11:44:18
No w zasadzie głownie przez LAN, gdyż na telefonie jedyne, co się wyświetla (lub będzie wyświetlać) to nick gracza, przycisk FIRE, może jakieś statystyki. Konieczna jest obecność przy serwerze, gdyż tylko tak będziemy widzieć, co się dzieje na ekranie. Raczej nie planujemy pisania klienta na PC.

Synchronizujemy to w ten sposób, że czytamy z gniazdek odpowiadających klientom asynchronicznie - nie mamy osobnych wątków dla każdego klienta. Odczyt ustawia x, y i z akcelerometru dla danego pojazdu, a w funkcji Update te dane są przeliczane i na ich podstawie poruszany jest samochód. W połączeniu z kilkoma lockami na kluczowe obiekty dla zabezpieczenia synchronizacji działa to dość sprawnie.

A co do bluetooth i szybkości działania, to raczej w LANie nie mamy z tym problemu.

Offline zxc

  • Użytkownik

# Listopad 27, 2011, 12:25:58
To znaczy, że z kumplem sobie kładziemy telefony na stole, jeździmy nimi jak resorakami, a gra zlicza punkty? Z gumowymi zderzakami na telefonie mogłoby być fajne! Czy tu chodzi o to, że każdy trzyma w ręku telefon i wychylając go kontroluje obiekty na ekranie komputera?

Offline alexsoft

  • Użytkownik

# Listopad 27, 2011, 13:08:14
Telefon trzymasz trochę jak kierownicę. Lewo/prawo - skręcamy. Wychylenie do przodu/do tyłu przyspieszamy, zwalniamy, cofamy.

Przed chwilą dodałem prostą mapkę i obsługę spawnpointów.



Paczka z działającą mapką i spawnami - download
« Ostatnia zmiana: Listopad 27, 2011, 13:12:57 wysłana przez alexsoft »

Offline alexsoft

  • Użytkownik

# Listopad 28, 2011, 11:02:23
Naprawiony błąd klienta, gdzie w adresie IP nie można było wpisać 0.

download

Offline alexsoft

  • Użytkownik

# Listopad 28, 2011, 21:49:30
Dodałem kilka nowych klocków, podstawowe powerupy (będzie więcej) i kilka innych bajerów.



Ogólnie można "grać" coraz ciekawiej.

Download

Offline kodzik

  • Użytkownik

# Listopad 29, 2011, 20:32:45
Hmm, odpaliłem tą "grę" dzisiaj, według mnie bardzo dobrze się sprawuje. Fajne uczucie sprawia używanie telefonu jako "kierownicy" do gry. Nie wiem czy się przyda, ale mój telefon to LG GT540. (Android 2.1) :)

Offline alexsoft

  • Użytkownik

# Listopad 29, 2011, 21:11:41
To może zainteresuje Cie wersja z kilkoma usprawnieniami plus czołg z obracaną lufą (myszka na lokalnym graczu, slider na telefonie) ;) Klient powinien działać na wszystkich androidach >= 2.1, gdyż na takie API lvl był pisany.

Przypominam o lokalnym graczu do testów pod przyciskiem "L".

Już wkrótce prawdziwe mapy i w końcu możliwość strzelania! Dodatkowo kilka powerupów i usprawnień w modelu jazdy i samej mechanice gry. Ale to za 2-3 dni, to mam dużo roboty na uczelni.

Download
« Ostatnia zmiana: Listopad 29, 2011, 21:15:30 wysłana przez alexsoft »

Offline alexsoft

  • Użytkownik

# Listopad 30, 2011, 01:10:56
Jednak dziś udało się sporo napisać, więc dzielę się tym, co mamy :)

Zmian jest dużo - jak widać na screenach. Czcionka trochę nieczytelna, ale... myślę, że dużo lepsza nie będzie, gdyż nie mamy wyznaczonego miejsca na GUI.



Przypominam, że serwer gry jest odpalony na komputerze. Przed komputerem siedzą gracze z telefonami w rękach i sterują swoimi czołgami. Sporo ludzi troche nie rozumiało pomysłu, więc pokrótce wyjaśniłem :)

Testowy gracz lokalny (na klawiaturze i myszce):
L - włączenie testowego gracza
strzałki - jazda
R - reset pojazdów na spawny
H - DebugView

Download

Offline alexsoft

  • Użytkownik

# Styczeń 03, 2012, 13:05:15
Dawno nic tu nie pisałem, ale to nie znaczy, że projekt umarł  :)

Sporo zmian, poprawiona grywaloność - zdecydowanie mniejszy lag przy strzelaniu i jeżdzeniu. Najciekawiej się gra, gdy mamy podłączone >2 telefony ;)



Download

Offline vashpan

  • Użytkownik
    • Strona

# Styczeń 03, 2012, 13:29:59
Pomysl mozna rozwinac:

http://getjoypad.com/ -> warto zauwazyc ze jest tez klient dekstopowy a co za tym idzie - Binduje sie klawisze z *dowolnej* gry pod przyciski na wirtualnym joypadzie ( mozna tez pokombinowac z akceleremetrem jako myszka/kierownica )

Testowalem to w Trackmanii i Super Meat Boyu kiedys - i dziala naprawde dobrze, nie ma zadnych widzialnych lagow przy polaczeniu przez WiFi ( w sieci LAN ofc ), da sie spokojnie grac, choc wiadomo ze przyciski wirtualne nie zastapia 'fizycznych' ... 

Offline alexsoft

  • Użytkownik

# Styczeń 03, 2012, 13:49:08
W zasadzie to zrobienie takiego joypada jest banalne :) Od strony klienta to juz praktycznie wszystko do tego mam. Tylko na serwerze emulować naciskanie klawiszy.

Offline vashpan

  • Użytkownik
    • Strona

# Styczeń 03, 2012, 16:48:26
W zasadzie to zrobienie takiego joypada jest banalne :) Od strony klienta to juz praktycznie wszystko do tego mam. Tylko na serwerze emulować naciskanie klawiszy.

No tak, dokladnie...

Offline Kos

  • Użytkownik
    • kos.gd

# Styczeń 03, 2012, 17:05:13
Pomysl mozna rozwinac:

http://getjoypad.com/ -> warto zauwazyc ze jest tez klient dekstopowy a co za tym idzie - Binduje sie klawisze z *dowolnej* gry pod przyciski na wirtualnym joypadzie ( mozna tez pokombinowac z akceleremetrem jako myszka/kierownica )

Huh, a da się po prostu zrobić bez dalszego kombinowania, by cholerstwo było widziane przez system jako zwykły pad?