Всем доброго дня!
В одной из своих прошлых публикаций, где-то в комментах я высказал примерно следующее: "..на внешних компонентах можно и шутер в 1С написать!".
Так вот, я солгал! Шутер можно написать и на "голом" 1C, не используя никаких внешних компонент!
Единственное что нам пригодится "внешнего" - это объект HTML. В нем мы организуем дополнительный таймер и потоки звуковых спецэффектов с помощью короткого кода на JS. Графическим ядром сегодня у нас станет "табличный документ". Именно сюда по событиям от таймера мы будем выводить каждый кадр анимации.
В итоге, помимо собственно игрухи, у меня родилось некое подобие "игрового движка" для 1С. Конечно, на лавры Unreal Engine или Unity я не претендую, однако и здесь Вы сможете без труда добавить новые уровни, прокачать анимацию или, добавив новые графические ресурсы, полностью визуально изменить игру без всякого программирования. Ну а если Вы - программист... то 1С = Блупринт (для тех кто в теме) (~)(0)
Информация для программистов:
Кода здесь всего около 1400 строк. При этом сам геймплей - 200 строк, AI ботов - 50 строк! Так что, разобраться в этом не составит никакого труда, тем более, весь код содержит комментарии, а общие процедуры управления и вывода вынесены в отдельные текстовые блоки. Модуль обработки принципиально оставил пустым -код на ладони! Меняйте уровни, колдуйте над интеллектом ботов, придумывайте новые "фишки".
Из "вкусного" здесь :
- Организация стандартного управления игровым процессом с помощью клавиш UDLR.
- Организация управления второго геймера с помощью мыши.
- Многопоточный вывод звуковых спецэффектов
- HTML таймер, позволяющий повысить скорость вывода графики до приемлемых 20FPS (напрямую зависит от скорости процессора, т.к., разумеется ни о каком аппаратном ускорении речи идти не может). Стандартная обработка ожидания выдает всего 5-6 FPS, да и те не всегда. (не правда ли, дико звучит "FPS в 1С")))
- Таймлайн для спрайтовой анимации и озвучки.
Информация для всех пользователей:
Данная обработка представляет из себя реинкарнацию популярной в 90-е годы XX-го века игры на игровых консолях Dendy, Nintendo и пр.: "BattleCity"(c)Namcot (Танчики ). Воспроизведен оригинальный геймплей, уровни и аудиовизуальный контент. Задача игрока защитить штаб, подбить как можно больше танков противника и заработать как можно больше очков. При уничтожении 20-ти танков игра переходит на новый уровень. В каждом уровне набор танков может меняться. При прохождении игроком 36-го уровня, игра переходит на первый уровень, при этом добавляется скорость.
36 уровень - экспериментальный, он отличается от "классических" уровней увеличенной картой, увеличенным набором противников для демонстрации работы игрового движка.
Есть кнопка Options позволяющая сразу переключиться на желаемый уровень и выставить себе побольше скорости и пуль. По умолчанию заблокирована.
Подробное описание - по кнопке F1 (помощь).
Обработка поставляется в неуправляемом режиме.
11.10.16 Версия 1.0.27 (файл 1C_Танчики_82_Мультиплеер):
1. Полностью переработан граф. движок . Теперь на тестовых стендах - 65-85 FPS. Хорошая скорость на платформе 8.2 на стенде i7-3.0GHz. Отличные результаты показал стенд i3-3.7GHz на платформе 8.3.
2. Добавлен мультиплеер!
3. Добавлен режим Kill'emAll (можно "мочить" друг друга)
4. Добавлен тайловый генератор (моделирование карт)
5. Добавлена возможность масштабировать карту и играть от первого лица
6. 3in1 - в обработке можно выбрать 3 разных по ресурсоемкости игры. Самая требовательная "World of Tanks" c включенной опцией Tile Engine.
Рекомендации:
- Для максимальной производительности уменьшайте окно с обработкой - чем меньше ячеек табличного документа выводится на экран - тем больше FPS!
-В режиме мультиплеера настоятельно рекомендую играть в стандартном режиме (Classic) в масштабе 100.
- Для каталога мультиплеера выбирайте самый быстрый винт.
- Ник не может быть больше 10 символов. Для правильной работы мультиплеера ники у всех игроков должны быть разными.
- При игре в режиме мультиплеера один игрок всегда должен начинать игру в режиме 3 (Create multiplayer), а остальные игроки - в режиме 4 (Connect to network)
- Проверьте зрение. Попробуйте поиграть в первую игру на масштабе 50. Это забавно)))
Приятного времяпрепровождения, и помните: "Работа прежде всего!"
Слава 1С!