Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Generowanie terenu

Ostatnio zmodyfikowano 2011-07-02 10:49
Autor Wiadomość
m4tx
Temat założony przez niniejszego użytkownika
Generowanie terenu
» 2011-07-02 08:04:15
Witam,
Piszę aktualnie grę - coś w rodzaju takiego Minecrafta w 2D. I mam następujący problem: potrzebuję algorytmu na generowanie terenu, jednak nie wiem, jak go zrobić.

Proszę o pomoc
Z góry dzięki
P-35145
akwes
» 2011-07-02 08:36:01
Hm... Wątpię aby były jakieś przetestowane porządnie algorytmy do tego celu, ale jest dużo (co najmniej dwa) klony Minecrafta, które są już na poziomie tego że można chodzić po wygenerowanej mapie, oba projekty które znam są OpenSource, z czego jeden pisany w Irrlicht, do którego jest nawet kurs na stronie » KursyKurs Irrlicht, C++ kurs
Minetest to przykładowy klon, OpenSource, pisany w Irrlicht. Dzięki temu że nie używa Javy, gra działa kilka razy płynniej niż aktualna wersja Minecrafta.
P-35149
SeaMonster131
» 2011-07-02 10:49:51
Jak pisałem też coś w stylu Minecrafta 2D, to sam napisałem sobie taki generator terenu. Nie był taki "fajny" jak oryginalny, ale też działał dobrze :)
Spróbuj sam napisać też coś takiego, wystarczy pomyśleć i będzie cacy :)

Jeżeli masz mapę kafelkową to robisz np tak:

C/C++
for( int y = 0; y < dlugosc_mapy; y++ )
{
    for( int x = 0; x < szerokosc_mapy; x++ )
    {
       
        if( mapa[ y ][ x ] == 1 ) //np jeżeli mapa[y][x] to kamień
        {
            int czy_kamien_dalej = rand() % 100;
            if( czy_kamien_dalej <= 25 )
                 map[ y ][ x + 1 ] = 1; //kamień będzie po prawej
           
            if( czy_kamien_dalej > 25 && czy_kamien_dalej <= 50 )
                 map[ y ][ x - 1 ] = 1; //kamień będzie po lewej
            //itd
        }
       
    }
}

Wydajny sposób to nie jest, ale ja coś na wzór tego użyłem i wyszło całkiem całkiem :)
P-35153
« 1 »
  Strona 1 z 1