Warsztat.GD

Społeczność => Compo i bitwy => Warsztat Summer of Code 2013 => Wątek zaczęty przez: rubikshift w Lipiec 01, 2013, 12:47:13

Tytuł: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 01, 2013, 12:47:13
Witam,
Mam zaszczyt zaprezentować pierwszy projekt gry (nieznanej i skromnej grupy Matrubikon) tworzony na Warsztat Summer of Code 2013!

Zespół:
Michał Krakowiak <Rubikshift>, Mateusz Karcz <Matriksoft>

Geneza:
Pewnego słonecznego dnia olśniło mnie, i wymyśliłem Rubikshift's Space, a gdy podzieliłem się wizją gry ze znajomym, zaangażował się w projekt.

Założenia Projektu:
- generowanie losowych światów
- system rozwoju bohatera
- system czasu (rok, miesiąc, dzień)
- proste misje
- podróże między planetami
- i oczywiście interakcje z nimi
- istnieje jeszcze mnóstwo wizji "ficzerów", ale o nich napiszę, gdy będą bardziej realne do implementacji.

Kwestie Techniczne:
Gra ma być dostępna na systemach: Windows, Linux
Aktualnie powstaje prototyp w środowisku tekstowym, mam nadzieję, że wyrobimy się do października i powstanie wersja oparta na bibliotece SFML 2.0 (nie ukrywam, że ta kwestia może ulec zmianie)
Gra będzie pisana w języku C++.

Na zakończenie:
Jak już wspomniałem to pierwsza gra. Nie będzie to pierwszy duży projekt. Gra jest tworzona z pasji do gier, i sporej ilości wolnego czasu w wakacje XD.
To by było na razie tyle.

Wszystkie informacje z postępu prac będą w miarę a bieżąco uaktualniane.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 02, 2013, 19:50:44
Czas ujawnić pierwszy screen z produkcji. Na pierwszy ogień idzie interfejs do którego na pewno coś jeszcze dorzucimy, ale na chwilę obecną do testowania, czy działa wystarczy.

PS Nie jestem pewien czy powinienem to wrzucać w postaci osobnego postu, czy lepiej by było jakbym zmodyfikował poprzedni.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Karol w Lipiec 02, 2013, 20:48:47
Da fuq is that?
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: ackg w Lipiec 02, 2013, 21:17:38
Notepad++ at its best.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Kuba D. w Lipiec 02, 2013, 22:10:31
Zawsze to lepsze niż DevCpp...

EDIT:
@down: ORLY ?
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: txt w Lipiec 02, 2013, 22:32:51
Cytuj
Zawsze to lepsze niż DevCpp...
Tu nie chodzi o  IDE.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Xender w Lipiec 03, 2013, 00:52:07
Natomiast same nazwy tych plików, tak samo jak wszystkie nazwy w kodzie, które nie są pokazywane użytkownikowi, zdecydowanie powinny być po angielsku. Czyli "communication_polish" lub "communication_polski", ale nie "komunikacja_english" - miej litość :P.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 03, 2013, 13:54:36
Dobra, wrzucam jak to się prezentuje w programie. Uprzedzam, to wszystko prototyp tekstowy. Wszystko zamieszczam w dwóch językach.
Tak, używam notepad++, a IDE to visual studio 2012 (spokojnie obczaiłem, żeby działało na xp)
@Xender Zlitowałem się i zmieniłem nazwy ;)

Bym zapomniał, imię "Test" sam wybrałem na potrzeby screena a poziom i date wbiłem 'komenadmi' dewelopera XD, chyba nie muszę tego argumentować innym screenem (jakby co dajcie znać, żaden problem).

@Down
Zacząłem od angielskiego, ale zdecydowałem, że fajnie będzie jak dodam też polski. Na chwilę obecną nie jest to dla mnie duży problem.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Liosan w Lipiec 03, 2013, 13:58:02
Piszesz dwie wersje językowe? Lubisz sobie dokładać roboty :) ? Polecałbym przetłumaczenie gry na koniec produkcji, albo jeszcze lepiej - zdecydowanie się na jeden język. Proceduralne generowanie w grach tekstowych może być różne dla każdego z języków, więc możesz potrzebować nawet różnych algorytmów.

Liosan
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: matriksoft w Lipiec 03, 2013, 17:43:23
Jako współtwórca uzurpuję sobie prawo do wypowiedzi.

Wersja gry po zrewidowaniu całości kodu przeze mnie (oznaczona jako "Rubikshift's Space po przejechaniu buldożerem.7z") używa po jednym pliku na język. Nazwy tych plików nie są ani polskie, ani angielskie. Są to oznaczenia zgodne z wytycznymi RFC5646 (np. "pl-PL.mnl"). Jak narazie mają one taką samą składnię (czyli jej brak), jak dotychczas, co mam zamiar zmienić, pozostawiając niezmienione API. Mam też w planach połączyć pliki tekstowe "save.rubik", "date.rubik" i "lang.rubik" w jeden plik binarny, prawdopodobnie "space.mbc". Wszystko to (mam nadzieję) przyspieszy działanie kodu i zminimalizuje liczbę plików w katalogu roboczym gry.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 03, 2013, 21:25:30
A tutaj zamieszczam jak to wygląda po interwencji matriksoft (tylko w wersji polskiej, nie chcę na razie spamować screenami, które niewiele się różnią), fajnie jest mieć takiego kumpla. Wygląda o niebo lepiej, a to nadal prototyp, generator 'planszy' jest na ukończeniu (jakby co nad tym od zera pracował matriksoft i wymaga przede wszystkim testu).

PS Już screeny z produkcji gry nie będą lądowały na głównej tylko tutaj.

Edit:

@Down, spokojnie, to nie zajęło całego dnia. Tylko uznałem, że warto pokazać XD. Ale materiały, gdzie będą pojawiać się coraz to nowsze 'ficzery' już niedługo.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: MaxGarden w Lipiec 03, 2013, 21:30:03
Jeżeli przez cały dzień "pracy" zmieniliście tylko obramowanie, to marnie widzę ten projekt.
Btw, ta ramka z danymi bohatera powinna być cały czas widoczna (np. w prawym dolnym roku).
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: matriksoft w Lipiec 03, 2013, 21:41:49
Przez ten dzisiejszy dzień zajmowałem się głównie ujednoliceniem lekkiego bałaganu, jakim były operacje na plikach językowych. Stworzyłem jednolite, ogarnięte API, które może być rozszerzane bez potrzeby przepisywania całego kodu. A ramki zmieniłem przy okazji, bo mi się nie podobały. Jeśli chodzi o 'pasek stanu'. Okej. Dodam. To nie będzie trudne.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Frondeus w Lipiec 03, 2013, 22:17:36
Olejcie SFML2.0 i zróbcie to porządnie w ncurses/pdcurses.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: matriksoft w Lipiec 03, 2013, 22:22:40
Niewiele ponad pół godziny temu zadzwoniłem do Rubikshift. W rozmowie rozważaliśmy użycia Public Domain Curses. Byłoby to dobre, i jednocześnie nie naruszające zasady KISS, rozwiązanie.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Frondeus w Lipiec 03, 2013, 22:33:34
W komentarzach umieściłem mały prezent. Powodzenia.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Estivo w Lipiec 04, 2013, 00:20:20
Najwięcej czasu zejdzie wam na przepisywaniu konsola -> grafika.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 04, 2013, 15:40:18
Rano dodałem nowy prosty system rozwoju bohatera. Teraz trzeba dodać, żeby takie wartości jak siła, zręczność, wytrzymałość czy umysł były wykorzystywane.
Tak swoją drogą, na poważnie będziemy musieli rozważyć, czy olać sfml 2.0 na rzecz pdcurses. Szczerze to spodobała mi się wersja konsolowa XD

PS Jakby co, gwiazdka przy poziomie oznacza, że są dostępne punkty umiejętności.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Estivo w Lipiec 04, 2013, 16:08:24
Tak swoją drogą, jeżeli chcecie się liczyć w WSoCu, to albo wyciśnijcie z konsoli ostatnie soki, albo rzućcie tą konsolą w kąt, bierzcie SFML i napiszcie coś gdzie będziecie się skupiać na grywalności, a nie klepaniu kolejnych linii konsoli.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Frondeus w Lipiec 04, 2013, 16:17:48
Zróbcie komendy po polsku ;)
Ew w zależności od języka. Aby "show" nie mieszało się z polskimi zdaniami.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 04, 2013, 16:23:18
@Estivo
Mamy, jeszcze sporo czasu, a i pomysłów nie brakuje. Myślę, że nie ma o co się martwić na razie, i do października pojawi się porządna wersja do pobrania.
@Frondeus
Szczerze to nie planowałem czegoś takiego. Muszę to rozważyć z Matriksoftem. Mi osobiście angielskie komendy nie przeszkadzają, ale nie sądzę, żeby dodanie polskich sprawiło nam wiele problemów.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: matriksoft w Lipiec 04, 2013, 22:14:38
@Frondeus Lokalizacja komend nie będzie żadnym problemem.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 12, 2013, 13:29:15
Dobra, było trochę przerwy (niestety, ale siły wyższe), i nie mogliśmy cały czas kodować i wstawiać jakiś materiałów. Tak więc, w ciągu ostatnich dni dodaliśmy:
- polskie komendy
- generowany psuedo losowo świat
- możliwość poruszania się po nim
- zmianę czasu w grze przez wykonywanie akcji
- modyfikacja statystyk bohatera (Zdrowie, Wytrzymałość, Siła, Umysł, Technologia)

Dodaję parę screenów.

I krótka notka "co i jak" przy komendzie "informacje". Kod który się wyświetla jako pierwszy to taki opis planety, każdą planetę opisuje 8 wartości logicznych, o których powiemy później (ale teraz zdradzę, że są to m.in. czy zamieszkała, czy jest jakiś surowiec) następnie wyświetlają się numery planet połączonych z tą na której przebywa gracz, na te można się udać podając nazwę (później będą wyświetlane nazwy, ale póki co korzystam z numerów).

EDIT : Krótko, jeszcze dzisiaj dodałem nowe ficzery:
- Punkty Akcji - pozwalają wykonywać akcję, są zależne od posiadanej wytrzymałości.
- Komendę "sleep"/"śpij" regenerującą Punkty Akcji (pewnie życie też, ale to później)
- Modyfikacja interfejsu, pozbyłem się "Gotówka: "(to będzie gdzieś indziej, najprawdopodobniej w ekwipunku), zamiast tego wyświetlane są Punkty Akcji, i numer (w przyszłości nazwa) planety na której przebywa gracz.

I nowa porcja screenów.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 13, 2013, 16:24:54
Z początku chciałem zrobić update poprzedniego posta, ale jak zacząłem pisać to trochę dużo mi wyszło mimo IMHO niewielkiej liczby wprowadzonych zmian
Dodałem:
- prostą funkcję, która sprawia, że po wejściu w tryb ulepszenia będziemy mogli spokojnie ulepszyć statystyki, póki mamy punkty ulepszenia, lub dobrowolnie nie wyjdziemy z trybu.
- ta sama funkcja blokuje dostęp do trybu ulepszenia ( poprzednio można było chociaż przejrzeć statystyki, ale od tego jest inna komenda przecież), próba wejścia w tryb zostanie udaremniona komunikatem: "Nie masz punktów rozwoju"
- zmiany w balansie, będą 3 punkty akcji na początku i po jednym na każdy punkt w wytrzymałości, planuję sprawić, żeby każda akcja w świecie gry zabierała punkt akcji (oprócz spania oczywiście). Ta kwestia oczywiście może ulec szybko zmianie, ponieważ jeszcze nie ma wszystkich możliwości jakie gra ma oferować, więc trochę ciężko pracować nad balansem, ale warto o nim zawczasu pomyśleć.
- Parę poprawek w wyświetlanym tekście i 1 lub 2 nowe komunikaty.
Oczywiście screeny.
Jeżeli są jakieś pytania to chętnie odpowiem.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 27, 2013, 13:59:24
Długo nic nie było. Ale od pewnego czasu przepisuję Rubikshift's Space na... pdcurses. Tak, wiem dużo osób liczyło na SFML, ale szczerze mówiąc i tak by to nie wyglądała jak standardowa gra. Próbowałem, portować na SFML, ale jakoś mi nie szło i zrezygnowałem, a z pdcurses poszło trochę łatwiej. Teraz już widzę swój błąd (ogromny błąd), czyli to, że nie zaczęliśmy pisać tego od razu tak jak teraz, bo przepisywanie wszystkiego tak by działało wybraną biblioteką to katorga. Na razie screeny z tego co mamy.

PS Mam nadzieję, że nie obraziliście się za użycie do interfejsu innej biblioteki niż sfml ;)
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Karol w Lipiec 27, 2013, 18:52:49
PS Mam nadzieję, że nie obraziliście się za użycie do interfejsu innej biblioteki niż sfml ;)
Może się mylę i się nie znam, ale SFML nie jest biblioteką UI.

- ta sama funkcja blokuje dostęp do trybu ulepszenia ( poprzednio można było chociaż przejrzeć statystyki, ale od tego jest inna komenda przecież), próba wejścia w tryb zostanie udaremniona komunikatem: "Nie masz punktów rozwoju"
Nie lepiej spiąć to w jedną "funkcję" (ekran?). Działanie praktycznie to samo to po co rozbijać to na dwa ekrany "statystyki" i "ulepszenia"?
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 28, 2013, 11:18:25
@Karol
SFML nie jest biblioteką typową do tworzenia UI, ale Pdcurses IMHO też nie jest. Gdyby wziąć za myśl przewodnią cytat z Wikipedii
Cytuj
interfejs użytkownika – część oprogramowania odpowiadająca za interakcję między aplikacją i użytkownikiem
To myślę, że zawsze się da zrobić UI. Wiadomo, w zależności od użytej biblioteki (technologii) powstają rożne rzeczy, jedne lepsze inne gorsze.
Co do działania statystyk i ulepszania. Teraz będą spięte w jedną "kartę" w menu u góry "Statystyki". Wcześniej to rozbijałem z faktu, że najpierw napisałem wyświetlanie "czystych" statystyk, a później ulepszanie i jakoś poza tym, że wyświetlają podobne informacje jakoś nie dostrzegałem żeby to połączyć.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Lipiec 29, 2013, 22:27:19
Było na głównej. To i jest tu, tylko trochę lepiej opisane.
http://www.youtube.com/watch?v=BAgxgeBkD5s
Niby ciągle mało żeby prezentować, ale jakoś mnie korciło i nie wytrzymałem. Sorry, że bez dźwięku, ale nie mam mikrofonu pod ręką. Co do filmu wiem, że nie każdemu musi się podobać, szczególnie, że będzie to gra w środowisku tekstowym, ale mam nadzieję, że wygląd nie będzie głównym powodem dla której ktoś odrzuci grę, bo staramy się dopracować wszystko na maksa i wrzucić tyle zawartości ile mamy możliwości i pomysłowości.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: Estivo w Lipiec 31, 2013, 22:58:31
W cholerę nie wiem co wam w SFML nie pasowało ;)
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Sierpień 18, 2013, 18:33:26
Przykładowy screen z Inventory :)
Ekwipunek jest już prawie ukończony (ten status niestety jest od dłuższego czasu, ale codziennie coś nowego dochodzi).
Jest porównywanie elementów ekwipunku z obecnie używanym przedmiotem, jak widać oznaczanie odpowiednim kolorem (czerwony lub zielony) też jest. Jest oczywiście "system" obciążenia gracza, ale tylko noszonymi na sobie przedmiotami. Nie skończy się na zaznaczonej na czerwono liczbie, przeciążony gracz wyda więcej punktów akcji na każdą czynność.
Co do nazw wątpię, że będą zmiany, niestety, ale niemalże wszystko w tej grze zależy od (pseudo?)losowości.
Jest także parę drobniejszych zmian jak np. możliwość zmiany języka podczas gry. Ale screeny o tychże zmianach sobie podaruję.

PS Zapomniałem dodać, że nazwy SurowiecA, RoślinaB itp. są raczej tymczasowe.
Tytuł: Odp: Rubikshift's Space
Wiadomość wysłana przez: rubikshift w Październik 01, 2013, 16:34:47
I niestety, nadszedł koniec czasu, a my nie skończyliśmy gry. Nie chcę się rozpisywać, ale mam ochotę krótko się wypowiedzieć na temat mojego pierwszego WSoC. Inicjatywa ciekawa, podoba mi się, inaczej bym się nie zgłosił. Deadline zmuszał niekiedy do dalszej pracy. Praca nad Rubikshift's Space przyniosła duże pokłady doświadczenia, które na pewno kiedyś się przyda. Wiem już jak się za następne projekty nie zabierać XD. Moje gratulacje do wszystkich, którzy swoje gry ukończyli, dopiero wiem jaki to trud napisać grę, i to jeszcze mając narzucony deadline.
Dziękuję za uwagę ;)
Mówi się trudno i żyje się dalej, do następnego projektu podejdę już bardziej "profesjonalnie" xd.