Strategia przeglądarkowa w czasie rzeczywistym z rzeczywistą mapą Europy
Krótko
Gracz zarządza państwem na rzeczywistej mapie Europy: rozwija miasta, wydobywa zasoby, buduje wojska, planuje trasy i prowadzi wojny. Podstawą rozgrywki jest ekonomia → wojska → przemieszczanie → walka → zdobywanie prowincji.
Świat i mapa
Rzeczywista Europa podzielona jest na kraje, regiony/obszary oraz prowincje.
W każdej prowincji znajduje się miasto-“trzymacz” (holder): to ono określa kontrolę nad prowincją.
Prowincje mają wyraźne granice wewnątrz granic swojego państwa.
Na mapie widać kontury i podświetlenie wybranych/sąsiednich prowincji, skalowanie.
Zasoby i ekonomia
Podstawowe zasoby: pieniądze, pszenica, ryba, metal, drewno, ropa, węgiel, gaz.
Każde miasto wydobywa dokładnie jeden z tych zasobów (na stałe).
Wydobycie jest okresowe (gra “godzina”): zasób automatycznie trafia do właściciela prowincji.
Zasoby są wydawane na budynki i jednostki. Bez wystarczających zapasów rekrutacja/budowa są niemożliwe.
W nagłówku interfejsu znajduje się panel zasobów, który aktualizuje się w czasie rzeczywistym.
Miasta i budynki
W mieście można wznosić budynki:
Koszary — przyspieszają/odblokowują spawn piechoty.
Fabryka — dla pojazdów opancerzonych.
Lotnisko — dla lotnictwa.
Budynki wpływają na automatyczny spawn jednostek w mieście (pakietami w określonych odstępach).
W panelu miasta — nazwa, prowincja, właściciel, “trzymacz”, zasób miasta, garnizon (według typów), przyciski budowy/rekrutacji/przemieszczania.
Jednostki
Typy: piechota, czołgi, lotnictwo (doprecyzujemy przy rozwoju, będzie kilka jeszcze).
Każdy typ ma koszt (zasoby), zdrowie (HP) oraz siłę ataku (ATK).
Jednostki trafiają do garnizonu miasta:
Ręczną rekrutacją (przycisk w mieście; natychmiast odejmuje zasoby).
Przemieszczanie wojsk
Rozkaz wydawany jest drag-&-drop: przeciągnąć z miasta startowego na docelowe.
Trasa budowana jest przez sąsiednie prowincje (najkrótsza droga).
Na mapie pokazuje się przerywana trasa, a ikona oddziału płynnie porusza się wzdłuż linii.
Czas realizacji rozkazu zależy od długości trasy i zajmuje od 5 do 10 sekund (dla tempa demo).
Po przybyciu:
Jeśli miasto jest swoje/sojusznicze — oddział wzmacnia garnizon.
Jeśli obce — dochodzi do walki.
Dyplomacja “przyjaciel/wróg”
Istnieją stany relacji między frakcjami: pokój/neutralność/wojna/embargo.
Jeśli gracz wysyła wojska do obcej prowincji, automatycznie oznacza to wypowiedzenie wojny tej stronie.
Status utrzymuje się dalej dla wszystkich wydarzeń między tymi stronami.
Walka i zdobywanie
Kiedy atakujący oddział przybywa do wrogiego miasta, gdzie znajduje się garnizon, rozpoczyna się walka.
Obliczana jest łączna HP i ATK stron (z uwzględnieniem typów).
Wygrywa strona, której HP spada do 0; zwycięzca traci część sił proporcjonalnie do długości walki (przeżyli tworzą garnizon) - 1 atak co X minut/godzin.
W przypadku zwycięstwa atakującego miasto i prowincja przechodzą pod jego kontrolę, właściciel się zmienia.
Cykl gry
Przegląd mapy, wybór prowincji/miast.
Ekonomia: przegląd zasobów, budowa, rekrutacja.
Planowanie: wytyczanie tras między miastami, koordynacja typów wojsk.
Interakcja: dyplomacja (poprzez działania), walki i zdobywanie.
Eskacja: rozszerzanie granic, redystrybucja wydobycia, nowe fronty.
Interfejs
Główna mapa z widocznymi granicami, “podświetleniem” najechanego i wybranego.
Duże znaczniki miast z nazwami i ikonami garnizonów (piechota/czołg/samolot).
Panel miasta (po prawej/lewej): informacje, rekrutacja/budowa, przemieszczanie.
Status/log wydarzeń: komunikaty systemowe — spawn, wypowiedzenie wojny, wynik walki, zmiana właściciela.
Panel zasobów w nagłówku.
Tryby i postęp
Tryb jednoosobowy z podstawowymi przeciwnikami-botami (obrona/kontratak, proste rozszerzenie).
Tryb online z wszystkimi chętnymi do wejścia w grę.
Sesię można kontynuować: stan jest zapisywany (właściciele prowincji, garnizony, zasoby, relacje, czas).
Podstawowe warunki zwycięstwa (do wyboru zamawiającego):
Kontrola N% prowincji w danym momencie.
Zgromadzenie określonej ilości zasobów/zwycięstw.
Tymczasowa dominacja (tryb rankingowy według punktów).
Balans (początkowe wytyczne)
Pakiet autospawnu: 5 jednostek raz na interwał (konfigurowalne).
Prędkości wojsk: lotnictwo > czołgi > piechota.
Koszt i produkcja zasobów — wartości początkowe z możliwością korekty po testach gry.
Ograniczenia i zasady
Jeden zasób na miasto — niezmienny typ wydobycia.
Przemieszczanie — tylko sąsiednimi prowincjami (lądowymi lub określonymi “korytarzami” przez wodę/protoki — ustalić zasady podczas projektowania mapy).
Bez zasobów rekrutacja nie odbywa się.
Pierwszy wrogi rozkaz automatycznie zmienia relacje w stan wojny.
Co otrzymuje gracz “na rękach”
Zarządzany, zrozumiały cykl: zarobił → zbudował → zrekrutował → zaplanował → zwyciężył.
Widoczność wszystkich kluczowych procesów: zasoby, trasa, walka, zmiana właściciela.
Odczucie skali poprzez rzeczywistą geografię i zrozumiały podział na prowincje.
Dodatkowo
Technicznie byłbym wdzięczny za Laravel po stronie backendu oraz MapLibre GL lub CesiumJS jako silnik map. Vue/React/NativeJS - Twój wybór. Należy pamiętać, że ponieważ gra jest w czasie rzeczywistym, będzie wiele zdarzeń websocket, które również trzeba uwzględnić.
Również po wstępnej, szorstkiej ocenie projektu jestem gotów zadzwonić do wybranych kandydatów, aby porozmawiać szczegółowo i pokazać analogie do gry.
Obowiązkowo odpowiedzieć w ocenie
Linki do 1–3 odpowiednich projektów (mapy/gry - cokolwiek związanego z wybranym stosem technologicznym dla tego projektu).
Twoje podejście do danych mapy: jakie kafelki/źródła zaproponujesz, jak stworzysz prowincje (krótko, aby zrozumieć Twoją wizję projektu)?
Jak zrealizujesz płynny ruch jednostki po trasie (interpolacja, aktualizacja ikon)?
Jak zorganizujesz walkę (formuła, skalowanie strat) i jak będziesz testować?
Orientacyjne terminy po milestone'ach i koszt.
Jakie ryzyka widzisz i jak je zminimalizujesz (wydajność/źródła danych)?
-
972 13 0 Dzień dobry!
Projekt jest niezwykle interesujący, ponieważ sam lubię podobne gry. Mogę zaproponować rozwój za pomocą silnika gry Unity, który świetnie buduje się pod web i do rozwoju klienta gry nadaje się po prostu doskonale. Część serwerową, do przechowywania danych, trzeba będzie pisać osobno, możemy wybrać jedną z technologii, które wskazałeś w ofercie.
1. Myślę, że w wielu aspektach możemy opierać się na rozwoju gier od paradox interactive, ale tylko w stylu wizualnym i mechanikach. Jednak z powodu swojego doświadczenia nie widzę żadnych problemów z realizacją mechanik gry w Unity.
2. Robiłem podobne zadanie, mogę przesłać wideo w prywatnej wiadomości, jak to robiłem.
3. W Unity to wszystko działa z pudełka, nie ma żadnych problemów, chociaż figury 3D można przesuwać.
4. Omówimy z Tobą szczegóły i zrealizujemy wszystko zgodnie z wymaganiami.
5. Projekt jest naprawdę bardzo rozbudowany, jestem gotów omówić bardziej szczegółowo termin i koszt, jeśli zainteresuje Cię moja oferta.
6. Główne ryzyka: wydajność mapy, obciążenie websocketów i bazy danych, balans walk i jakość danych kartograficznych — są eliminowane przez optymalizację renderowania i ruchu, buforowanie/sharding, autotesty balansu oraz wstępną obróbkę shapefile.
-
1486 4 0 Dzień dobry.
Opracuję na Unity, moje konto na Google Play i App Store - yelaex, wszystkie są gry strategiczne (robiłem też wersje webowe - one oczywiście nie są na kontach Google i iOS).
1. https://play.google.com/store/apps/details?id=com.yelaex.rome2077.space.strategy - tutaj strategia w czasie rzeczywistym, https://play.google.com/store/apps/details?id=com.yelaex.rome2077.tactics - turowa (również z podbojem planet - punktów strategicznych, które dla waszego projektu są miastami)
2. https://leafletjs.com używa otwartych rzeczywistych map, można przez niego, a można bezpośrednio te same źródła brać. Ale pomyślałbym tutaj - czy to jest warte - używać właśnie oryginalnych kafelków - czy nie będzie to nudne? Może lepiej użyć czegoś pośredniego: typu mapa Europy - ale przetworzona w jakiś ciekawy sposób
3. Tutaj w Unity nie ma problemów - ruch jest bardziej niż płynny dla wszystkich
4. Po stronie serwera, klient tylko będzie otrzymywał dane - aby zabezpieczyć się przed włamaniami. I można testować odtwarzając walki tylko części serwerowej - kiedy AI samo ze sobą będzie rywalizować.
5. 2 miesiące - 60k zł
6. Część serwerowa - jak dużo wszystkiego chcecie, aby serwer kontrolował: można, aby kontrolował wszystko - wtedy każde opóźnienie serwera będzie miało znaczenie, lub będzie bardziej jak pośrednie magazynowanie danych - wtedy problemy znacznie się zmniejszają. No i wizualizacja - tutaj już tylko trzeba omówić.
-
2341 73 0 Dzień dobry, pracuję w tej branży od ponad 9 lat,
mam doświadczenie: php(symfony, laravel, OpenCart, wordpress), javaScript(vue, react, nuxt, nextJs, jquery), html, css(SASS/SCSS), sql(PostgreSQL, MySQL)
.
Jestem gotów wykonać ten projekt, jakościowo i w krótkim czasie
.
Przykłady niedawno zakończonych projektów:
https://cohntm.com/
https://spacepro.org/
https://ff.ua/uk
… https://lingvanex.com/
-
7134 13 0 Witaj!
Mam doświadczenie w tworzeniu gier oraz aplikacji kartograficznych w czasie rzeczywistym, integracji WebSocket, Canvas/MapLibre GL, skomplikowanej ekonomii oraz logiki walki. Pracuję z React/Vue, Tailwind, Laravel oraz zoptymalizowaną pracą z kafelkami i danymi geograficznymi.
Potrafię dokładnie realizować płynny ruch jednostek z interpolacją oraz aktualizacją ikon, budować formuły walki i skalowanie strat, testować balans w symulacjach. Rozumiem niuanse wydajności map oraz podładowania danych w czasie rzeczywistym.
Jestem gotów pokazać odpowiednie przykłady, omówić architekturę oraz przedstawić plan kamieni milowych.
Przykład gry: https://freelancehunt.com/showcase/work/php-game/1951150.html
GitHub: https://github.com/onyx144
Aktualne zlecenia dla freelancerów w kategorii PHP
Sprawić, aby e-maile o zamówieniach ze sklepu nie trafiały do spamuObecnie istnieje sklep na OpenCart, a wiadomości o zamówieniach trafiają do spamu, trzeba zrobić tak, aby trafiały do Odebrane (ukr.net gmail) sprawdzić. Hosting napisał: Zła dostawa poczty elektronicznej może być związana z niską reputacją nadawcy - IP lub domeny. W takim… PHP, Programowanie stron internetowych ∙ 6 godzin 55 minut temu ∙ 44 oferty |
Przenieść w pełni gotową responsywną strukturę HTML5 do WordPressa.
993 PLN
Szukam doświadczonego dewelopera WordPress, który będzie w stanie przekształcić nasz starannie przygotowany statyczny kod HTML5/CSS3 w wysokowydajny, niestandardowy motyw WordPress. Frontend jest już praktycznie gotowy (około 99%): semantyczne oznaczenie, metadane i struktura… Content Management Systems, PHP ∙ 3 dni 8 godzin temu ∙ 68 ofert |
Integracja GoPosWitaj, czy ktoś robił integrację GoPos z niestandardową stroną dla restauracji w Polsce? Potrzebuję pomocy, mają bardzo ubogą dokumentację, jest tylko swagger i to bez opisów https://app.gopos.io/doc/swagger-ui/index.html Sytuacja jest taka, używaliśmy od nich strony do zamówień… PHP, Programowanie stron internetowych ∙ 4 dni temu ∙ 25 ofert |
Napisać metadane ALT za pomocą AIStrona na Laravel, na stronie jest wiele obrazów, dla których należy automatycznie wpisać poprawne semantycznie i odpowiednie dla strony opisy ALT, z możliwością weryfikacji AI i uczenie maszynowe, PHP ∙ 4 dni 21 godzin temu ∙ 35 ofert |
Potrzebny programista do zakończenia i integracji projektu automatycznego zbierania i przetwarzania danych
58 PLN
Główna część parsera została już zrealizowana. Parser działa w środowisku Windows przez Microsoft Edge: strona ma ochronę antybotową, dlatego zbieranie danych odbywa się nie przez bezpośrednie zapytania HTTP, ale przez aktywną sesję przeglądarki. Skrypty zarządzają otwartą kartą… PHP, Programowanie stron internetowych ∙ 5 dni 3 godziny temu ∙ 26 ofert |