Autor Wątek: Omega w Delph- czym zastąpić w C  (Przeczytany 1701 razy)

Offline spacja

  • Użytkownik

# Październik 20, 2007, 13:14:20
Cześć
Od czasu do czasu zaglądam na www.unit1.pl, dziś znalazłem ciekawe demo świata 2d. Nawet bardzo duza mapa 512 kafli na 384 kafli, zobaczcie tu http://www.unit1.pl/362,txt, do tekstu dołączony jest pełny kod. Mam pytanie do bardziej doświadczonych: Co polecacie aby taki świat zrobić nie w Pascalu ale w C? Albo jak to przetłumaczyć na C? Ja to jestem jeszcze za cienki, aby na coś samemu wpaść. Ogólnie grafika w tym demku jest taka sama ja tu http://www.warsztat.gd/projects.php?x=view&id=80 Może skalski16 i oksal to te same osoby:)

Offline Mr. Spam

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

Offline sobol

  • Użytkownik

# Październik 20, 2007, 13:49:06
Raczej ta grafika jest skądś wzięta - użyta tylko jako tymczasowa, lub do prezentacji z braku siły roboczej (grafików).
Tłumaczenie kodu nie ma sensu :) Jeśli coś już jest w Pascalu to niech tak zostanie. Jeśli chcesz się z tamtego kodu nauczyć i pisać własny to nie widzę  żadnych przeszkód jeśli znasz Pascala i C (skoro w nim chcesz pisać) - czytasz kod w Pascalu a piszesz swój w C. Czytanie kodu gry w celach naukowych ma na celu zrozumienie pewnych mechanizmów - jak rysować takie mapy np, jak animować postać etc. (czyli podejście bardziej abstrakcyjno - algorytmiczne) a zaimplementować to można w każdym języku programowania właściwie :P (dobra dobra wiem ;p nie bijcie) Więc nie próbuj przełożyć kodu słowo w słowo tylko raczej zrozumieć go i napisać własny - to tak jak z tłumaczeniem literatury pięknej - najpierw tłumacz czyta książkę, a potem niemalże pisze własną :)

<edit> ale topic mi nie podchodzi pod silniki, to tak btw
« Ostatnia zmiana: Październik 20, 2007, 13:50:38 wysłana przez sobol »

Offline spacja

  • Użytkownik

# Październik 20, 2007, 15:28:25
ta...masz rację. Lepiej jest pisać coś pod pomysł niż tłumaczyć. Ale mam takie pytanie w przytoczonym kodzie użyte są kanały Alpha rogów kafla- prostokąta. Czy ktoś ma jakiś pomysł na rogi kafla oprogramowane w C? No i na jakiś edytor do takich wielkich światów i map?

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Październik 20, 2007, 15:49:26
Ale mam takie pytanie w przytoczonym kodzie użyte są kanały Alpha rogów kafla- prostokąta. Czy ktoś ma jakiś pomysł na rogi kafla oprogramowane w C? No i na jakiś edytor do takich wielkich światów i map?

Ciężko zrozumieć, o co ci chodzi z tymi rogami kafla :P. Pewnie o zwykłą przezroczystość niektórych części rysowanej tekstury. Weź do ręki jakikolwiek silnik graficzny, a z jego dokumentacji niezawodnie wyczytasz, jak narysować teksturę z przezroczystością.

Co do edytora - tutaj już wszystko zależy od ciebie. Wielkość map nie gra dużej roli. Cała trudność polega na tym, by wymyślić odpowiednie struktury danych, w których będziesz przechowywał swoje lokacje. Edytor to tylko wypełniacz tych struktur :). Na początek wystarczy zwykła dwuwymiarowa tablica liczb - 0 to brak obiektu, 1 to drzewo, 2 to kamień itd. Potem w miarę jak będziesz wymyślał nowe rzeczy, sytuacja się nieco skomplikuje ;). Ale zaczynać należy od najprostszych pomysłów.

Offline spacja

  • Użytkownik

# Październik 21, 2007, 15:28:27
Dzięki, to miałem na myśli. A mam takie drugie pytanie: we wspomnianym artykule jest widok jakiegoś edytora map (prawdopodobnie autora); czy te budynki wstawiane są jako całość w siatkę mapy czy fragmentami tak jak pisze Złośliwiec?



Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Październik 21, 2007, 15:36:27
Dzięki, to miałem na myśli. A mam takie drugie pytanie: we wspomnianym artykule jest widok jakiegoś edytora map (prawdopodobnie autora); czy te budynki wstawiane są jako całość w siatkę mapy czy fragmentami tak jak pisze Złośliwiec?

Myślę, że dużo prościej wstawić je w całości :). Takie obiekty jak budynki przechowuje się zwykle na jakiejś liście (np. vector z C++), a tylko na mapie (dwuwymiarowa tablica, o której wspomniałem wcześniej) dzieli się je na fragmenty.