Здравейте!
Идеята ми за проект е реализиране на игра, която в момента измислям и разширявам. Играта се казва Подводници и представлява усложнена версия на Battleship.
Gameplay
Играчите ще бъдат двама - човек и компютър. Действията ще се развиват походово. Всеки ще разполага с една подводница, която може да контролира. Няма да може да се вижда противниковата подводница. Крайната цел на играта е същата като на Battleship - унищожаване на противника. Различното от Battleship е, че тази подводница ще може да се движи, като на всеки ход човек ще може да маневрира и стреля. Друга разлика ще е стрелбата - вместо да пада бомба на определени координати, ще се изстрелва торпедо накъдето е насочена подводницата и ще върви в права линия докато не улучи нещо или не премине картата.
Artificial Intelligence
След като говорих с Мишо и той даде своето съгласие, ще разделя проекта си на две главни части - написване на самата игра и създаване на агент, срещу когото играе човекът, понеже ще представям проекта и по Изкуствен Интелект.
Засега идеята на играта ми е да няма пълна информация и агентът да знае само накъде е стрелял и къде е направил попадения. (+ допълнителна информация изредена по-долу). На базата на тази информация ще се прилагат различни алгоритми за вземане на решение от страна на компютъра (например накъде да стреля и да се движи в началото на играта когато няма информация, как да избяга ако бъде ударен, накъде да стреля след като е направил попадение). Засега съм се ориентирал към алгоритми A*, minmax with alpha-beta pruning, min-conflicts със свои евристични функции за различните действия, но това подлежи на промени в процеса на работа.
Допълнения
След като представих играта на професора по Изкуствен Интелект той искаше да се сложи още логика с цел да се усложни агента.
- сонар в малка околоност около подводницата, позволяващ видимост
- ограничен брой амуниции
- различна сила на торпедата / по-голям взрив колко по-близо е подводницата
- други допълнения от моя страна
- ваши предложения :)
Визуализация
Доколкото гледах gui библиотеките не са много силни в Го, а и гледам да усложня проекта в друга насока (изкуствен интелект). Като за начало мисля да направя потребителския интерфейс конзолен. Мишо ми каза една библиотека, която ще трябва да намеря понеже ѝ забравих името :D. Ако обаче кажете, че искате графичен интерфейс, ще гледам да направя такъв. :)