Ja i zespół pracujemy nad grą budowniczą fabryk, która daje graczowi losową fabrykę na początku gry. Aby upewnić się, że istnieje poczucie „uczciwości”, idealnie losowo wygenerowana fabryka miałaby obszar w obrębie kilku jednostek (wartość zastępcza) 30.
Stosunkowo prosty jest napisanie prostego generatora losowych prostokątów, aby spełnić te specyfikacje, ale naszym celem jest, aby fabryka była bardziej złożona, być może złożona z 2, 3 lub nawet 4 przecinających się prostokątów, tworząc bardziej złożone kształty (pomyśl o L, Budynki w kształcie litery U i O).
Próbowałem wygenerować losowy prostokąt, a następnie użyć podstawowej algebry do wypełnienia drugiego prostokąta, ale jak dotąd nie miałem szczęścia wdrożyć więcej niż 2 prostokąty, a nawet wtedy nie jestem zadowolony z wyników dla projektu tylko 2 prostokątów .
Kilka bardziej istotnych informacji: 2D z góry na dół Niektóre mechaniki są w stylu factorio, więc pokoje powinny mieć rozsądną długość i szerokość, aby umożliwić miejsce na maszyny Obecnie w Javie i Lua (w razie potrzeby można użyć wbudowanych bibliotek)
Z góry dziękuję!
EDYCJA: Kiedy mówię „dobre” lub „złe” wyjścia, złym wyjściem byłoby każde wyjście, na którym odtwarzacz nie ma miejsca. Fabryczne granice kształtu, w których gracz może umieszczać maszyny fabryczne, takie jak przenośniki taśmowe. Idealnie, fabryka nie powinna mieć obszarów o szerokości tylko 1-2 bloków, kształt nie powinien być jednym lub dwoma dużymi prostokątami z linią 1-2 bloków „zwisającymi” na bok. Dobrym wyjściem byłoby, gdy cała powierzchnia podłogi jest „wykonalna”, więc wszystkie obszary mają szerokość co najmniej 3-4 bloków. Dobry wynik nie zawsze musi być złożony (1 lub 2 prostokąty są w porządku), ale powinien mieć spore szanse, jeśli składa się z więcej niż 1-2 prostokątów.