Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 Polski Portal COLOBOTa - COLOBOT Polish Portal
Forum - Polski Portal COLOBOTa
Strona głównaStrona główna UżytkownicyUżytkownicy GrupyGrupy StatystykiStatystyki


Poprzedni temat «» Następny temat
Nowy Colobot od nowa
Autor Wiadomość
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 09-09-2008, 15:57   Nowy Colobot od nowa

Pomyślałem sobie że może wartoby od nowa stworzyć darmową alternatywę dla Colobota z większymi możliwościami i możliwością łatwej rozbudowy (plug-in'y) oraz opierającą się na zasadzie RTS'a sieciowego z multiplayerem.


Myślałem nad stworzeniem alternatywy dla Colobota, która byłaby połączeniem Colobota i OGame:

DLA UŻYTKOWNIKA:
- całkowicie darmowe (GPL)
- gra przez sieć - jeden komp jest serverem reszta się podłącza (Wszystko poza wyświetlaniem robi serwer. Dlaczego? Bo nie musi renderować grafiki 3D!)
- możliwość budowania baz na wielu planetach (tak jak jest w OGame).
- zaawansowana infrastruktura jak w Colobocie (w OGame nie płacisz energii np. za przewóz surowców między budynkami, a w Colobocie musisz o takie szczegóły zadbać)
- oczywiście programowanie robotów (najpierw zrobiłoby się parser czegoś w stylu plików BAT, później można by pomyśleć o jakimś translatorze z C++ wykonywanym po stronie klienta - serwer dostawałby już gotowy ciąg poleceń - programu)

STRONA TECHNICZNA:

Ogólnie
- podział na "Kod planety" (teren, krzaczki itp) i "Kod misji" (przedmioty, warunki ukończenia misji itp) - oba kody w XML'u w osobnych plikach
- 3D w OpenGL'u (łatwo przepisać na Linuxa)
- INTERFEJS: na kontrolkach Windowsowych (najprościej, standardowo i szybkie działanie), aplikacja MDI (wielookienkowa - np. można mieć jednocześnie otwarte podgląd 3D ze sterowaniem, pisanie programu czy też właściwości obiektu)
- pliki pomocy - w (X)HTML'u (jeśli da się użyć silnika Firefoxa/Opery bo IE poza tym że ogólnie kicha to niekompatybilny np. z CSS'em)
- możliwość rozbudowy bez rekompilacji za pomocą pluginów DLL.
- i mam wiele innych pomysłów

Połączenie sieciowe
Mam następujący pomysł:
- Podczas rozpoczęcia gry klient (program na kompie gracza) łączyłby się z serwerem "LOGIN" i robił takie tam w stylu logowania itp. Serwer zwracałby listę planet gracza, listę mirrorów "STATIC" (o tym później) i redirectował na odpowiedni serwer "PLANET" (podawał IP i port). W przypadku małych serwerów byłby to ten sam komputer. Serwerów "PLANET" może być wiele, każdy odpowiada za jedną lub kilka planet.
- Na serwerze "PLANET" znowu następowałoby logowanie (tak dla bezpieczeństwa) i pobierany byłby plik danych planety (XML) czyli:
- ustawienia otoczenia (mgła, widoczność, niebo, tło, muzyka)
- ustawienia gruntu (woda, relief, res)
- źródła dźwięków (np. możesz sobie określić że blisko trującego jeziorka będą odgłosy krokodyli :D )
- rośliny i inne obiekty statyczne (np. nieodzyskiwane ruiny)
Na podstawie tych danych klient tworzyłby listę zasobów (plików tekstur, dźwięku, programów), aby ...
- ... za pomocą protokołu HTTP lub FTP ściągnąć je z serwera "STATIC" (o ile nie ma w lokalnym cache).
- po pobraniu zasobów klient zgłaszałby serwerowi "PLANET" gotowość i serwer przesyłałby pozycje obiektów, programy itp. w pętli a klient przesyłałby do serwera rozkazy np. "rozpocznij ruch lewe kółko 1.0, prawe kółko 0.8", "rozpocznij budowanie na pozycji (1.19, 56.20) stoczni" czy też "wykonaj przed chwilą wysłany program" i dane programów (tych skompilowanych)

UWAGA! To że wszystko będzie na serwerze powoduje jeszcze jedno: możliwość rozbudowy gry z zachowaniem bezpieczeństwa. Załóżmy że chcemy rozbudować grę przez dodanie funkcji ładowania baterii do osłaniacza. Jeśli byłoby to wykonywane po stronie klienta, wymagałoby to przesłania pliku DLL z wtyczką. Nieuczciwi admini serwerów mogliby umieścić w tym pliku złośliwy kod. Jednak jeśli wszystko będzie po stronie serwera to najwyżej wirus zainfekuje serwer ;) .

I jeśli ja mam to pisać to w Delphi albo Builderze (nie lubię WinAPI) albo jakiejś alternatywie na GPL (np. Lazarus, nie wiem czy jest jakaś alternatywa dla Borland C++ Builder).

Uwaga! Ja już tworzę moduł obiektowy dla Delphi do OpenGL'a, więc to już pierwszy krok :) . Pamiętajcie że nie trzeba się męczyć nad interfacem - wystarczy obsłużyć proste zdarzenia i napisać procedury np. wypełniania listy badań.


Na początek należałoby wymyślić NAZWĘ dla gry. Zapraszam kreatywnych!


///błędy w odmianie i inne- Abadon
_________________
1Tbps Project && Telecomix Network

Ostatnio zmieniony przez Abadon 26-02-2009, 11:54, w całości zmieniany 2 razy  
 
 
 
Thorin12 
Administrator forum
Cichy obserwator


Pomógł: 1 raz
Dołączył: 25 Lut 2008
Posty: 134
Skąd: Wyspa Berk
Wysłany: 09-09-2008, 22:27   RE: Nowy Colobot od nowa

Hmmm moze jako nazwe Colotrix?? albo ColonizeWars??
_________________
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 10-09-2008, 17:18   RE: Nowy Colobot od nowa

Wszystko z Colo... czy Colonizate odpada bo tu nie chodzi o kolonizowanie.
_________________
1Tbps Project && Telecomix Network

 
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 15-09-2008, 16:46   RE: Nowy Colobot od nowa

Wpadłem na to że w grze nie może być czegoś takiego jak misje!!! To ma być RTS typu science fiction (że tak się wyrażę) więc gdyby były misje i cele gry to tak trochę bez sensu. Zamiast tego po prostu gracze walczyliby między sobą lub pomagali sobie. Pełna dowolność.

Zastanawiam się także czy jest sens żeby każdy serwer obsługiwał jedną planetę... komunikacja między serwerowa powodowałaby dodatkowe lagi: schemat jest następujący (podróż na inną planetę):
- gracz na Planecie 1 - gracz wydaje rozkaz odlotu na planetę Planeta 2.
- serwer Planety 1 - usuwa rakietę gracza z listy obiektów i przekazuje klientom żądanie wyświetlenia startującej rakiety na pozycji startowej
- serwer Planety 1 - przesyła dane lotu (planeta startowa, planeta docelowa, typ rakiety, zawartość itp.) do Master Servera
- serwer Planety 1 - rozłącza klienta
- gracz - łączy się z Master Serverem, który ma go powiadomić kiedy skończy się lot (ewentualnie redirectować na jakiś server walki w przestrzeni :) )
- Master Server - ustawia timer na czas lotu
- Master Server - po upływie czasu przesyła dane lotu i ID do serwera Planety 2
- Master Server - przesyła do klienta że już doleciał i może się połączyć z serwerem Planety 2, podaje mu jego IP, port i ID po czym go rozłącza.
- gracz - łączy się z serwerem Planety 2, podaje swój ID na podstawie którego serwer wie o którą rakietę chodzi
- serwer Planety 2 - przesyła do klientów żądanie wyświetlenia rakiety na orbicie a do klientów mających radary szpiegowskie szczegółowe informacje danych lotu (szczegółowość zależna od poziomu technologii szpiegowskiej).
- serwer Planety 2 - przesyła do gracza mapę planety
- gracz - wybiera sobie pozycję na której chce wylądować, wysyła ją do serwera
- serwer Planety 2 - przesyła do klientów żądanie wyświetlenia lądującej rakiety, zaś po wylądowaniu dodaje rakietę do listy obiektów.
- i "tylko" tyle. Można grać na Planecie 2.

I wpadłem na to że obiekty gracza nie mogłyby być przechwycone przez innych graczy przez np. 48 godzin pobytu na planecie gdy nie ma tego gracza. Po tym czasie stawałyby się bez właściciela i każdy kto chciałby to mógłby je sobie przywłaszczyć. Oczywiście mógłby być "robot hacker" który umożliwiałby przywłaszczanie botów które są już czyjeś.

A gdyby astronauta umierał to roboty automatycznie stawałyby się bez właściciela.

Także ważny do rozważenia jest problem czy gracz może być tylko na jednej planecie czy na wielu... jeśli na wielu to najlepiej zrobić tak aby 1 serv obsługiwał wszystko i każdy serwer to osobna, nie związana z innymi gra (tak jak uniwersa w OGame).

///błąd - Abadon
_________________
1Tbps Project && Telecomix Network

Ostatnio zmieniony przez Abadon 26-02-2009, 11:58, w całości zmieniany 1 raz  
 
 
 
COLOBOT 
Administrator sieci
Założyciel portalu


Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz
Dołączył: 07 Lut 2008
Posty: 353
Skąd: Jarocin
Wysłany: 16-09-2008, 11:47   RE: Nowy Colobot od nowa

Pomysł jest ciekawy, jednak zauważę jedną podstawową różnicę między ogame, a twoim projektem. W ogame gra się jedynie przez przeglądarkę internetową, a twój pomysł przypomina raczej SecondLife. Aby grać w tę grę należy ściągnąć klienta, który renderuje grafikę itp., w zależności od tego, jakie informacje przekaże mu jeden z 3000 serwerów. To drugie rozwiązanie jest dużo trudniejsze do realizacji, ale najprawdopodobniej jedyne, aby móc zachować programowanie robotów, a to przecież jest najistotniejszym elementem gry.

Sama "fabuła" byłaby na pewno o wiele bardziej skomplikowana niż w normalnym COLOBOCie. Osobiście proponowałbym dać każdemu użytkownikowi planetę matkę, na którą nie mają prawa wtargnąć inni - taka centralna baza. Wszystkie planety mogłyby być najpierw opanowane przez obcych, tak żeby gracz na początku przyzwyczaił się do walk i zasad panujących w COLOWszechświecie (a może taką nazwę nadać grze?). Walki mogłyby być prowadzone zarówno na bardzo różnorodnych planetach (oczywiście ich wygląd musiałby być podobny, chyba żeby zrobić jakiś generator tekstur, ale to już obciążenie dla serwerów), jak i też w przestrzeni międzygwiezdnej za pomocą jakichśtam specjalnych statków. Tyle że powiedzmy statki kosmiczne służące do transportowania robotów leciałyby sobie bez przeszkód, w walkach brałyby udział tylko te do tego przeznaczone. Swoją drogą ciekawe by było dodanie funkcji motorZ(L,P), który regulowałby nachylenie robota (umożliwiałoby to zrobienie np. efektownej beczki).

I na koniec co do nazwy - niech będzie taka, żeby EPSITEC nie miał jakichś wątów z racji podobieństwa do COLOBOTa.
_________________
Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
 
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 16-09-2008, 15:11   RE: Nowy Colobot od nowa

Co do generatora terenu to można zrobić kilka podstawowych tekstur i przy pomocy specjalnego programu wygenerować z nich jakieś losowe ale tak że raz wygenerować i tyle. Jeśli będzie dużo tekstur to to będzie najwyżej obciążenie dla serwera STATIC (ściąganie... poza tym serwery STATIC (mirrory) mogą być także stawiane przez wolontariuszy na zwykłym Apache) a nie dla serwerów PLANET.

Admin: nie rozumiem o co chodzi z tą beczką...???
Aha i wypowiedz się (o ile masz jakąś opinię) czy lepiej 1 centralny serwer (ewentualnie przez proxy ale wszystko i tak parsuje centralny, proxy tylko przekazują dane do serwera i od serwera) czy może podział na kilka serwerów i połączenia między nimi? A może servery niezależne? (tak jak universa w OGame).

A co do nazwy to też coś możecie wymyślać.
_________________
1Tbps Project && Telecomix Network

 
 
 
COLOBOT 
Administrator sieci
Założyciel portalu


Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz
Dołączył: 07 Lut 2008
Posty: 353
Skąd: Jarocin
Wysłany: 16-09-2008, 20:24   RE: Nowy Colobot od nowa

Ta beczka to tak się robi, że robot najpierw odwraca się "do góry nogami", a potem znowu "na nogi", chodzi o to, żeby nie musiał latać jak po płaskim, ale mógł się przechylić.

A z tym serwerem to wg mnie na razie wystarczy jeden, a gdyby się gra rozwinęła i nie wyrabiałby, pomyślałoby się nad dodaniem kolejnych.
_________________
Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
 
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 16-09-2008, 20:39   RE: Nowy Colobot od nowa

Oczywiście serwer byłby do pobrania i każdy mógłby sobie go uruchomić (tak jest w Armagetron i wielu innych zręcznościowo-strzelankowych sieciówkach). Lista działających serwerów przechowywana byłaby w bazie i hostowana na jakimś ogólnodostępnym wykupionym serwerze (typu home.pl wiecie o co chodzi) lub nawet darmowym (cba.pl, yoyo.pl). Działające serwery byłyby dodawane i listowane za pomocą wszechobecnego protokołu HTTP :) .

Gdy mamy jeden serwer to procedura wszystkich działań międzyplanetarnych radykalnie się upraszcza i znikają lagi między serwerowe :) . Tylko 1 serwer dla całej, wieloplanetowej gry może nie wyrobić. Chodzi zwłaszcza o zużycie RAM'u, z procesorem mniejszy problem.

Bo nie widzę innej drogi do realizacji działania programów na robotach jak tylko wątki (każdy program wykonywany na bocie to oddzielny wątek). Oczywiście można kombinować i tworzyć "pseudo-wątki" (czyli wykonaj 1 instrukcję z 1 programu, wykonaj 1 instrukcję z 2 programu i tak w kółko) ale to sztuka dla sztuki i bezsens.

Aha. I jeszcze wpadłem na to że jeśli jakiś mod wymagałby implementacji także po stronie klienta to klient pytałby się użytkownika czy ufa temu serwerowi, oferowałby skanowanie antywirusowe i - jeśli to możliwe - uruchamiał z niższymi uprawnieniami (chociaż chyba niemożliwe żeby aplikacja miała inne uprawnienia niż jej DLL). Można oczywiście też odpalać całą grę z niskimi uprawnieniami (np. dostęp do plików tylko w katalogu gry w Danych aplikacji i Program Files).


///Błąd - Abadon
_________________
1Tbps Project && Telecomix Network

Ostatnio zmieniony przez Abadon 26-02-2009, 11:56, w całości zmieniany 2 razy  
 
 
 
Lopix


Wiek: 21
Dołączył: 17 Wrz 2008
Posty: 3
Skąd: Marki
Wysłany: 19-09-2008, 18:30   RE: Nowy Colobot od nowa

A może będzie można grać na kilku planetach na raz. Rakieta i astron. jest tylko na jednej ale po odlocie zostaje ambasador (rodzaj astron.), którego śmierć powoduje stratę bazy :o
Ostatnio zmieniony przez Lopix 19-09-2008, 18:47, w całości zmieniany 1 raz  
 
 
DeiDara 
Derosa out.


Twoja ulubiona misja: Wszystkie z Wulkani
Pomógł: 2 razy
Wiek: 21
Dołączył: 23 Lip 2008
Posty: 205
Skąd: Włocławek
Wysłany: 22-09-2008, 14:57   RE: Nowy Colobot od nowa

do bani:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@
_________________
An open mind is like a fortress with its gates unbarred and unguarded.
 
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 22-09-2008, 15:44   RE: Nowy Colobot od nowa

Lukasz, PRZESTAŃ!!! Jesteś pokemonem!
_________________
1Tbps Project && Telecomix Network

 
 
 
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 06-11-2008, 10:35   RE: Nowy Colobot od nowa

Wpadłem na kolejny pomysł - powinny być naloty Obcych i Obcy powinni mieć planety-matki (tzn. planety z których nie można ich wykurzyć). A może możliwość gry Obcymi (czyli Obcy to nie NPC)? Dostajemy na początku Królową z funkcją znoszenia jaj. Z tym że Królowa może powstać tylko jedna (tak jak astronauta u ludzi) i żeby rozpocząć znoszenie jaj to musi się po-tego (wiecie o co chodzi :) ) z Królem Obcych, który jest NPC (nikt nim nie gra). Królowie Obcych podróżują po planetach i żeby można było się z nim po-tego (:)) to trzeba na to trafić albo samemu do niego przylecieć. I jeszcze trzeba unikać Królów zarażonych QSIE'm (to nie jest skrót od niczego tylko nazwa wymyślona) - czyli chorobą przenoszoną drogą płciową przez Obcych.

I jeszcze jedno: co by się działo przy śmierci Astronauty lub Królowej Obcych? Respienie czy koniec gry (i infrastruktura od nowa :P )?

I czy powinny być kosmiczne pieniądze? (oczywiście nie kupowane za prawdziwą kasę tylko np. zdobywane w drodze handlu albo za wykonanie jakiejś usługi).

No i oczywiście można lądować nawet na nieskolonizowanych planetach, lub zamieszkałych przez Obcych, zarówno tych "Dzikich" (NPC) jak i sterowanych przez graczy, o ile nie są to Planety Matki. Ale powinna być możliwość walki z orbity (bez lądowania) nawet na Planecie Matce.

I czy planety powinny być okrągłe. Jeśli tak o to komplikuje życie programistom :| gdyż biegunowy układ współrzędnych... problemy z mapą... konieczność obliczanie tego łajna (czyli wolniejsze działanie :| ) i na pewno bardziej skomplikowana rozgrywka. :)

Nazwa jeszcze nie wymyślona... pomyślcie nad jakąś...
_________________
1Tbps Project && Telecomix Network

 
 
 
DeiDara 
Derosa out.


Twoja ulubiona misja: Wszystkie z Wulkani
Pomógł: 2 razy
Wiek: 21
Dołączył: 23 Lip 2008
Posty: 205
Skąd: Włocławek
Wysłany: 24-01-2009, 20:50   RE: Nowy Colobot od nowa

Cytat:
adiblol napisał/a:
Lukasz, PRZESTAŃ!!! Jesteś pokemonem!



thx
_________________
An open mind is like a fortress with its gates unbarred and unguarded.
 
 
 
lukas_j 
Geek
127.0.0.1<-hack


Twoja ulubiona misja: nie wiem, lubie wiekszosc :)
Pomógł: 1 raz
Dołączył: 07 Cze 2008
Posty: 187
Skąd: localhost
Wysłany: 27-01-2009, 21:38   RE: Nowy Colobot od nowa

No to co mi napisałeś przypomina mi gta sa multiplayer (sa:mp) :) hehe, ale fajnie by było, że nie ma jednej planety, tylko każdy se swoją zrobi, i można się połączyć, a logowania nie trzeba, pozatym uważam, żeby była możliwość gry w oknie, można wtedy gadać na gg (ja mam akurat tlena do łączenia się z gg (jest lepszy) i grać :)


///przyczyny edytowania - drobne błędy dotyczące braku polskich znaków - Abadon (moderator w okresie próbnym).
_________________
Jestem zwolennikiem wolnego oprogramowania!
Ostatnio zmieniony przez Abadon 10-02-2009, 17:42, w całości zmieniany 4 razy  
 
 
 
Programerus 
Jestem Bogiem


Pomógł: 2 razy
Wiek: 22
Dołączył: 28 Mar 2009
Posty: 188
Skąd: Kołobrzeg
Wysłany: 07-04-2009, 22:20   

Jakby co ja się dopisuję do projektu i mogę pomagać w jego tworzeniu.
_________________
"Tylko bogaci mogą mówić mi, że pieniądz nie daje szczęścia"
 
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Polski Portal COLOBOTa © 2008 - 2012