Istnieje więc projekt o nazwie BulletML, który jest językiem znaczników do tworzenia złożonych wzorców cząstek / pocisków. Prawie na pewno będziesz musiał przenieść kod na swój własny język, ale może on zrobić naprawdę niesamowite rzeczy.
Na przykład ten szef został zrobiony w (mocno zmodyfikowanym) rozszerzeniu BulletML dla Unity3D (autor tego wzorca przesłał ten film, a nieszczęście jest szalone, a także dobre 1 ). To najtrudniejsza odmiana tego wroga i pokazuje całkiem dobrze, co potrafi BulletML (i sprawdź innych bossów Misery, takich jak Wallmaster ).
Albo mogę pokazać ten przykład, który jest wzorcem, który napisałem podczas pracy nad rozszerzeniem dla The Last Federation , przy użyciu starszej wersji systemu, który jest mniej przyjazny dla modów i używa tylko pojedynczych zmiennych AZ:
Zielone pociski, które tworzą te pierścienie, powstają z pocisku macierzystego, który obraca się z dużą prędkością, ale same się nie poruszają. Zadają ogromne obrażenia, utrzymując gracza na większym dystansie, ograniczając go do broni o niższych obrażeniach i pozwalając mobilnym obrońcom na nękanie gracza (gracz wygrał, jeśli zniszczona została nieruchoma struktura na środku).
Oto część składni XML, która tworzy te bąbelki:
<bullet_pattern name="Barrier">
$WallShotAngle B=.3 A=90
$WallShotAngle B=.3 A=-90
$WallShotAngle B=.3 A=0
$WallShotAngle B=.375 A=180
</bullet_pattern>
<var name="WallShotAngle">
<bullet angle="[A]" speed="4000" interval_mult=".01" dumbfire="1" shot_type="GravityWavePurple">
<wait time="[B]" />
<change angle="0" speed="1000" time=".0001" />
<spawn>
<bullet_pattern>
<bullet angle="[A]" speed="0" shot_type="CurveBarGreen" damage_mult="8">
<wait time="12" />
<die />
</bullet>
</bullet_pattern>
</spawn>
<die />
</bullet>
</var>
Na obrazku widać niektóre fioletowe ujęcia „fali grawitacyjnej”, które niemal natychmiast przemieszczają się od źródła (które się obraca) do krawędzi bańki, po czym odradza się zielony strzał „zakrzywiony pasek”, który stoi tam przez 12 sekund przed znikanie. Niebieskie i żółte ujęcia, które pominąłem, ponieważ są znacznie bardziej skomplikowane.
Jeden z pozostałych wzorów ( pocisk artyleryjski ) w dodatku został napisany przez Misery'ego, chociaż dokonałem pewnych modyfikacji. Początkowo jest to penetrujący strzał o niskim poziomie obrażeń, który leci na duże odległości, a następnie eksploduje w ogromny pokaz sztucznych ogni, zadając mnóstwo obrażeń. Jego maksymalny zasięg był znacznie wyższy, niż gracz mógł osiągnąć, co zasadniczo zmusiło gracza do walki na krótkim dystansie, co było korzystne dla innych typów jednostek NPC ze względu na efekt strzelby (więcej pocisków skupionych w małej strefie).
BulletML jest ogólnie łatwy w obsłudze i może robić niesamowite rzeczy. Pociski mogą zmieniać kierunek, zmieniać prędkość, odradzać inne wzorce, umrzeć wcześnie, powtarzać kolekcję poleceń w pętli, używać opóźnień, zmieniać obraz duszka pocisku, podążać za ich rodzicem (lub nie) ... I wszystko, czego nie obsługuje napisz do tego.
Zdecydowanie polecam, jeśli grasz w poważną strzelankę. Nadal będziesz musiał opracować matematykę współrzędnych, aby uzyskać pożądane kształty, o czym mówi Charanor w swojej odpowiedzi, ale silnik pocisku, taki jak BulletML, zapewni ci o wiele większą elastyczność, że poświęcisz więcej czasu na projektowanie nowych wzorów, niż wymyślanie jak je kodować.
- Aby wyjaśnić, jak dobra jest nędza, te filmy są przeciwko bossom podłogowym z wyposażeniem początkowym : bez modułów, bez materiałów eksploatacyjnych i podstawowej strzelanki do grochu. I xe otrzymuje tylko jedno trafienie, pomimo wydłużonej natury walki. Ok, 9 trafień przeciwko Centrifuge (który nie pojawi się do trzeciego piętra po graczu na pewno będzie miał ulepszenia powodujące co najmniej podwójne obrażenia w porównaniu).