Battle City на 1С

04.05.17

Задачи пользователя - Игры

Данная обработка представляет из себя реинкарнацию популярной в 90-е годы XX-го века игры на игровых консолях Dendy, Nintendo и пр.: "BattleCity"(c)Namcot (Танчики ). Воспроизведен оригинальный геймплей, уровни и аудиовизуальный контент. Никаких внешних компонент не использовано. Написано на "голом" 1С82 в неуправляемых формах. Добавлен мультиплеер.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
BattleCity1C_82
.epf 725,12Kb ver:1.015
75 Скачать бесплатно
BattleCity1C_83
.epf 723,08Kb ver:1.0
326 Скачать бесплатно
Game City 1C_82 Multiplayer
.epf 1,85Mb ver:1.0.27
82 Скачать бесплатно

Всем доброго дня!

В одной из своих прошлых публикаций, где-то в комментах я высказал примерно следующее: "..на внешних компонентах можно и шутер в 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С!

Вступайте в нашу телеграмм-группу Инфостарт

Танчики в 1С BattleCity 1C таймеры в 1С Первый шутер в 1С

См. также

Игры 1С 8.3 Бесплатно (free)

Да, это Wolfenstein на 1С, без сторонних сервисов... Только 1С, только хардкор.

24.04.2026    2567    53    darkghostterran    30    

36

Игры 1С 8.3 Россия Бесплатно (free)

Приветствую! У меня образовалось довольно много свободного времени, и я решил посвятить его творчеству: разработке казуальной игры по шагам, демонстрируя промежуточные результаты сообществу и развивая игру по полученной обратной связи.

07.04.2026    1171    40    chuprina_as    9    

13

Игры 1С 8.3 Россия Бесплатно (free)

Мастерам, проводящим настолки по Dangeons&Dragons, в помощь.

16.03.2026    1875    45    romba    0    

10

Игры 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Аналог тетриса на жёлтой платформе.

12.03.2026    1354    75    SerVer1C    5    

20

Игры 1С 8.3 Россия Бесплатно (free)

Классическая игра Три в ряд. При образовании комбинации из 3 и более фишек они исчезают, новые фишки падают сверху, а игрок получает очки. За длинные комбинации (4-5 фишек) начисляются бонусные очки.

05.03.2026    1352    125    user2163916    4    

11

Игры 1С:Предприятие 8 Россия Бесплатно (free)

Сокобан (Sokoban) — это классическая игра-головоломка, где игроку необходимо расставить ящики по целям, перемещая их по лабиринту.

20.02.2026    869    65    user2163916    3    

12

Игры 1С 8.3 Бесплатно (free)

Это расширение, практически к любой конфигурации 1С, идеально подойдёт не для того, чтобы парализовать работу организации, а для того, чтобы сформировать коллектив, объединённый общими целями, ценностями и интересами. И всё это достигается простым регулярно проводимым мероприятием по сплочению команды – шашечным турниром! В этом, не побоюсь этого слова, приложении, можно провести шашечную битву как с коллегой, так и самому с собой, если у вас раздвоение личности. А также к вашим услугам почти искусственный интеллект, то есть бот, который честно и по правилам играет с вами в поддавки, когда по правилам вы должны играть в обычные шашки.

28.12.2025    1790    124    Knyaz3d    6    

11

Игры 1С:Предприятие 8 Россия Бесплатно (free)

Преврати свой 1С с обычными формами в мощную игровую консоль! И пусть баланс подождет!

13.10.2025    8665    166    slava_1c    14    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. GROOVY 2515 05.08.16 10:11 Сейчас в теме
Круто!
wolder; serverstar; SerVer1C; Dmitri93; AleksKol; корум; AlexGroovy; +7 Ответить
2. Lancelot-2M 116 05.08.16 10:49 Сейчас в теме
3. by_1Cnik 256 05.08.16 11:44 Сейчас в теме
Всегда удивляли такие программисты (в хорошем смысле этого слова). Которые на голом энтузиазме пишут подобные штуковины. Сколько ушло времени на эту разработку!!!))) Можно было написать пару заказных отчётов и заработать N-сумму денег! Нееет... Он пишет игруху из 90-х! Достойная вещица! Респект Вам и уважуха!
_Konstor_; sunduk85; Alex_8; 1c_uZer; AleksKol; uncle_Vasya; +6 Ответить
9. slava_1c 602 05.08.16 14:03 Сейчас в теме
(3) 1v7, Спасибо, рад что понравилось)))
Да нет, не волнуйтесь времени после того, как я наткнулся на ресурс со спрайтами этой игры прошло чуть больше 2х недель)) Причем основу я написал дня за три - там кода-то всего ничего, потом неделю искал средство увеличить скорость ну и на причесывание (затупливание АИ ботов и проверка столкновений) еще неделя ушла. Не в ущерб отчетам, короче)))
_Konstor_; wolder; serverstar; +3 Ответить
37. leasing 5 17.08.16 00:25 Сейчас в теме
(9) спасибо вам огромное! Вы - волшебник!
Сейчас объясню. Люди "старой формации", ну те самые, которые начинали свой путь в 1С на 1С 6.0 и на 1С 7.7, со времен появления 8 -ки (и типовых решений для нее), стали время от времени впадать в задумчивость относительно бурного роста в ней числа объектов, свойств, методов, (и, что самое печальное, астрономического роста числа строк, цикломатической сложности и прочих метрических показателей, включая число ошибок на 1000 строк кода).
Парадоксальность ситуации состоит в том, что бухгалтерия соседней конторы осталась работать на 7 -ке. и прекрасно себя чувствует, выдавая во вне точно такие же отчеты, за меньшие деньги, за меньшее время, за меньшие трудозатраты, при меньших расходах на компьютерные ресурсы.
Спрашивается, кто и чего ради трудился "во глубине 1С руд"?
На что ушли человеко-месяцы, человеко- годы, человеко-десятилетие?
Как там у классика? "1С, куда ж несешься ты? дай ответ. Не дает ответа. Чудным звоном заливается колокольчик; гремит и становится ветром разорванный в куски воздух; летит мимо все, что ни есть на земли, и, косясь, постораниваются и дают ей дорогу другие прикладные системы бухгалтреско- экономического направления."

И вот явились Вы и совершили чудо. "Проявили пленочку". Теперь мы видим четкое и ясное изображение вместо сплошной серой заливки.
Вот же оно!
Во-первых, нам стало ясно кто - видимо, на рубеже 2000-х руководством 1С было решено подразделение разработчиков экономического софта "укрепить" специалистами из подразделения софта для "игр и развлечений". Которые оттеснив на задний план старую гвардию, привнесли и в платформу, и в типовые решения много занимательного из своей области.
Во-вторых, нам стало понятно чего ради - а для того, оказывается, чтобы, не выходя из рамок 1С среды программирования, можно было написать игру.

Поздравляем дружный коллектив с победой в этой гонке с ...... А с кем они соревновались-то?
_Konstor_; d_bat; dvsidelnikov; ErshKUS; japopov; Lancelot-2M; корум; +7 Ответить
4. TODD22 20 05.08.16 11:49 Сейчас в теме
Так глядишь кто нибудь и Quake с half life сделает на 1с :)
5. nagaitseff 183 05.08.16 11:54 Сейчас в теме
6. Famza 85 05.08.16 12:24 Сейчас в теме
А когда Hilf-Life будет на 1С?
10. slava_1c 602 05.08.16 14:13 Сейчас в теме
(6) Famza, )) у 1С проблемы с шейдерами. Боюсь здесь уже без ВК не обойтись.

А с ВК еще под 9 директом уже давно есть - только по сути то это не 1С а просто С...
21. necropunk 11 10.08.16 09:43 Сейчас в теме
(10) "у 1С проблемы с шейдерами" - на этой фразе заржал в голос.
jeyrico; dj_serega; madonov; sa1m0nn; catsam; shard; pbahushevich; +7 Ответить
7. PrinzOfMunchen 84 05.08.16 12:49 Сейчас в теме
Не работают:
{Форма.Форма.Форма(1070)}: Поле объекта не обнаружено (Картинка)
ЭлементИгры.Картинка = Новый Картинка();
8. slava_1c 602 05.08.16 13:37 Сейчас в теме
(7) PrinzOfMunchen, Оч. странно - перед тем как выложить проверял на разных платформах и компах, в том числе на удаленке по rdp. Работает в режиме обычного приложения везде, не зависимо от конфигурации. Что за платформа? Если можно - скриншот.
11. klinval 345 05.08.16 14:18 Сейчас в теме
Круто:) Первая игра, которую плюсанул и скачал!

Нашёл отличие от оригинала: твой снаряд не уничтожает снаряд противника. Т.е. они пролетают мимо друг друга и умирают оба!
корум; SvoyakMartin; +2 Ответить
12. nodalt 22 05.08.16 15:43 Сейчас в теме
Да, реально круто!
1С'ники теперь Вам должны - за популяризацию платформы )))
13. slava_1c 602 05.08.16 19:35 Сейчас в теме
Спасибо, друзья, за столь лестные отзывы! Зашел и прям настоящее пятничное настроение))))
На счет уничтожения друг друга - это чтоб побольше мяса было (ну экшн все же))
Чтобы было как в классике, надо строки с 1300 заменить с
			
	                       Если Найти(НайдТанк[0].Type,"П") тогда
					//Просто пуля
				ИначеЕсли Найти(НайдТанк[0].Type,"Н")  тогда
					//Это ништяк
				ИначеЕсли НайдТанк[0] = Actor тогда
					//это тот же объект
				ИначеЕсли НайдТанк[0].Whose = Actor.НомерСтроки-3 тогда
					//это пуля этого танка
				ИначеЕсли НайдТанк[0].НомерСтроки-3 = Actor.Whose тогда
					//это пуля этого танка
				Иначе
					возврат  Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
				КонецЕсли;	
Показать

заменить на

		
		Если НайдТанк[0] = Actor тогда
					//это тот же объект
				ИначеЕсли НайдТанк[0].Whose = Actor.НомерСтроки-3 тогда
					//это пуля этого танка
				ИначеЕсли НайдТанк[0].НомерСтроки-3 = Actor.Whose тогда
					//это пуля этого танка
				ИначеЕсли Найти(НайдТанк[0].Type,"Н")  тогда
					//Это ништяк
				ИначеЕсли Найти(НайдТанк[0].Type,"П") тогда
					//Это пуля
					возврат  Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
				Иначе
					возврат  Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
				КонецЕсли;	
Показать
14. Alex_E 2400 05.08.16 20:16 Сейчас в теме
Платформа 8.2.19.130:
{Форма.Форма.Форма(1070)}: Поле объекта не обнаружено (Картинка)
ЭлементИгры.Картинка = Новый Картинка();
Так хотел поиграть, и так не хотца разбираться((((
15. ASDF2 288 07.08.16 09:11 Сейчас в теме
У кого появляется ошибка - запускайте на платформе 8.3. На 8.2 у области ячеек табличного документа не было свойства "Картинка"
16. Alex_E 2400 07.08.16 09:17 Сейчас в теме
(15) ASDF2, Т.е.
Написано на "голом" 1С82 в неуправляемых формах.
- неправда?)))
17. slava_1c 602 08.08.16 03:32 Сейчас в теме
(16) Alex_E, По ходу, да))) Все это было написано на 8.3 на конфе в режиме эмуляции 8.2.13. Я без задней мысли и указал это.И везде где проверял, запускались уже обновленные платформы. Но я исправился!
И написал-таки под "голый" 8.2 , плюс оптимизировал сам графический вывод, поэтому сейчас на моем тестовом компе - 32 FPS и все работает под 8.2.19.130. Пришлось даже начальную скорость ограничить, т.к. боты не давали пройти даже первый уровень.
30. avasl 75 11.08.16 10:40 Сейчас в теме
(17)
на 8.3 будет работать только с 8.3.5

> Для объекта ОбластьЯчеекТабличногоДокумента реализованы свойства Картинка
18. Жолтокнижниг 310 08.08.16 21:59 Сейчас в теме
19. tristarr1 61 10.08.16 08:23 Сейчас в теме
Круто! А сетевая версия будет?)
20. ixilimuse 195 10.08.16 08:37 Сейчас в теме
Мужик! Реализация достойная уважения!)))
22. sound 538 10.08.16 10:46 Сейчас в теме
Чйорт, реально круто, неистово плюсую!
Пипец рабочему дню :)
dj_serega; sa1m0nn; gigapevt; +3 Ответить
23. vlad.frost 186 10.08.16 11:09 Сейчас в теме
Мультиплеер бы ещё запилить )
Zhilyakovdr; pbahushevich; +2 Ответить
34. slava_1c 602 11.08.16 15:09 Сейчас в теме
(23) vlad.frost,

Под мультиплеером подразумевается

А более 2-х танков союзников?
B управление вражескими танком?
C второй танк - управляется также но с другого компа в локальной сети
D второй танк - управляется также но с другого компа в инете?
40. olegmedvedev 66 22.09.16 15:51 Сейчас в теме
(34)
второй танк - управляется также но с другого компа в локальной сети
было бы круто)
41. slava_1c 602 22.09.16 19:32 Сейчас в теме
(40) olgerd666,
Ага, сделал уже давно, и можно даже вчетвером))
24. Nuuq 76 10.08.16 12:29 Сейчас в теме
25. Serjik78 1289 10.08.16 13:02 Сейчас в теме
Это песня! :)

Мультиплей по сетке еще сделайте, на работе все юзеры ошалеют :)
26. Evil Beaver 8402 10.08.16 13:36 Сейчас в теме
Pr-Mex в свое время сделал эмулятор Денди на чистом 1С без внешних компонент. Думаю, ему статья понравится. У вас, я так понял, не эмулятор оригинального кода, а именно портированная на 1С игра?
32. slava_1c 602 11.08.16 14:47 Сейчас в теме
(26) Evil Beaver, На счет Pr-Mex и эмулятора Денди - интересно было бы взглянуть на эту разработку. Да, действительно это не NES, это написанная на 1С обработка. Из самой игры заимствованы ресурсы с картинками и звуки. Остальное - чистой воды вымысел))
49. Evil Beaver 8402 04.05.17 10:45 Сейчас в теме
(32) Нужно найти @Pr-Mex здесь или на гитхабе и попросить у него эту разработку (если он ее не потерял)
52. olegmedvedev 66 10.05.17 17:40 Сейчас в теме
(49) Ого, было бы круто посмотреть на эмуль Денди на чистом 1С)
27. artik1994 10.08.16 16:39 Сейчас в теме
автору респект)
побольше бы таких интузиастов...
28. mike_grig 120 11.08.16 08:21 Сейчас в теме
29. WellMaster 106 11.08.16 09:23 Сейчас в теме
Так и не понял, какая кнопка отвечает за выстрел.
В хелпе и в статье также не нашел упоминания.
Нажимая все кнопки подряд обработка вешается, лечется только перезапуском.
33. slava_1c 602 11.08.16 14:54 Сейчас в теме
(29) WellMaster,

Игрок 1,клавиатура:

Клавиша "Enter" - выстрел, выбор пункта меню
Клавиша "Вверх" - движение танка вперед
Клавиша "Вниз" - движение танка назад
Клавиша "Влево" - движение танка влево
Клавиша "Вправо" - движение танка вправо

Игрок 2, мышь

- Движение мыши в специальной области экрана по виртуальным
кнопкам "U"D"L"R" повторяет действия на клавиатуре,
остановка - перемещение мыши в центр этой области
- нажатие левой кнопки мыши - выстрел
31. premierex 208 11.08.16 12:37 Сейчас в теме
(0) Круто! Остался без обеда )))
35. DiBas 11.08.16 15:26 Сейчас в теме
Ностальгия) Почти как Quake на осцилографе)
36. stas1976 15 12.08.16 15:22 Сейчас в теме
спасибо джедайский человек
38. sa1m0nn 28 29.08.16 13:58 Сейчас в теме
Аплодирую стоя!
А выстрел в позицию полтанка вбок работает? Чо-т в упор стрелял - не убил :(
ЗЫ: Максимально-точный термин!!! :D XDXDXD
Ништяки = Новый Массив();
Ништяки.Добавить(Спрайты.lopat.Картинка);
Ништяки.Добавить(Спрайты.granat.Картинка);
Ништяки.Добавить(Спрайты.star.Картинка);
Ништяки.Добавить(Спрайты.kaska.Картинка);
Ништяки.Добавить(Спрайты.tank.Картинка);
Ништяки.Добавить(Спрайты.freezer.Картинка);
Показать
39. slava_1c 602 14.09.16 05:13 Сейчас в теме
(38) sa1m0nn, спс)

Ага, это я в новой версии пофиксил.
Вот тайловый движок допилю и выкину, будет как в варкрафте.

42. CSiER 36 30.09.16 14:54 Сейчас в теме
Круть. Марио будет? )
43. dj_serega 396 11.10.16 11:30 Сейчас в теме
Слава, извините, но Вы Красавец с больших букв :)
44. slava_1c 602 11.10.16 12:49 Сейчас в теме
Спасибо, ребят!
На всякий случай - все изменения в файле "Game City 1C_82 Multiplayer", а то у меня отображается что скачиваются первые версии.
45. DrBlack 25 27.03.17 11:24 Сейчас в теме
Мне почему-то файло на почту не приходит... :(
46. slava_1c 602 28.03.17 11:57 Сейчас в теме
(45) Эммм.. ну это скорее вопрос к техподдержке Инфостарта.
47. DrBlack 25 28.03.17 12:37 Сейчас в теме
(46) Да понятно что вы тут не причем... )
48. maksa2005 378 04.05.17 08:10 Сейчас в теме
Достойно уважения
50. KazanKokos 11 04.05.17 10:53 Сейчас в теме
Оставлю заметочку, дома гляну. )) Пока обработочку попилю )
51. Dzenn 932 04.05.17 18:00 Сейчас в теме
53. sertak 328 20.08.18 12:04 Сейчас в теме
Чувак, жму твою мужественную руку!
Для отправки сообщения требуется регистрация/авторизация