Pull to refresh

Comments 120

Когда разберусь с микросервисами, автотестами, облаками и современным мобильным геймдевом, не раньше :)

Coach 2020 — звучит же?
UFO just landed and posted this here
UFO just landed and posted this here
Читать учебники в интернете это читерство, я буду всё изучать методом тыка


За эту цитату отдельное спасибо, это прекрасно
Это было прекрасно когда не было интернета :)
А сейчас метод тыка — не такой уж и «тык».
Или все-таки тык? В 2006 году я связь браузера с сервером реализовывал через скрытый iframe, потому что на тот момент гайдов и рекомендаций именно по такому способу было гораздо больше и в основном натыкался именно на этот способ, несмотря на то, что тогда уже существовал ajax.
Пфф… я «аякс» загрузку файлов реализовывал через скрытый iframe, а еще были костыли для скрытого input[type=«file»] для старой оперы и еще много чего.

Хорошее было время. А сейчас что? 20 Мб стороннего кода подключил и все работает :)
UFO just landed and posted this here
Спасибо за комментарий!

Поде́литесь еще какой-нибудь жизненной мудростью, которую запомнили на всю жизнь?
UFO just landed and posted this here
Не, в самый раз! Про команду тоже хорошо было.
UFO just landed and posted this here
Как вам это удалось? У меня вот нет столько терпения, чтобы скрупулезно пилить каждую мелкую фичу.

Иногда хочется что-нибудь сделать, для тренировки своих скиллов, но как начнешь думать, что ведь там надо реализовывать, например, сохранение игры, а это означает парсер файла и 100500 возможных проблем, которые надо предусмотреть. И это только одна маленькая фича из всей игры.
У меня это всегда работало так — если я придумал, как должен выглядеть конечный продукт, то просто садился и делал, пока не устану.

Не помню как с остальным, но RFPL 2 была написана, кажется, за неделю, и еще пару недель я её тестировал и допиливал. В таком режиме не разделяешь фичи на мелкие и не очень, а просто делаешь всё по заранее заготовленному плану.
У меня такое обычно с гуем. Терпеть не могу все эти кнопочки перетаскивать туда-сюда, самое скучное и муторное занятие. Как представлю, что чтобы сделать в моей воображаемой игре крутую фичу Х — придется запилить пять окон и десять кнопок, сделать чтобы это все не разъезжалось, локализовывалось и т.п. сразу руки опускаются.
А на чём пишете?
Спрашиваю, потому что много раз слышал от своих студентов-питонистов возмущения по поводу рисования GUI в лабораторных.
Вообще на джаве, но разработка гуя обычно — нудная хрень независимо от языка.
В геймдеве впрочем это еще часто усложняется тем, что далеко не все игровые движки имеют внутри себя хорошие гуи-библиотеки. Как я в свое время с LWJGL и nifty-gui настрадался.
Я, кажется, даже таких названий не слышал.
Вам хоть денег заплатили за страдания?
Так я для себя делал. Но какие-то деньги в стиме заработал, да.
Это отлично, вы молодец.
Тепло, лампово, так же писал только на Delphi ))
Весь девятый и десятый класс мы с моим одноклассником были заняты написанием симулятора операционной системы
парни вы крутые, реально!
Грепать я тогда не умел, парсить страницы — тоже, а про xml и csv знал очень обрывочно. Поэтому техническое решение было очень странным:
это все фигня. Дорогу осилит идущий, главное что задача была решена и решена за обозримое время. Не надо все знать, надо просто иметь мозги чтобы уметь находить/придумывать решение проблемы. Если бы вам надо было обработать 1000 страниц, я уверен, что вы бы дошли до парсинга.

Спасибо! Всегда интересно читать про свой опыт, про подходы, ошибки и эволюцию. В последнее время слишком много всяких консультантов, которые учат работать по аджайл, обскрамившись, натягивая канбан по книжкам.
Удачи вам!
Эх. Олдскулы свело. У меня, как и у многих здесь присутствующих, тоже есть маленькое кладбище. Но ничего не закончено хотя бы наполовину.

Вот из тех времен, когда осваивал HTML5 в далеком 2011:

Гифка на 1.7 мегабайта
Это очень здорово! Спасибо, что поделились!

Оффтоп. Там под спойлером "Футбол 4х4" метко так команды названы)

Статья унесла в детство. Я в таком же хардкод-стиле когда-то в восьмом классе писал «Монополию». У меня там фишки по полю двигались смещением координат. А границы поля определялись условиями. И всё это на Visual Basic 6. Восемнадцать лет назад. Всё погибло лет пятнадцать назад вместе с жёстким диском.


Вы мне смотрите о чём напомнили :)

Просто слёзы наворачиваются. )

Вы вот говорите "игры писал 18 лет назад". Я сначала подумал "Опять старики пришли ностальгировать", а потом посчитал, тоже оказывается 18 лет назад :(

Классная статья, спасибо!
Я, помнится, в 10-11 классе писал препроцессор для языка JASS (который был в World Editor'e WarCraft 3). Начинал с Delphi, потом перелез на C#. Код выложил на гитхаб, недавно откопал мануал, который писал для него. Код, конечно, то еще поделие, но вот эта ностальгия при его просмотре… Всю статью на кончиках пальцев прочувствовал :)

Спасибо за историю. Я знал, что не одинок в своих стремлениях и ошибках :)

Вот репозиторий со всем этим безобразием, а вот тот самый мануал, если вдруг тоже захотите посмеяться ;) Парсер без AST, лексем и токенов. Только регулярки и indexOf, только хардкор.

m = Form1.Label5(0).Caption
Form2.Label3(m).Caption = Form2.Label3(m).Caption + 3
Хех, у меня, по-моему, было ещё жёстче. Я был уверен, что лишние переменные сильно расходуют ресурсы. И когда мне нужна была временная переменная, я не объявлял её локально, а старался использовать глобально-доступное свойство Tag (если нужен был integer) или Hint (если нужен был string). И ведь работало же! (Иногда, правда, я забывал, установить ShowHint в false и «кишки» программы становились видны пользователю при наведении мышки на что-то).

А когда я где-то между 9 классом и 1 курсом открыл для себя истинную сущность типа boolean… Что вместо
if playerList.Count > 0 then okBtn.Enabled := true else okBtn.Enabled := false
или
if okBtn.Enabled = true then DoSomething
можно писать просто okBtn.Enabled := playerList.Count > 0 и if okBtn.Enabled then DoSomething соответственно… Ооо, вот тогда я почувствовал себя программистом.
Ох уж эти глобально доступные свойства, сколько они мне нервов испортили!
Но я, кажется, делал ещё и так — заводил отдельную переменную под любые промежуточные вычисления и носился с ней, как со списанной торбой.

А потом однажды забывал, что где-то её не переназначил, и начиналось веселье.
Превосходно, написать игру в 7 классе это здорово! Мое уважение
Ох, круто…

Если позволите — оффтоп, не относящийся к программированию.
У меня в школе компьютера не было, поэтому я делал футбольный симулятор в виде настольной игры (sic!)
Поле представляло собой три склеенных А4 с нарисованными шестигранниками (допускаю, что увидел поле в Героях 3, уже не помню). У игроков были скиллы — Скорость, Удар, Владение мячом и Выносливость), которые прокачивались с количеством матчей.
А шансы на удачный дриблинг, перехват или удар по воротам определялись по разнице в скилах и паре из обычного и трехгранного кубиков (уже не помню точных формул для расчетов).

Я «нагерерил» (бросками кубиков) штук 50 клубов, в каждом было наверное 12 игроков (на поле в матче было 6), и сыграл наверное 3 или 4 сезона — это были чемпионаты Англии, Испани, Италии, Франции, Германии и Украины (в каждой лиге 6 команд) и плюс были лиги смешанные для команд из Нидерландов, Турции, Португалии и т.д. Ну и конечно Лига Чемпионов. Трансферы тоже были, «деньги» клубы получали из призовых.

Я играл в основном сам с собой, без друзей, т.е. за обе команды по очереди. Один сезон во всех лигах наверное игрался месяца два, не меньше… В тетрадку писались все результаты, авторы голов (для подсчета лучших бомбардиров), игрокам писались карандашом желтые карточки и количество сыгранных матчей (чтобы в конце сезона скилл поднять).

Потом всё забросил, а через года 3 появился компьютер. После переездов все тетрадки, поле и вырезанные квадратики игроков потерялись… А сколько еще нереализованного осталось — увеличение количества скилов, талант (влияющий на скорость прокачки), матчи сборных, кубки, вторая лига.
У меня аж дух захватило, пока читал! Спасибо за историю!
И, кажется, вам нужно срочно поговорить с milfgard :)
Ну, целый жанр таких игр есть. Мы готовы рассмотреть, но мода сейчас повернула в другое русло, и цикл повторится только года через три минимум.

Я не претендую, если что :) Просто близка тема футбольных менеджеров, поэтому поделился воспоминаниями.
А вообще, я в юности 3 игры сделал — одна была попыткой скопировать Star Craft, мы даже с одноклассниками пробовали поиграть. Но там не было баланса, и выигрывал всегда тот, кто первый делал ядерный взрыв (пешие юниты не добирались до противника).
Две другие спортивные — баскетбол, впервые трехгранный кубик заюзал (правда тогда еще не знал таких слов). Там были тоже клубы, трансферы, евролига и т.д., но не было скилов игроков, все было на кубике.
И вот только в третьей додумался до скилов (в терминах настолок — это как разные карты на руках) и их прокачки в зависимости от количества игр, тут уже были комбинации из трехгранного и шестигранного кубиков. Но там тоже куча орехов была — например некоторые игроки были имбовые, было несколько стратегий, позволявших чаще выигрывать. И это только то, до чего сам додумался — другие люди уверен нашли бы еще кучу несбалансированностей.
В общем, как развлечение для человека с фантазией пойдет, но не как полноценная настолка.
И еще, иногда задумываюсь, что мои действия очень напоминали ОКР — вместо занятия чем-то более продуктивным, уход в свой придуманный нарисованный мирок. Часто в ущерб сну или домашним заданиям. Не очень оно хорошо.

Ну, это офигенный навык. Потом надо сгонять на какую-нибудь выставку, увидеть кучу всего странного, понять, что вот ваши наработки внезапно с чем-то вступают в синергию и сделать хит. Я, пожалуй, выложу отчёт с одной из выставок по нашей игровой теме, возможно, будет полезен.
Это просто огонь!
Вот это тяга, вот это креатив, машина чарлза бэбиджа отдыхает :)
Пошел отключать ребенку интерент, хочешь играть — приудмай сам!

Да, это именно оно — отсутствие компьютера и море свободного времени :)

Звучит так словно вы решили перенести всё это в программный продукт, а в будущем стали разработчиком Football Tactics :) Думаю, у ребят похожая история проекта была. А вообще жалко что родители нынешних детей редко поддерживают такие начинания, возможностей в разы больше
UFO just landed and posted this here
Это яблоки или помидоры?
UFO just landed and posted this here
Я проспорил сам себе :/
А расскажите подробнее, как делали? Неужели там суровая самописная физика?
UFO just landed and posted this here
Тоже писал всякие игрули, подобные тем что у автора на Pascal и Delphi. Уфф ностальгия, исходники все потеряны с жесткими дисками (( облачных дисков не было тогда ((. Сейчас работаю 1С разработчиком, не так давно встретил начинающего разработчика 1С который хранил значения в цвете ячеек (ну не придумал больше где хранить), очень эффектно таблица выглядела, особенно когда значения менялись ))
!medved_trup1_a_bezboshki_tex

Что-то на уровне pas_vniz, или даже выше!
Эх, ностальгия, спасибо за статью.
Вспомнил как играл в детстве в Actual Coach...)
Огромное спасибо автору. Безумно интересная тема для меня. Может всезнающий all подскажет ссылки на ресурсы с подобной тематикой? Описание алгоритмов симуляции футбольных матчей, физика, примеры графических реализаций и так далее… Любые идеи этой тематики
Проект «виртуальный футбол» www.keldysh.ru/pages/robosoccer Я там даже один из чемпионатов выиграл. Правда, проект протух вскоре после этого.

Ну и ещё есть RoboCup ru.wikipedia.org/wiki/RoboCup. Здесь я только матчи смотрел.
Все программисты-самоучки (я в том числе) прослезились, вспомнив молодость :)
Кстати, когда не было возможности достать дистрибутив VB, то на помощь приходил VBA из MS Office — вот за это им спасибо! А через меню современного office я так и не смог найти выход в VBA, спасает только alt-F11 :(
Да, в те времена с дистрибутивами офиса вообще как-то всё было полегче, чем со штуками для разработки :)
Сам начинал кодить примерно в вашем возрасте, и тоже выбор пал на VB6. Потому что именно диск с ним я смог купить. Или книгу, не помню, что уже было куплено первым. Но обзавевщись этими двумя, редкими на тот момент, артефактами, я принялся писать свой вариант симулятора «Жизнь» с блеэк-джеком зумом и «бесконечным» пространством. Эх, а уже 19 лет прошло с того времени.
А вы не пытались в Valve пособеседоваться? У вас совершенно свежий взгляд, как называть игры.

Когда-то тоже писал менеджер команды формулы-1 на встроенном в Спектрум Бейсике. Было даже графическое отображение гонки, не только текстовый режим. Помню, у гонщиков были свои параметры мастерства, у трасс — свои параметры сложности. Эх, было время :) Конечно же, те кассеты давно канули в Лету.

В 2013 (мне тогда было 13) пытался делать свою стратегию а-ля Dune II (без рельефа, тумана и изменяемых клеток). Я тогда это делал на Java и Swing. Даже помню, из-за чего прекратил — тогда считал, что для каждой клетки и каждого спрайта обязательно нужно хранить свой экземпляр BufferedImage для отрисовки, программа всегда вылетала из-за нехватки памяти
Увы, все, что можно было бы восстановить сейчас — 2 спрайта танка, одинаковые и похожие на Sonic Tank артрейдесов, но в разных палитрах: красно-серый и черно-голубой
Меня особенно умилила иконка возле «перехода хода».
Спасибо, что поделились!
Мы таким же макаром уже несколько лет пилим golaso.com :)
Правда, мы уже прошли стадию изучения мобильного геймдева и микротранзакций, так что надеемся, игра наконец-то увидит свет уже в 2019 :)
Я тут что подумал — в наши школы нужно ставить не современные компьютеры, а специально втыкать экспонаты ушедшей эпохи. На которых можно «поиграть» в ассемблер — ну и хватит.
Умнее будут.

Когда-то, я написал интерактивный кроссворд на бекашке с использованием прямых обращений к памяти — peek/poke. И тогда моя работа в 10 классе улетела куда-то в район и я получил первые в своей жизни автоматы по информатике.
При этом дома у меня тогда был нормальный п3, 256 гигов оперативки, виндовс 98 и 40 гб фуджик. А хотелось, понимаете, заставить железку генерить то, что её могли заставить генерить только дядьки из институтов.

Понимать будущие программисты должны всё с самого низа. Недостаточно постичь очередной фреймворк.
Напомнило мне мои первые потуги в вэб-программировании на jQuery На первом курсе я делал календарь мероприятий, где распихивал мероприятия на календаре по координатам ячеек дней. Какая же это была боль, особенно задавать смещение и изменения размера элмента каждого мероприятия. Прям прошелся по всем «Важным моралям» в этой статье. Такой опыт уже не забыть)))

Спасибо за такую хорошую статью.
Я бы послушал, как вы обрабатывали февраль в високосных годах.
Понастольгировал. Я с бейсиком игрался году в 98м — делали с однокласником point&click квест — на форму картику, прозрачные кнопки — области только прямоугольные.
Да и вообще после покупки книжки по бейскику понаваял пачку програм себе.
Жаль из тех времён ни чего не осталось.
позабавило присутствие Longhorn в списке поддерживаемых ОС, параллельно с комментом что на XP будет работать только при наличии какой-то там библиотеки — а для Longhorn получается библиотеки не требовалось ))
и у вас действительно в 2005 году был жесткий диск всего на 2.3Гб? жестковато как-то, такие даже в 2000 уже были невообразимым старьем. как и сборники досовских игрушек с меню
и у вас действительно в 2005 году был жесткий диск всего на 2.3Гб? жестковато как-то, такие даже в 2000 уже были невообразимым старьем. как и сборники досовских игрушек с меню

Как бы не так.
Помнится, в 98 перешел на Cyrix 233 и первое время таскал за собой пару винтов 80+40 МЕГАбайт. Потом купил новый на 1.7
нет, ну я не спорю, что ими могли ещё пользоваться в 2000 году, но это не меняет того факта, что на то время они уже были весьма устаревшими
но тут речь вообще про 2005!
О, столько разговоров было про тот Longhorn, но никто ничего толком не знал.
А по поводу диска не знаю, среди моих друзей мало у кого встречались больше. Как правило, те люди ходили к знакомым с ещё большими дисками, выкачивали оттуда всё, до чего дотянутся, а потом я приходил к ним и так поддерживалась пищевая цепочка файлообмена.
нет, ну почему, вроде какие-то бета-версии Longhorn сливали (или, они «утекали»), можно предположить, что вы на них тестили
Кстати да, присоединяюсь, уже в 2003-2004 годах у меня точно был венч под 40 гигов, хотя семья у меня была обычная, а значит такие диски были не из разряда крутых уже в те времена.

Подтверждаю, мой первый комп куплен был в 2003 году и он имел на борту винт на 40гб, 256мб оперативы и видео на 64мб.


Я тоже из небогатой семьи и жил в провинции, т.е. подобная конфигурация была не из ряда вон (хотя и достаточно дорого). Думаю весь комп с монитором 17" обошелся в районе $1000, в кредит. Первый мобильный для сравнения у меня появился в 2005.

Да, у каждого есть свои наброски, попытки сделать что-то без навыков. Спасибо за статью, пробрало до глубины души, потому что все это, хоть и в меньшей степени и в другом виде, тоже проходил...

Ох, как знакомо — и Visual Basic 6 в примерно те же годы, и полетевший винт, похоронивший под собой готовую первую версию стратегии реального времени, и «отвлечение» на разработку ОС в седьмом классе…
Спасибо за статью :) Как и многим присутствующим, мне очень знакомо то, о чём вы пишете, хотя у меня проекты-недоделки были гораздо проще :)

Возник вопрос по поводу вашей игры в версии от 2013 года. На гифке в матче ЦСКА и Волги во втором тайме мяч влетает сперва в одни ворота, а затем в другие, но голы почему-то засчитываются в пользу ЦСКА. Почему? :)
«Потому что сха-а-авают».

Не знаю, честно говоря, кажется там мяч вообще двигался отдельно от голозабивательной логики. Надо будет код посмотреть ещё раз :)
А я мессенджер писал. Изобретал свой протокол поверх TCP, сообщения хранил в Paradox базе, но весь код был в обработчиках кликов по кнопкам. Button1_Click — и пошла простыня кода на пару сотен строчек. В мечтах было чуть ли не потеснить аську, даже название было Юраська.
Скриншот Юраськи
image
Я в 7ом классе писал «операционную систему» на QBASIC :)
По факту это была свалка всего что я тогда находил в возможностях языка методом тыкa или по самоучителям. Там была адресная книга, калькулятор, система настроек, текстовый / графический / аудио (!) редакторы. И даже нескучные обои! (Можно было свои картинки из графического редактора на фон ставить) Мышка не поддерживалась.
И все это в одном файле на несколько тысяч строк с кучей GOTО.
Нет, я не Денис. Но передавайте ему мои поздравления что он такой не один, который операционную систему нa qbasic'e писал :)
И тут попадание — я писал на нем оконный менеджер. Было вполне неплохо — окна могли перекрываться, перетаскиваться, кнопки-editbox-checkbox-radiobutton-шрифты — все работало.
Но с модулями. А потом пошел ядро пилить на языке ассемблера под 32 бита… Многие идут параллельными тропами.
Это всё звучит очень-очень круто.
Жаль, не посмотреть.
О не, у меня все было куда проще :) Keyboard-only интерфейс и VGA 320х200 в лучшем случае.

хм… у нас в школе оконный менеджер был одной из задач. Писали на модуле2 )

Сама по себе эта задача — средней паршивости, но работа с графикой там подчас была непростой, начиная от реализации шрифтов и заканчивая отрисовками при перетаскивании, буферизацией и пр.

Монументальный труд :)
У меня не было такой настойчивости, видимо поэтому не стал программистом. Но один законченный продукт в школе все-таки сделал: русское лото на языке basic для zxspectrum. Отец собирал компьютер сам из деталей, доставшихся по большому блату. Когда я тайком попытался включить его первый раз, накосячил с подключением проводов самодельного блока питания и спалил чип. :)
Кассеты с кодом программы не сохранилось, помню только, что номера выпадавших "боченков" генереровались рэндомно и заполняли массив единичками для уже выпавших ранее индексов. Если единичка уже была установлена, то номер боченка все равно генерился рандомно. И так до тех пор, пока не выпадал незанятый индекс. Под конец игры ждать приходилось доооолго. :) но зато играли в такое лото с братьЯми и знакомыми. :)

Из документации и наставников была только копия инструкции к компьютеру со списком команд.
Не могу поставить автору знаки отличия, кармы маловато :-)

А я думал, это я в школе фигней страдал… Не, я пришел в ИТ примерно так же — захотелось писать игры. И да, такую фигню тоже когда-то делал. Хорошо, это прошло очень быстро — классе в восьмом я решил, что надо бы что-то действительно крутое делать. Старшие товарищи показали сети, юниксы, Си и ассемблер и пообещали взять в Фидо. Вообще, у меня классная компания была тогда… Написать какой-нибудь эксплойт и потестировать на школьной сетке было в порядке вещей. Ну или разослать решение для контрольной по информатике прямо в VNC менее шарящим одноклассникам… А когда таки подобрали пароли к админским учеткам… Ох, тяжело, наверное, с нами было…
Когда у меня появился VB6, мне было уже за 20, написал на нем красивое домино, в которое с удовольствием играла мама, а в 15 лет на БК-0010 в досе на бейсике писал симулятор текстовой онлайн трансляции матчей. Играли две команды, например в баскетбол, мы с другом поочередно произвольно нажимали энтер и в зависимости от времени нажатия(там кажется INPUT ставился внутрь цикла), команда забрасывала мяч в корзину -2очковый или 3х-очковый, или не забрасывала. И это было так захватывающе в том возрасте. После 4х лет, убитых на онлайн соревнования по Heroes 3, интерес к любым играм пропал, но автор напомнил эти милые детские воспоминания.
Ох, хреново учиться делать игры по книжками, описывающим накидывание кнопочек на форму.

Мне вспомнилось, как я в девятом классе делал космическую стрелялку на Дельфи. Понятно, что все спрайты лежали в отдельных Image и двигались изменением .Left и .Top. Но мало этого — лазерный луч, которым выполнялась стрельба, представлял собой Panel толщиной в несколько пикселей. При стрельбе у неё изменялись длина и координаты так, чтобы получилось уместиться между моим кораблем и кораблем противника. Вообще, сначала делал стрельбу летящими пулями, но запутался в куче таймеров (они, ясное дело, были все отдельными объектами, лежащими на форме, поэтому выбор из них следующего свободного был не очень изящен) и переделал всё на мгновенно поражающий цель лазер.
Виртуальным футболистам бы нейронную сеть небольшую в качестве искусственного интеллекта, и наблюдать за самообучением. Можно потом обмениваться футболистами, кто круче прокачает ))
А нет такой готовой программы/игры? Наблюдать за развитием виртуальных существ живущих самим по себе? Не охота изобретать велосипед, если вдруг уже всё написано.
вот чтобы прям такого как у вас — нет, но похожая концепция была в Black&White печально известного Питера Молинье: там в ходе игры надо было воспитывать и обучать собственного «питомца» (животное), утверждалось, что благодаря «алогритмам» каждый из питомцев будет уникальным, индвидуальным и т.п. уж не знаю, насколько это на самом деле правда и сделаны ли питомцы были реально на основе нейронной сети, а не просто на какой-нибудь имитации. но, если верно помню, ими можно было действительно обмениваться через интернет.

Судя по всему — такое было у всех :) я конечно на много раньше этим занялся, году так в 98ом, и не игры меня приобщали, а разные утили для входящего в жизнь интернета…
Но код и подход очень похожи :)
Прям за живое статья задела. Респект.

Я поступил на инфобез, кажется, только из-за диска «всё, что нужно хакеру», который у меня появился примерно в то же время :) очень затягивало разбирать игры с первого диска утилитами со второго
Да, ностальгия. 2002 год, 8 класс, первый ПК Celeron 300A, Visual Basic 6, какие-то простейшие игры и приложения. На память сохранил установочный диск. Только что вставил, как и 16 лет назад все так же предлагает установить эти легендарные IDE прошлого.
CD-ROM



Вдохновился и пошел делать симулятор квиддича
1998-й, 9-й класс, интернета нет, попался мне диск очередной, на котором помимо прочего был Delphi. Нарисовал кнопку, скопил денег и купил книгу, к книге прилагался диск, на котором, помимо прочего, подборка Delphi Magazine в pdf и компоненты, включая DelphiX (для работы с DX) с примерами кода.

И понеслась:

1) чат на DirectPlay для развлечения на уроках информатики с «администрированием» (путем отправки спец-сообщений обычным текстом), включающим в себя кучу ерунды наподобие изменения оформления окна другого пользователя или замену его ника с видимостью для всех и т.п.

2) рулетка на DirectX… работала, но до ума не довел: колесо почему-то представляло собой не что-то цельное, а отдельные спрайты с ячейками, они некоторое время работали нормально, а потом начинали «разлепляться» или, наоборот, накладываться. Причин не удалось выявить.

3) Без сторонних компонентов, моя гордость того времени (думаю, потому что каждое придуманное мной решение для нужной операции над String-ами ощущалось как серьезное открытие) — программа для шифрования текста по алгоритму, который в то же время вычитал в журнале Reader's Digest. Кода, к сожалению не осталось, а хотелось бы сейчас посмотреть, почему же она работала так медленно (10-20 строк в секунду шифровала, что было видно, так как они по одной добавлялись в один из двух TMemo).

Программистом не стал.
Чтение ностальгических постов породило желание поделиться своими воспоминаниями. Хотя никакого подобно хардкора у меня не было совсем. Первый комп появился в 2003 году, на первом курсе. Это был Celeron 2,7 (или 2,3)ГГц, 512 Мб ОЗУ, 128 Мб GeForce какой-то, уже и не вспомнить. Странно, что увлечение играми как быстро нахлынуло, так же быстро и прошло. Помню, что проходил первую Мафию сутки напролет после первой успешно сданной сессии. И, вроде, еще первый FarCry. Точно был первый NFS Underground. Остальное не вспомнить, хотя точно что-то было еще.

А первый опыт осознанного программирования был на уроках информатики на Паскале и немного AutoLisp (встроенный язык AutoCAD), поскольку учился я на строительном факультете на специальности САПР. Понравилось, было интересно. В качестве дипломной работы была написана программка на Delphi 2007, которая на основе пользовательских данных строила массив грунта, рассчитывала координаты узлов конечных элементов после разбиения на сетку трехмерных конечных элементов а затем экспортировала это в виде текстового файла, размеченного на языке препроцессора Ansys с целью дальнейшего расчета уже в Ansys. Глобальной целью было нелинейное моделирование поведения грунтового массива состоящего из слоев разных пород под нагрузкой от основания здания. Жаль, тогда мне это казалось ничего не стоящими жалкими потугами и сохранением тех результатов я не озаботился.

После успешной защиты еще лет десять работал инженером-конструктором в строительстве, и лишь пару лет назад перебрался полностью в сферу разработки ПО. Перетрогав Php, Ruby on rails, Python в итоге погрузился в мир кровавого энтерпрайза на Java.
Что самое печальное — читая все комментарии выше и вспоминая свои аналогичные эксперименты — я вспоминаю, как же здорово, весело, интересно было это делать. И насколько скучными бывают подчас нынешние повседневные задачи при профессиональном занятии программированием.
Любопытно, что у тех, кто в итоге настоящим программистом не стал (как я, например, не сложилось), нередко сохраняется представление о том, что программирование — это обязательно так же увлекательно и интересно, как это было в подростковые годы и в юности. Я лично до сих пор жалею, что не пошёл по пути программирования. Всё время к нему возвращаюсь, но уже в качестве одного из хобби, в котором я всё больше и больше отстаю и никак не могу нагнать.
а текстуры кто рисовал? и на сколько ты продвинулся как программист за лет? насколько сложную задачу можешь решить? можешь написать мне например программку которая по значку будет вызывать код? а сделать из этого рабочий модуль? что бы не нужно было писать каждый раз для часто повторяемой процедуры?
Спасибо что поделились минутками тепла и ламповости.
Откопал тут в архиве своём, живое, работает.
2003 год, офигеть.
Вот думаю тоже статью чтоль написать ламповую… Там тоже есть чего интересного олдскула, и сурцы сохранились, причём не самого позорного качества. ;)

У меня от этого скриншота голова закружилась %)
Из-за сложности переключить мозг на отгадывание такого? :) Есть такой эффект поначалу, но там есть фишка упрощающая жизнь — при зажатом Ctrl показывается бордер-рамка соседей клетки под мышой, и не только.

У меня ещё есть, правда уже 2006 и делался в боольшой спешке за несколько дней, включая карандашом-попиксель-арт в MS Paint для клеточек, флагов, мин и др.



Из-за плохой связности 6-плитки раскрыть поле в обычном стиле просто нереально для аналогичного обычному «эксперту» проценту мин. Но мало мин было не так интересно, и даже тогда сплошь и рядом часты были гадания.

Потому в хексапёре я сделал фичу, что штатная мина убивает не совсем, а 90% хп, и они со временем регенерируются. Не очень быстро. Так что открыть можно любое поле и вопрос в скорости.

И чтоб было более интересно, сделал три типа мин, обычные которых большинство, немного некондиционных, которые били чуть больше 50% хп, и изредка можно было наткнуться на бракованую, которая не взрывалась. :) Прекрасные времена и часы «тестирования».
Из-за сложности переключить мозг на отгадывание такого?


так, вроде как, треугольный наоборот легче должен быть, т.к. соседних клеток меньше — меньше вариантов для перебора, нет?
Как и в квадратном сапёре, угловое касание в счёт. 12 соседей.
Впрочем, повышенная связность с другой стороны и помогает, хотя слово «лёгкий» я бы точно не стал брать )
Sign up to leave a comment.

Articles