Szablon RPG - czy tak da się go zrobić?

0

Witam
Jak wielu przede mną
postanowiłem SPRÓBOWAĆ zrobić SZABLON (podstawowe funkcje) gry RPG, przy
użyciu środowiska programowania Delphi 7 lub Lazarusa. Od razu wspomnę,
że nie jest to ort! tak zwykła zachcianka zrobienia gry niczym nie
poparta. Programuje już od jakiegoś czasu w Delphi jak i bawiłem się
kilkadziesiąt godzin w C++ (zdobywając wiedze w tutorialu jak i pisząc
proste programiki). NIE BĘDĘ prosił tu o napisanie gry czy całego kodu,
lecz chciałbym poprosić o odpowiedź czy coś takiego ma prawo działać :).
Otóż moje założenia
1.Mapa gry ma być wczytana z obrazka, Jednak aby bohater mógł wykrywać
kolizje do pamięci wczytam bitmapę 2 kolorową (biały -brak kolizji
,czarny -kolizja)
2.Bohater obrazek (Gify w zależności od poruszania się )-komponent TImage z odpowiednimi właściwościami
3.Potwory Tworzone w losowych miejscach (użyte randomize) -wczytywane z obrazków
4.Gra
ma być stworzona bez żadnego dodatkowego silnika graficznego (wiem
silniki graficzne są po to by ich używać ich ale mam "spróbować" coś
takiego stworzyć aby pokazać możliwości środowiska jak Delphi 7)

I teraz pytanie do systemu walki, czy aby gracz np. mógł podczas gdy go
potwór atakuje mógł odejść - (czy inne 2 zdarzenia lub więcej
jednocześnie) Będę potrzebował obsługę wielu wątków, czy też nie.

Jeśli założenia nie będą niemożliwe do zrobienia to zapytam o bardziej szczegółowe rzeczy :)
Z góry dziękuje za wszelkie odpowiedz

1

Od razu mówię że tego nie zrobisz :D A jeśli nawet zrobisz to będzie to niegrywalne niepraktyczne i ogólnie nie.

http://warsztat.gd/wiki/Projektowanie+gry+RPG

1

1.Mapa gry ma być wczytana z obrazka, Jednak aby bohater mógł wykrywać
kolizje do pamięci wczytam bitmapę 2 kolorową (biały -brak kolizji
,czarny -kolizja)

Nieco dziwny pomysł - warstwy grafiki i mechaniki gry powinieneś mieć rozdzielone, a system kolizji oparty na bitmapach dwukolorych to jakaś paranoja; To, co ma być rysowane nie może służyć do określania dostępnych stref do poruszania się po mapie - jakoś to abstrakcyjnie brzmi;

2.Bohater obrazek (Gify w zależności od poruszania się )-komponent TImage z odpowiednimi właściwościami

Czyli chcesz zrobić grę 2D? TImage? O nie! Żadnego VCL! Zapoznaj się z dostępnymi API do tworzenia gier w trybie graficznym, bo na komponentach buduje się aplikacje użytkowe, a nie sensowne gry;

3.Potwory Tworzone w losowych miejscach (użyte randomize) -wczytywane z obrazków

No tak, tylko te randomowe miejsca muszą być przemyślane; Obrazki to obrazki - trzeba sobie przygotować odpowiednią hierarchię klas dla różnych postaci, aby były malowane w grze w sposób sensowny, a nie kupą globalnych, nie powiązanych ze sobą procedur;

4.Gra
ma być stworzona bez żadnego dodatkowego silnika graficznego (wiem
silniki graficzne są po to by ich używać ich ale mam "spróbować" coś
takiego stworzyć aby pokazać możliwości środowiska jak Delphi 7)

Ty nie masz na myśli silników graficznych, tylko API z funkcjami do grafiki; Silnik zarządza grą - nim się nie maluje;

Jeśli chcesz to możesz się bawić z komponentami, ale to raczej strata czasu; Dużo lepszy efekt (i bardziej wydajny) uzyskasz wykorzystując gotowe funkcje API, a przy tym nauczysz się sporo nowych rzeczy; Na tym polecałbym się skupić, a formularze i komponenty zostaw dla aplikacji użytkowych;

I teraz pytanie do systemu walki [...]

Nic jeszcze nie masz, a już zastanawiasz się nad walkami; Najpierw zrób jakąś podstawę, np. samo uruchamianie aplikacji, ładowanie ustawień, obsługa menu itd., a później zabierz się za mapy, postacie i scenariusz; Możesz to sobie rozpisać czy rozrysować na kartkach, ale programować zacznij od podstaw;

Będę potrzebował obsługę wielu wątków, czy też nie.

Raczej na jednym wątku (głównym) się nie skończy; No chyba, że chcesz zrobić coś pokroju gier z Pegasusa, gdzie jeden "wątek" sterował całą grą i przerysowywał obraz (stąd przy większej liczbie ruchomych elementów można było zauważyć charakterystyczne lagi przy ich poruszaniu się); Sądzę, że wątków jeszcze nie poznałeś, więc masz się czego uczyć;

Jeśli założenia nie będą niemożliwe do zrobienia to zapytam o bardziej szczegółowe rzeczy :)

Jeśli zależy Ci na większym projekcie to przed Tobą jeszcze długa droga; Trzba opanować wszystkie techniki, które chciałbyś wykorzystać w tej grze, nauczyć się pisać efektywny kod, który w przypadku gier jest bardzo ważny; Zaplanować całą grę wraz z wyglądem samego programu i wszystkiego innego (postaci, map itd.) i rozpisać scenariusz gry, na podstawie którego będzie możliwe zaprogramowanie całęgo systemu gry;

W sieci można znaleźć mnóstwo materiałów o tym jak zacząć pisanie gier, są dostępne także dokumenty z kompletnym planem jakiejś starej gry - np. sam mam w PDF biblię gry "Prince Of Persia 2" z roku 1991, zawierającej 217 stron z rozplanowaniem kluczowych i mniej ważnych elementów; Mnóstwo opisów, rysunków grafik tytułowych, plansz, postaci (ich wygląd, klatki w animacji) itd.; Ciekawa lektura na początek :]

0

Dziękuje za oby dwie odpowiedzi zarówno za tą

babubabu napisał(a):

Od razu mówię że tego nie zrobisz :D A jeśli nawet zrobisz to będzie to niegrywalne niepraktyczne i ogólnie nie.

http://warsztat.gd/wiki/Projektowanie+gry+RPG

Ponieważ wiem, że nie ma to sensu, na dłuższą mete.

I oczywiście jeszcze większe podziękowania za bardziej rzeczową wypowiedź od
Furious Programming
Dzięki któremu zaoszczędziłem mase czasu, którą mógłbym stracić.

P.S to ma być na razie tylko szablon, gry (podstawowe funkcje) - na początek na zaliczenie, a potem do samodzielnego rozwijania.
Planuję przeznaczyć na niego około 30h-80h-(na zaliczenie) Co przy dobrym nakierowaniu powinno wystarczyć.

1

P.S to ma być na razie tylko szablon, gry (podstawowe funkcje) - na początek na zaliczenie, a potem do samodzielnego rozwijania.

Pamiętaj o tym, by od początku robić to tak jak należy; Bo jeśli zaczniesz źle, to stracisz tylko czas, a poprawianie zabierze pewnie więcej nerwów i sił, niż napisanie kodu od nowa;

Planuję przeznaczyć na niego około 30h-80h-(na zaliczenie) Co przy dobrym nakierowaniu powinno wystarczyć.

To i tak wszystko zależy od tego, w jakim czasie zdołasz się nauczyć podstaw grafiki, obsługi API itd.; Jeśli łykniesz to szybko to zmieścisz się w przedziale i napiszesz coś sensownego; Wszystko wyjdzie w praniu.

0

Oczywiście jak zwykle masz racje, pierwsze emocje opadły, i nie mam zamiaru odwalać na byle jak RPG byle tylko dostać "ocenę" bo sama ocena się nie liczy, Jak zrobię to tak jak należy będę miał satysfakcję z dobrze poświęconego czasu, który coś wniósł, czegoś nauczył. Ferie się zaczęły uścisk szkoły się zwolnił, więc czas by się zabrać na poważnie za to co lubię, a więc za programowanie - a więc rozwiązywanie problemów i kłopotów na drodze (to daje dużą satysfakcje). W czym oczywiście pomoże mi poznanie przedstawionych przez Ciebie elementów :). Innym stworzenie grywalnej gierki zajmowało około 2 lata innym dłużej, nie dziwię się, bo wiem , że jest masa nauki i roboty przy tym (sam pomysł na cały świat i wszelkiego rodzaju dialogi zżera czas), za 2 tygodnie mam nadzieję, że będę gotów pokazać efekty mojej pracy (szablonu) i waszej pomocy, a po dużo dłuższym czasie może nawet coś grywalnego , Oczywiście w tym celu zostały usunięte "rozpraszacze" :) które nie 1 projekt powaliły, lub przedłużały go kilkadziesiąt razy .
Dziękuje jeszcze raz za wsparcie
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1