0. slava_1c 479 05.08.16 01:48 Сейчас в теме

Battle City на 1С

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

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

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

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

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

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

Нашёл отличие от оригинала: твой снаряд не уничтожает снаряд противника. Т.е. они пролетают мимо друг друга и умирают оба!
корум; SvoyakMartin; +2 Ответить
12. nodalt 3 05.08.16 15:43 Сейчас в теме
Да, реально круто!
1С'ники теперь Вам должны - за популяризацию платформы )))
13. slava_1c 479 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 1991 05.08.16 20:16 Сейчас в теме
Платформа 8.2.19.130:
{Форма.Форма.Форма(1070)}: Поле объекта не обнаружено (Картинка)
ЭлементИгры.Картинка = Новый Картинка();
Так хотел поиграть, и так не хотца разбираться((((
15. ASDF2 280 07.08.16 09:11 Сейчас в теме
У кого появляется ошибка - запускайте на платформе 8.3. На 8.2 у области ячеек табличного документа не было свойства "Картинка"
16. Alex_E 1991 07.08.16 09:17 Сейчас в теме
(15) ASDF2, Т.е.
Написано на "голом" 1С82 в неуправляемых формах.
- неправда?)))
17. slava_1c 479 08.08.16 03:32 Сейчас в теме
(16) Alex_E, По ходу, да))) Все это было написано на 8.3 на конфе в режиме эмуляции 8.2.13. Я без задней мысли и указал это.И везде где проверял, запускались уже обновленные платформы. Но я исправился!
И написал-таки под "голый" 8.2 , плюс оптимизировал сам графический вывод, поэтому сейчас на моем тестовом компе - 32 FPS и все работает под 8.2.19.130. Пришлось даже начальную скорость ограничить, т.к. боты не давали пройти даже первый уровень.
30. avasl 60 11.08.16 10:40 Сейчас в теме
(17)
на 8.3 будет работать только с 8.3.5

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

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

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

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

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

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

Игрок 2, мышь

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

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

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

Вакансии

Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

Программист 1С
Ставрополь
зарплата от 40 000 руб. до 60 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист 1С
Благовещенск (Амурская область)
зарплата от 40 000 руб. до 70 000 руб.
Полный день