Skocz do zawartości

Silnik inventory a'la Diablo II


Rekomendowane odpowiedzi

Witam, chciałbym zaprezentować silnik inventory znany z Diablo II. Nie będę się rozpisywać, przedstawię kilka najważniejszych technicznych aspektów:

- przedmioty w przykładzie są wszystkie jednakowe, lecz silnik pozwala na przedmioty różniące się właściwościami mimo przynależności do tej samej kategorii (dzięki dwuwymiarowym tablicom),

- lista parametrów jest nieograniczona i można ją definiować własnoręcznie,

- istnieje łatwa wymiana danych między statystykami przedmiotów a cechami postaci (w przykładzie nie da się tego dostrzec),

- każdy przedmiot po najechaniu nań myszką wyświetla swój opis, który jest generowany i dopasowywany (wizualnie) na podstawie danych zawartych w tym przedmiocie.

- grafiki pochodzą oczywiście z Diablo II :).

 

Silnik można uznać za gotowy. Nie chciało mi się już więcej szczegółów dodawać, więc zostawiłem w takiej formie, jakiej jest teraz. Opatrzony komentarzami kod dodam (gm6) do pliku później.

 

Download

 

Screen:

inv.png

Odnośnik do komentarza
Udostępnij na innych stronach

Plik źródłowy nie jest jednolity jeśli chodzi o strukturę kodu (no niestety robiłem to w 2 dni i nie miałem dłuższego czasu na zaplanowanie każdej decyzji - założyłem się po prostu, że takie coś wykonam ;)). Wydajność nie wiem, na ile na tym ucierpiała, ale czytelność kodu - znacznie. Dlatego też dopiero jak wszystkie aspekty dokładnie opiszę, do pliku dołączę plik gm6 i dodam adnotację o zmianie archiwum.

Odnośnik do komentarza
Udostępnij na innych stronach

Ten silnik pokazuje, jak naprawdę fajnie i szybko samemu można zrobić coś a'la komercyjna gra jeżeli tylko się potrafi i chce. Gratuluje, dla mnie bomba, 5/5. Przyda się do TF2D jeżeli kiedyś najdzie mnie chęć kontynuowania...

Odnośnik do komentarza
Udostępnij na innych stronach

Hm wywala mi błąd przy otwieraniu nie wiedzieć czemu. Pewnie nie przekonwertowałeś na Vistę. W każdym razie też robiłem taki system inventory i dam Ci wyzwanie, które wtedy postawił mi Dawidds. Zrób możliwość obracania itemków, czyli gdy mam miejsce wolne 2x1 a item 1x2, żebym mógł go tam zmieścić.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Ja też dam 5/5 bo to dowód, że w GM da się naprawdę wiele i wystarczy tylko trochę wytężyć głowę i pobawić się w napisanie kodu. Takie inventory nie musi w sumie być nawet bardzo optymalne jeśli chodzi o single playera - mając te kilkadziesiąt slotów i tak nie zmieści się tam za dużo itemów, więc dużo obliczeń nie ma.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem, czy dałbym radę przemodelować silnik :). Po prostu chcę dodać jeszcze możliwość wymiany przedmiotu bez konieczności zdejmowania go (od razu automatycznie się wymienia) oraz kilka pobocznych rzeczy. Teraz akurat nie mam czasu zbytnio, żeby cokolwiek zrobić, więc na weekend się tym zajmę najprawdopodobniej.

 

Ale co tam, dam kod jak jest teraz. Plik zaktualizowany.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...