По-перше, є кілька підказок для покоління історії про фортецю карликів. Хтось запитував на форумах Bay12 деякий час назад, і стенограма поділилася, і ви можете знайти, з чого починається обговорення, шукаючи: "Наша сьогодні тема - це покоління світу та покоління історії".
Я не знаю точно, як це робить Dwarf Fortress, але я поясню, як я планую реалізувати в своїй грі дуже основний перший проект. Я збираюся використовувати прості стільникові автомати . Якщо ви подивитеся на ці прототипи Спори , як культура клітин та біома.
Це приклади стільникових автоматизацій і що вони можуть виробляти. По суті, я буду створювати правила для різних рас. Деякі приклади правил:
- Їх ворожість до інших рас
- Їх кліматичні уподобання
- Їх потреби в ресурсах
- Їх рівень народжуваності та тривалість життя
- Їх бажання (технологічні дослідження, комерція, мирне існування, світове панування)
- Їх можливості (побудова структури, збір ресурсів, ведення війни тощо)
- І так далі...
Отже, найважливіший внесок у все це для роботи - це світ, який має змогу розбити ці раси. Місцевість визначатиме їх уподобання та розширення. Отже, як тільки ви створили світ, виберіть випадкові місця у світі, де ці раси мали б жити належним чином, і пустіть їх. Зараз цікаві речі починають відбуватися. Тепер, коли у вас є земля та перегони з бажаннями та можливостями, ви можете почати будувати історію. Ці перегони збирають ресурси, потім будуються структури:
- Міста в районах з високим рівнем ресурсів, з високою привабливістю.
- Дороги з'єднують більші міста.
- Мости через річки.
- Тунелі через гори.
- Фортеці біля передових ліній розширення у відповідь на бої.
Будь-яка структура може бути набіжена / завойована іншими расами. Чим довше така структура (як місто чи фортеця) існує в історії, тим вона захисніша, тим важче її перейняти. І тим більш бажаним є перегони, які хочуть контролювати. Бійки ведуться там, де зустрічаються перегони (принаймні одна ворожа). Битви названі на честь визначних пам'яток або споруд, що знаходяться поблизу, або якщо битва значна, або орієнтири не названі, орієнтири називають іменем битви.
Дороги, мости та тунелі розширюються за рахунок торгівлі та транспортування ресурсів. Кожен має максимальну пропускну здатність, яка може збільшуватися за рахунок витрат ресурсів. Побудова кам’яної фортеці посеред лугів? Ці дороги отримають велике використання, транспортуючи потрібний камінь. Вони стануть більшими і отримають ім’я.
Природні катастрофи трапляються, що зачіпають населення та хід історії. Землетруси можуть зменшити місто до руїн або зруйнувати тунель. Повінь може вимити дорогу чи міст.
Це не так поглиблено, як фортеця-карлик, але це початок. Тепер, як ви можете собі уявити, (і як згадував Джоннатан Гоббс), чим більше ці раси розширюються, тим більше моделюють клітини. Мало того, що моделюється більше клітин, але моделювання є складнішим, оскільки зараз існують структури для побудови / підтримки, ведення битв за ведення заробітків, комерція з ... комерцією тощо. Це стає важким для будь-якої мови. Javascript може сповільнитися раніше. Однак завжди можна пожертвувати складністю для покращення швидкості.
Це все симуляція (хоч і складна), ви просто записуєте важливі події по дорозі і називаєте це історією.
Я також щойно знайшов допис на форумі Bay12 для того, щоб люди задумали, як зробити швидше світове покоління фортеці Карликів . Я не читав це, але він може дати певні підказки, якщо ви коли-небудь стикаєтеся з проблемами, оскільки ваша реалізація занадто повільна.