Autor Wątek: Budowa Silnika Gry  (Przeczytany 18659 razy)

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 01, 2012, 23:25:53
@Krzysiek: Drzewa z sześcianów, 90% developmentu na edytor... Coś mi się widzi, że twój case intr 4k jest trochę zbyt specyficzny ;)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 02, 2012, 00:10:17
@Xion: Jeżeli mi się opłacało 90% czasu poświęcić na toole żeby w pozostałe 10% zrobić w tym parę scen na intro, to chyba tym bardziej opłaca się poświęcić czas na toole w przypadku gier, gdzie stosunek toole:użycie nie wynosi 9:1 ale jest bliżej 1:9 w przypadku pojedynczej produkcji. Nie rozpisując się już o reuse silników i o gigantach pokroju Unity i UE gdzie ten stosunek podchodzi pewnie już pod 1:1000 000.

Ale żeby nie było jednostronnie, to mogę podać też case przeciwny - swego czasu na warsztatowe compo robiłem czarno białego FPSa, gdzie cały level składany był w Blenderze włącznie z umieszczaniem śmiesznie ponazywanych boxów jako spawn pointy i triggery, a toolchain składał się z dedykowanego eksportera w Pythonie i raytracera na CUDA (bo niestety, unwrap w Pythonie i wypalanie AO na CPU to było już jednak zbyt dużo jak na czas iteracji contentu).

Offline XPietrucha

  • Użytkownik

# Grudzień 02, 2012, 00:42:57
@@@
Panowie, tak patrząc na wasze posty, to wybiegliście daleko poza główny wątek tego tematu :D.
Przebijacie się argumentami na temat używania tooli w swoim projekcie.

A ja miałem do was jedynie pytanie na temat Silnika gry.
Ale teraz mam masę nowych pytań jak już zacząłem kodzić silnik.
Piszę go już 2 dzień (dosyć krótko), ale dopieszczam go jak się da.
Na razie wydaje mi się, że wszystko działa.

Ale męczy mnie jedno. Czy jeżeli będę już miał ten swój niezależny silnik, to modele
ładować do menadżera (Napisałem sobie prostego menadżera zasobów) w podstawowym
formacie czy napisać swój własny / ewentualnie exporter ?
NIe wydaje mi się to potrzebne, ale tak patrząc, zapobiega to ingerencji użytkownika końcowego w
wygląd gry.
Mógłbym Opakować sobie wszystkie assety w kilka zabezpieczonych i skompresowanych plików (jakiś VFS), ale to będzie dodatkowe 2 tygodnie na obczajenie jak to wszystko działa i napisanie tego jak najbardziej ładnie i optymalnie.

Co o tym sądzicie ?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 02, 2012, 00:58:11
Cytuj
NIe wydaje mi się to potrzebne, ale tak patrząc, zapobiega to ingerencji użytkownika końcowego w
wygląd gry.
A jaki jest sens zapobieganiu takiej ingerencji? Przecież to potencjalny dodatkowy fun w modowanie.

Offline Avaj

  • Użytkownik

# Grudzień 02, 2012, 10:57:31
wsadź je w zipa i zmień rozszerzenie na .dat albo .pak

Offline XPietrucha

  • Użytkownik

# Grudzień 02, 2012, 12:09:33
Ingerencja, no owszem modowanie, ale jest jeszcze możliwość kradzieży rożnych rzeczy (modele, dźwięki, tekstury itp.). Dlatego chciałbym zrobić jakieś opakowanie / własny format z tylko mi znaną strukturą.

A wsadzenie assetów w .zip i zmiana formatu da cokolwiek (w zabezpieczniu), jeżeli nawet zwykły człowiek próbuje otworzyć dany plik (tutaj .zip) w jakimś programie (Nawet WinRAR), aby znaleźć potrzebne rzeczy. Poza tym chciałbym mieć Wszelkie zadania (Questy) umieszczone w skryptach no i użytkownik będzie mógł sobie konfigurować poszczególne zadania (już nie taki zwykły, ale obeznany) w łatwy sposób gdyby wszystko było wystawione na pokaz.

Nawet jeśli już by miał edytować, to chciałbym, żeby miał pod górkę ... wolę nie zostawiać rzeczy na pokaz, niech końcowy użytkownik widzi tylko to co ma widzieć.
Chciałbym zrobić "zamknięte drzwi"(szyfrowane, kompresowane lub spakowane pliki) dla "złodzieja"(użytkownik, który próbuje coś zmajstrować xD)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 02, 2012, 12:23:04
Cytuj
ale jest jeszcze możliwość kradzieży rożnych rzeczy (modele, dźwięki, tekstury itp.).
Zawsze jest i na to nie poradzisz.

Lepiej zrób najpierw grę, bo póki co to nie ma czego kraść. :)

Offline 11

  • Użytkownik

# Grudzień 02, 2012, 12:25:35
Gwoli ścisłości, nie da się ukraść modeli, dźwięków, tekstur i innych assetów.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 02, 2012, 12:33:34
Gwoli ścisłości, nie da się ukraść modeli, dźwięków, tekstur i innych assetów.
Też racja. Przynajmniej do momentu gdy ktoś się fizycznie do Ciebie nie włamie i nie zabierze Ci dysku. W pozostałych przypadkach będzie to nielegalne kopiowanie.

Offline 11

  • Użytkownik

# Grudzień 02, 2012, 12:34:28
Tak, i to tylko pod warunkiem, że uznajesz obecne "prawo" za obowiązujące. ;)

Offline XPietrucha

  • Użytkownik

# Grudzień 02, 2012, 12:57:11
No to leciutka pomyłka ... ale o to mi chodziło "nielegalne kopiowanie", bo nie uznaję zabierania czegoś bez wiedzy tego kto to zrobił ... dla mnie to jest kradzież (chociaż nie taka fizyczna).

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 02, 2012, 13:20:51
No to leciutka pomyłka ... ale o to mi chodziło "nielegalne kopiowanie", bo nie uznaję zabierania czegoś bez wiedzy tego kto to zrobił ... dla mnie to jest kradzież (chociaż nie taka fizyczna).
Ale przecież w tym przypadku niczego nikt nie zabiera. Nadal masz to u siebie (też).

Offline Avaj

  • Użytkownik

# Grudzień 02, 2012, 13:28:09
Ingerencja, no owszem modowanie, ale jest jeszcze możliwość kradzieży rożnych rzeczy (modele, dźwięki, tekstury itp.). Dlatego chciałbym zrobić jakieś opakowanie / własny format z tylko mi znaną strukturą.

A wsadzenie assetów w .zip i zmiana formatu da cokolwiek (w zabezpieczniu), jeżeli nawet zwykły człowiek próbuje otworzyć dany plik (tutaj .zip) w jakimś programie (Nawet WinRAR), aby znaleźć potrzebne rzeczy. Poza tym chciałbym mieć Wszelkie zadania (Questy) umieszczone w skryptach no i użytkownik będzie mógł sobie konfigurować poszczególne zadania (już nie taki zwykły, ale obeznany) w łatwy sposób gdyby wszystko było wystawione na pokaz.

Nawet jeśli już by miał edytować, to chciałbym, żeby miał pod górkę ... wolę nie zostawiać rzeczy na pokaz, niech końcowy użytkownik widzi tylko to co ma widzieć.
Chciałbym zrobić "zamknięte drzwi"(szyfrowane, kompresowane lub spakowane pliki) dla "złodzieja"(użytkownik, który próbuje coś zmajstrować xD)
Generalnie możesz sobie zabezpieczać ile chcesz a ktoś komu zależy i tak ci zakosi. Modele i tekstury można przechwycić jakimś debuggerem 'graficznym' albo podstawiając lewą DLLkę OpenGLa/Direct3D. Dźwięki można przechwycić głupim rejestratorem dźwięku w windowsie przekierowując wyjście.

Zipy ze zmienionym rozszerzeniem stosuje np. Quake3 i Doom3. Gry Blizzarda też mają archiwa bez zabezpieczeń (chociaż format własny). Ogólnie to nie licząc kilku niechlubnych wyjątków, problem kradzieży assetów praktycznie nie istnieje.

Archiwa stosuje się raczej, żeby trzymać wszystko w jednym miejscu i optymalizować wczytywanie zasobów (RAM jest duuuuuuużo szybszy od dysku).

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 02, 2012, 14:55:27
Cytuj
(...) i optymalizować wczytywanie zasobów (RAM jest duuuuuuużo szybszy od dysku).
Ale gdy już coś wczytałeś do RAM-u, to chyba nie ma znaczenia, czy wcześniej było to jedno wielkie archiwum czy kilkaset plików, prawda? :) Chodzi raczej o to, że narzut systemu plików na wczytywanie tych kilkuset plików jest spory w porównaniu do otwarcia jednego uchwytu/deskryptora/file pointera/etc. do pojedynczego pliku i zassania go w całości.

Offline Avaj

  • Użytkownik

# Grudzień 02, 2012, 15:59:11
Ale gdy już coś wczytałeś do RAM-u, to chyba nie ma znaczenia, czy wcześniej było to jedno wielkie archiwum czy kilkaset plików, prawda? :) Chodzi raczej o to, że narzut systemu plików na wczytywanie tych kilkuset plików jest spory w porównaniu do otwarcia jednego uchwytu/deskryptora/file pointera/etc. do pojedynczego pliku i zassania go w całości.
chodzi mi o to, że szybciej wczytać całe archiwum do pamięci niż wczytywać małe parokilobajtowe obrazeczki