Battle City на 1С

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

Перейти к публикации

Комментарии
1. Павел Чистов (GROOVY) 2284 05.08.16 10:11 Сейчас в теме
Круто!
AleksKol; корум; AlexGroovy; +3 Ответить
2. Rom Shpakoff (Lancelot-2M) 94 05.08.16 10:49 Сейчас в теме
3. Артур Коржан (1v7) 182 05.08.16 11:44 Сейчас в теме
Всегда удивляли такие программисты (в хорошем смысле этого слова). Которые на голом энтузиазме пишут подобные штуковины. Сколько ушло времени на эту разработку!!!))) Можно было написать пару заказных отчётов и заработать N-сумму денег! Нееет... Он пишет игруху из 90-х! Достойная вещица! Респект Вам и уважуха!
AleksKol; uncle_Vasya; +2 Ответить 1
4. борян петров (TODD22) 15 05.08.16 11:49 Сейчас в теме
Так глядишь кто нибудь и Quake с half life сделает на 1с :)
5. Евгений Нагайцев (nagaitseff) 8 05.08.16 11:54 Сейчас в теме
6. Иван Иванов (Famza) 80 05.08.16 12:24 Сейчас в теме
А когда Hilf-Life будет на 1С?
7. Вадим Миляев (PrinzOfMunchen) 74 05.08.16 12:49 Сейчас в теме
Не работают:
{Форма.Форма.Форма(1070)}: Поле объекта не обнаружено (Картинка)
ЭлементИгры.Картинка = Новый Картинка();
8. Glory S (slava_1c) 317 05.08.16 13:37 Сейчас в теме
(7) PrinzOfMunchen, Оч. странно - перед тем как выложить проверял на разных платформах и компах, в том числе на удаленке по rdp. Работает в режиме обычного приложения везде, не зависимо от конфигурации. Что за платформа? Если можно - скриншот.
9. Glory S (slava_1c) 317 05.08.16 14:03 Сейчас в теме
(3) 1v7, Спасибо, рад что понравилось)))
Да нет, не волнуйтесь времени после того, как я наткнулся на ресурс со спрайтами этой игры прошло чуть больше 2х недель)) Причем основу я написал дня за три - там кода-то всего ничего, потом неделю искал средство увеличить скорость ну и на причесывание (затупливание АИ ботов и проверка столкновений) еще неделя ушла. Не в ущерб отчетам, короче)))
10. Glory S (slava_1c) 317 05.08.16 14:13 Сейчас в теме
(6) Famza, )) у 1С проблемы с шейдерами. Боюсь здесь уже без ВК не обойтись.

А с ВК еще под 9 директом уже давно есть - только по сути то это не 1С а просто С...
11. Валерий К (klinval) 204 05.08.16 14:18 Сейчас в теме
Круто:) Первая игра, которую плюсанул и скачал!

Нашёл отличие от оригинала: твой снаряд не уничтожает снаряд противника. Т.е. они пролетают мимо друг друга и умирают оба!
корум; SvoyakMartin; +2 Ответить
12. Дмитрий Копейкин (nodalt) 3 05.08.16 15:43 Сейчас в теме
Да, реально круто!
1С'ники теперь Вам должны - за популяризацию платформы )))
13. Glory S (slava_1c) 317 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) 1578 05.08.16 20:16 Сейчас в теме
Платформа 8.2.19.130:
{Форма.Форма.Форма(1070)}: Поле объекта не обнаружено (Картинка)
ЭлементИгры.Картинка = Новый Картинка();
Так хотел поиграть, и так не хотца разбираться((((
15. ASDF2 Егор (ASDF2) 280 07.08.16 09:11 Сейчас в теме
У кого появляется ошибка - запускайте на платформе 8.3. На 8.2 у области ячеек табличного документа не было свойства "Картинка"
16. Алексей Ермилов (Alex_E) 1578 07.08.16 09:17 Сейчас в теме
(15) ASDF2, Т.е.
Написано на "голом" 1С82 в неуправляемых формах.
- неправда?)))
17. Glory S (slava_1c) 317 08.08.16 03:32 Сейчас в теме
(16) Alex_E, По ходу, да))) Все это было написано на 8.3 на конфе в режиме эмуляции 8.2.13. Я без задней мысли и указал это.И везде где проверял, запускались уже обновленные платформы. Но я исправился!
И написал-таки под "голый" 8.2 , плюс оптимизировал сам графический вывод, поэтому сейчас на моем тестовом компе - 32 FPS и все работает под 8.2.19.130. Пришлось даже начальную скорость ограничить, т.к. боты не давали пройти даже первый уровень.
18. Алексей Ко (Жолтокнижниг) 237 08.08.16 21:59 Сейчас в теме
19. Сергей Растатурин (tristarr1) 29 10.08.16 08:23 Сейчас в теме
Круто! А сетевая версия будет?)
20. Евгений Мукомело (ixilimuse) 149 10.08.16 08:37 Сейчас в теме
Мужик! Реализация достойная уважения!)))
21. Сергей necropunk (necropunk) 5 10.08.16 09:43 Сейчас в теме
(10) slava_1c, "у 1С проблемы с шейдерами" - на этой фразе заржал в голос.
jeyrico; dj_serega; madonov; sa1m0nn; catsam; shard; pbahushevich; +7 Ответить
22. sound sound (sound) 522 10.08.16 10:46 Сейчас в теме
Чйорт, реально круто, неистово плюсую!
Пипец рабочему дню :)
dj_serega; sa1m0nn; gigapevt; +3 Ответить
23. Владислав Мороз (vlad.frost) 171 10.08.16 11:09 Сейчас в теме
Мультиплеер бы ещё запилить )
Zhilyakovdr; pbahushevich; +2 Ответить 1
24. Андрей Лещанов (Nuuq) 61 10.08.16 12:29 Сейчас в теме
25. Сергей Кобяков (Serjik78) 1268 10.08.16 13:02 Сейчас в теме
Это песня! :)

Мультиплей по сетке еще сделайте, на работе все юзеры ошалеют :)
26. Андрей Овсянкин (Evil Beaver) 4201 10.08.16 13:36 Сейчас в теме
Pr-Mex в свое время сделал эмулятор Денди на чистом 1С без внешних компонент. Думаю, ему статья понравится. У вас, я так понял, не эмулятор оригинального кода, а именно портированная на 1С игра?
27. Артем Артем (artik1994) 10.08.16 16:39 Сейчас в теме
автору респект)
побольше бы таких интузиастов...
28. Михаил Григорьев (mike_grig) 119 11.08.16 08:21 Сейчас в теме
29. WellMaster (WellMaster) 98 11.08.16 09:23 Сейчас в теме
Так и не понял, какая кнопка отвечает за выстрел.
В хелпе и в статье также не нашел упоминания.
Нажимая все кнопки подряд обработка вешается, лечется только перезапуском.
30. Сергей (avasl) 59 11.08.16 10:40 Сейчас в теме
(17) slava_1c,
на 8.3 будет работать только с 8.3.5

> Для объекта ОбластьЯчеекТабличногоДокумента реализованы свойства Картинка
31. Максим *** (premier) 136 11.08.16 12:37 Сейчас в теме
(0) Круто! Остался без обеда )))
32. Glory S (slava_1c) 317 11.08.16 14:47 Сейчас в теме
(26) Evil Beaver, На счет Pr-Mex и эмулятора Денди - интересно было бы взглянуть на эту разработку. Да, действительно это не NES, это написанная на 1С обработка. Из самой игры заимствованы ресурсы с картинками и звуки. Остальное - чистой воды вымысел))
33. Glory S (slava_1c) 317 11.08.16 14:54 Сейчас в теме
(29) WellMaster,

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

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

Игрок 2, мышь

- Движение мыши в специальной области экрана по виртуальным
кнопкам "U"D"L"R" повторяет действия на клавиатуре,
остановка - перемещение мыши в центр этой области
- нажатие левой кнопки мыши - выстрел
34. Glory S (slava_1c) 317 11.08.16 15:09 Сейчас в теме
(23) vlad.frost,

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

А более 2-х танков союзников?
B управление вражескими танком?
C второй танк - управляется также но с другого компа в локальной сети
D второй танк - управляется также но с другого компа в инете?
35. Dima Basalaev (DiBas) 11.08.16 15:26 Сейчас в теме
Ностальгия) Почти как Quake на осцилографе)
36. Stas Bor (stas1976) 14 12.08.16 15:22 Сейчас в теме
спасибо джедайский человек
37. Евгений Евгений (leasing) 1 17.08.16 00:25 Сейчас в теме
(9) slava_1c, спасибо вам огромное! Вы - волшебник!
Сейчас объясню. Люди "старой формации", ну те самые, которые начинали свой путь в 1С на 1С 6.0 и на 1С 7.7, со времен появления 8 -ки (и типовых решений для нее), стали время от времени впадать в задумчивость относительно бурного роста в ней числа объектов, свойств, методов, (и, что самое печальное, астрономического роста числа строк, цикломатической сложности и прочих метрических показателей, включая число ошибок на 1000 строк кода).
Парадоксальность ситуации состоит в том, что бухгалтерия соседней конторы осталась работать на 7 -ке. и прекрасно себя чувствует, выдавая во вне точно такие же отчеты, за меньшие деньги, за меньшее время, за меньшие трудозатраты, при меньших расходах на компьютерные ресурсы.
Спрашивается, кто и чего ради трудился "во глубине 1С руд"?
На что ушли человеко-месяцы, человеко- годы, человеко-десятилетие?
Как там у классика? "1С, куда ж несешься ты? дай ответ. Не дает ответа. Чудным звоном заливается колокольчик; гремит и становится ветром разорванный в куски воздух; летит мимо все, что ни есть на земли, и, косясь, постораниваются и дают ей дорогу другие прикладные системы бухгалтреско- экономического направления."

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

Поздравляем дружный коллектив с победой в этой гонке с ...... А с кем они соревновались-то?
japopov; Lancelot-2M; корум; +3 Ответить
38. Семен Слепаков (sa1m0nn) 21 29.08.16 13:58 Сейчас в теме
Аплодирую стоя!
А выстрел в позицию полтанка вбок работает? Чо-т в упор стрелял - не убил :(
ЗЫ: Максимально-точный термин!!! :D XDXDXD
Ништяки = Новый Массив();
Ништяки.Добавить(Спрайты.lopat.Картинка);
Ништяки.Добавить(Спрайты.granat.Картинка);
Ништяки.Добавить(Спрайты.star.Картинка);
Ништяки.Добавить(Спрайты.kaska.Картинка);
Ништяки.Добавить(Спрайты.tank.Картинка);
Ништяки.Добавить(Спрайты.freezer.Картинка);
...Показать Скрыть
39. Glory S (slava_1c) 317 14.09.16 05:13 Сейчас в теме
(38) sa1m0nn, спс)

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

40. Олег Медведев (olgerd666) 33 22.09.16 15:51 Сейчас в теме
(34) slava_1c,
второй танк - управляется также но с другого компа в локальной сети
было бы круто)
41. Glory S (slava_1c) 317 22.09.16 19:32 Сейчас в теме
(40) olgerd666,
Ага, сделал уже давно, и можно даже вчетвером))
42. Артём Андриянов (CSiER) 30.09.16 14:54 Сейчас в теме
43. Сергей Галюк (dj_serega) 249 11.10.16 11:30 Сейчас в теме
Слава, извините, но Вы Красавец с больших букв :)
44. Glory S (slava_1c) 317 11.10.16 12:49 Сейчас в теме
Спасибо, ребят!
На всякий случай - все изменения в файле "Game City 1C_82 Multiplayer", а то у меня отображается что скачиваются первые версии.
45. Evgeniy Nikolaenko (DrBlack) 17 27.03.17 11:24 Сейчас в теме
Мне почему-то файло на почту не приходит... :(
46. Glory S (slava_1c) 317 28.03.17 11:57 Сейчас в теме
(45) Эммм.. ну это скорее вопрос к техподдержке Инфостарта.
47. Evgeniy Nikolaenko (DrBlack) 17 28.03.17 12:37 Сейчас в теме
(46) Да понятно что вы тут не причем... )
48. Максим Литвинов (maksa2005) 94 04.05.17 08:10 Сейчас в теме
49. Андрей Овсянкин (Evil Beaver) 4201 04.05.17 10:45 Сейчас в теме
(32) Нужно найти @Pr-Mex здесь или на гитхабе и попросить у него эту разработку (если он ее не потерял)
50. Анатолий Лукьянов (KazanKokos) 9 04.05.17 10:53 Сейчас в теме
Оставлю заметочку, дома гляну. )) Пока обработочку попилю )
51. Дамир Закиров (Dzenn) 46 04.05.17 18:00 Сейчас в теме
52. Олег Медведев (olgerd666) 33 10.05.17 17:40 Сейчас в теме
(49) Ого, было бы круто посмотреть на эмуль Денди на чистом 1С)
Оставьте свое сообщение