Colobot

Gra strategiczna z elementami programowania

Colobot – edukacyjna strategiczna gra czasu rzeczywistego z elementami programowania, wyprodukowana przez Epsitec i wydana 3 listopada 2001 roku przez Alsyd. Jej kontynuacja pod nazwą Ceebot ukazała się w 2005 roku.

Colobot
Ilustracja
Logo gry
Producent

Epsitec

Wydawca

Alsyd

Dystrybutor

PL: Manta Multimedia[1]

Wersja

0.2.1
(8 sierpnia 2023) [±]

Data wydania

3 listopada 2001

Gatunek

RTS

Tryby gry

gra jednoosobowa

Wymagania sprzętowe
Platforma

PC

Nośniki

CD-ROM (1)

Wymagania

Kontrolery

klawiatura i mysz

Strona internetowa
Zrzut ekranu z gry

Program uzyskał rekomendację[2] Ministerstwa Edukacji i Nauki jako środek dydaktyczny na poziomie gimnazjum i szkół ponadgimnazjalnych w zakresie nauki tworzenia algorytmów oraz opanowania reguł programowania i składni typowych dla języków C++ i Java.

Gra składa się z 5 trybów: misji, swobodnej gry, ćwiczeń, wyzwań oraz, począwszy od wersji 1.7, z trybu poziomy, w którym znajdują się misje stworzone przez użytkownika.

Zrzut ekranu z gry

Po prośbach polskiej społeczności fanów gry, Epsitec wydał kod źródłowy gry na licencji GNU GPL v3 oraz pozwolił społeczności na użycie nazwy Colobot z ich modyfikacjami tego kodu[3].

Główne tryby gry

edytuj

Gracz wciela się w postać astronauty, który eksploruje kosmos w poszukiwaniu planety, na której będzie mogła zamieszkać ludzkość, ponieważ życie na Ziemi zagrożone jest niszczącym kataklizmem. Celem gracza jest wykonywanie określonych zadań na kolejnych planetach przy pomocy robotów, które można programować za pomocą języka CBOT lub kierować nimi ręcznie.

Tryb misji składa się z 32 zadań (poziomów) umiejscowionych na 8 planetach i jednym księżycu (Ziemi, Księżycu, Tropice, Krystalii, Saarii, Wulkanii, Centurii, Orfenii oraz Nowej Ziemi).

Tryb misji jest fabularną częścią gry i do jego ukończenia nie jest potrzebna znajomość języka CBOT, jednak jego znajomość znacznie ułatwia samą rozgrywkę.

Swobodna gra

edytuj

W tym trybie dostępne są tylko te planety, które gracz odblokował w trybie misji. W trybie swobodnej gry nie ma określonego celu do wykonania (gracz może budować budynki, roboty; zabijać wrogów itp.).

Ćwiczenia i wyzwania

edytuj

Tryby gry, których celem jest wykonywanie określonych zadań jedynie za pomocą programowania robotów językiem CBOT. W tych trybach gry nie ma możliwości ręcznego sterowania robotem.

Przykładowym zadaniem jest nakazanie wyszukania robotowi rudy tytanu, następnie dostarczenie jej do huty w celu przetopienia jej na tytan.

Ćwiczenia opisane są krok po kroku, tak aby osoba nie znająca języka CBOT mogła się jego nauczyć, natomiast wyzwania, aby wykonać określone zadanie wymagają od gracza wiedzy zdobytej podczas ćwiczeń.

Poziomy użytkownika

edytuj

W tym trybie dostępne są poziomy stworzone przez użytkownika, bądź pobrane z internetu i stworzone przez innych użytkowników, które zostały umieszczone w katalogu user. Cel poziomu zależy wyłącznie od jego twórcy.

Roboty

edytuj

W grze znajduje się wiele rodzajów robotów. Ze względu na rodzaj napędu można je podzielić na roboty na kołach, na gąsienicach, na nogach i latające. Zazwyczaj jeden typ robota (np. działo) występuje we wszystkich wersjach: działo na kołach, na gąsienicach, na nogach i latające. Występują jednakże roboty specyficzne, tylko w jednej wersji transportowej.

Roboty na kołach

edytuj

Roboty na kołach są najprostszymi pod względem napędu robotami. Gracz ma dostęp do napędu kołowego od samego początku rozgrywki. Roboty na kołach rozwijają średnią prędkość i są w stanie podjechać na niewielkie wzniesienia. Z czasem produkcja robotów na kołach, ze względu na ograniczone zasoby surowców, staje się nieopłacalna.

  • Transporter na kołachrobot na kołach wyposażony w ramię chwytne, które może przenosić wiele przedmiotów.
  • Działo ogniowe na kołach – robot na kołach wyposażony w działo ogniowe. Jest ono używane do eliminacji wrogów. Zwykłe ogniwo energetyczne wystarcza na 10 salw (zakładając, że robot nie rusza się z miejsca, gdyż poruszanie się również pochłania energię)
  • Działo organiczne na kołach – robot na kołach wyposażony w działo organiczne oparte na technologii organicznej Obcych. Jest znacznie wydajniejsze, niż działo ogniowe.
  • Szperacz na kołach – robot wyposażony w specjalny skaner, który może wykrywać złoża tytanu, uranu lub energii pod ziemią.

Roboty na gąsienicach

edytuj

Wszystkie powyższe wersje kołowe występują również na gąsienicach. Napęd gąsienicowy charakteryzuje się nieco mniejszą prędkością, jednak roboty na gąsienicach są w stanie pokonać bardziej strome wzniesienia.

Roboty latające

edytuj

Wszystkie powyższe wersje kołowe występują również jako pojazdy latające. Są one najbardziej uniwersalnym typem robota. Przeszkodami dla nich mogą być jedynie:

  • zbyt wysokie góry
  • dopuszczenie do przegrzania silnika (co jakiś czas należy robić postój, aby robot nie spadł. Upadek, nawet z dużej wysokości, nie jest groźny, poza lotem nad wodą, która niszczy niemal wszystkie roboty)
  • grawiroślina – specyficzna roślina występująca tylko na niektórych planetach. Emituje dookoła siebie pole, które natychmiast wyłącza wszystkie silniki odrzutowe, gdy tylko znajdą się w jej zasięgu)

Roboty na nogach

edytuj

Wszystkie powyższe wersje kołowe występują również na nogach. Technologia ta jest oparta na materii organicznej Obcych. Podwozie robota zastępuje organicznymi nogami mrówek. Roboty te są powolne, ale potrafią wspiąć się na każde wzniesienie.

Roboty specyficzne

edytuj

Roboty specyficzne to unikatowe pojazdy, które spełniają bardzo nietypowe funkcje. Zazwyczaj występują na gąsienicach. Oto lista robotów specyficznych:

  • Recykler – przekształca wraki pojazdów w użyteczne kostki tytanu
  • Uderzacz – robot wyposażony w potężny młot, który przewraca na plecy mrówki oraz pająki unieszkodliwiając je (lecz nie zabijając) na pewien czas
  • Osłaniacz – robot, który za pomocą potężnego generatora emituje pole siłowe, które ochrania pojazdy i budynki wewnątrz.
  • Nurek – jedyny robot mogący poruszać się pod wodą. Jest wyposażony w ramię chwytające.
  • Działo fazowe – olbrzymie działo pozostawione w sejfie na Nowej Ziemi. Jedyna broń zdolna zabić Królową Obcych
  • Robot szkoleniowy – pojazd w różnych wersjach napędu, którym gracz nie może sterować za pomocą strzałek, ale jedynie za pomocą wpisywanych programów. Służy do ćwiczeń języka programowania.

Programowanie w grze

edytuj

Język programowania CBOT jest językiem stworzonym specjalnie dla gry Colobot, jednak składniowo podobny jest do języków C++ oraz Java. Sama znajomość języka CBOT nie umożliwi pisania programów w którymkolwiek z tych języków, jednak ułatwi ich naukę i zrozumienie. Język programowania w grze pozwala między innymi na używanie instrukcji warunkowych typu if i else, a także poleceń sterujących return i break.

Przykładowy program:

extern void object::SzukTyt()
{

	object item; 	// deklaracja zmiennej

	item = radar(TitaniumOre); 	// znajdź położenie rudy tytanu
	goto(item.position); 	// idź do rudy tytanu
	grab(); 	// podnieś ją

	item = radar(Converter);
	goto(item.position);
	drop(); 	// upuść rudę tytanu
	move(-2.5); 	// cofnij się 2,5 metra

}


Przypisy

edytuj
  1. Wszystkie gry Manta Multimedia po polsku!. „Click!”. 3/2002, s. 39. Wydawnictwo Bauer. 
  2. Rekomendacja nr 1369/2002. [dostęp 2014-06-21]. [zarchiwizowane z tego adresu (2014-09-10)].
  3. Komunikat na stronie polskiego portalu Colobot. [dostęp 2012-04-03]. [zarchiwizowane z tego adresu (2012-08-07)].

Linki zewnętrzne

edytuj