Как стать автором
Обновить
-11
0
Сергей @tac

Программист

Отправить сообщение

MVC без контроллера

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров7.6K

Прошло уже лет 25 со дня изобретения концепции Model‑View‑Controller, а споры и её модификации не завершаются по сей день. Хотя очевидно, что в изначальном виде эта концепция ужасна, не объектно‑ориентирована и избыточна. А избыточно именно наличие контроллера, в то время как разделение визуализации и бизнес‑логики является сердцем этой концепции, из‑за чего и живет эта идея до сих пор. Но вопрос контроллера замыливается, хотя понятно, что на его месте должна быть реализация биндинга. Особенно, когда в игровом движке Unity это биндинг уже есть изначально, хотя и появился косвенно. Об этом подробно рассказываю в следующем видео.

Читать далее
Всего голосов 20: ↑1 и ↓19-18
Комментарии20

Когда в Unity нужно MVC, как сделать Binding визуальных контроллов с методом

Время на прочтение4 мин
Количество просмотров4.5K

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

По ссылке "Когда нужно MVC, как сделать Binding визуальных контроллов с методом (UNITY, C#, Разработка игр)" вы можете послушать меня, а кто хочет почитать прошу подкат.

Читать далее
Всего голосов 6: ↑2 и ↓4-2
Комментарии17

Как учат создавать игру вида TowerDefence — ошибки «новичков»

Время на прочтение3 мин
Количество просмотров13K
Достаточно много времени я потратил на рефакторинг одного проекта, который судя по заявлениям автора проекта был основой для обучения студентов в МФТИ. Выполнен этот проект просто ужасно, учить так студентов — пожалуйста так не нужно.

Весь рефакторинг выполнен онлайн в виде 6 частей, каждая по 2-3 часа стримов на ютубе, ниже я дам только ссылку на затравку, а полные стримы вы сможете найти на том же канале.
Разбор чужого кода — так учат делать Tower Defence

В статье же, будет представлена сухая выжимка — резюме, что было сделано в рефакторинге и подискутируем на тему — почему так не правильно учат? Если же у вас на первый взгляд появится субъективное мнение, что я где-то не прав, это нормально. Но лишь задумайтесь, если я на протяжении порядка 15 часов рефакторингов только и делал то, что удалял лишние сущности и связи между ними, то может все таки в моем взгляде есть что-то?



Читать дальше →
Всего голосов 14: ↑7 и ↓70
Комментарии60

Сделать свою игру — просто? Или почему мечты часто остаются мечтами

Время на прочтение5 мин
Количество просмотров5.9K
Конечно, я расскажу вам просто несколько банальностей, в которые никогда не поверил бы сам в начале своего пути. Да и путь не большой и не сильно успешный. Просто немного хобби, но после которого проясняется взгляд, позволяющий сказать какой проект имеет шанс на успех, а какой заведомо неудачен. Конечно, мой путь один из таких, и теперь я жалею только время, которое потерял, а вам мой читатель может быть лишь интересно какие ошибки я в свое время сделал.
Читать дальше →
Всего голосов 38: ↑11 и ↓27-16
Комментарии14

Картирование интернета

Время на прочтение5 мин
Количество просмотров5.4K
Сидя на диване и в очередной раз придумывая безумную идею, из разряда того что глобально, а я на уровне хобби этим еще не позанимался, мне эта идея все таки пришла :).

Прикинув, что у того у кого информация, у того и возможности для работы с аудиторией, я задался вопросом почему так мало поисковиков в интернете. Ну гугл, яндекс, рамблер, ну и что то там еще, что пересчитать по пальцам легко. А ведь они аккумулируют практически подавляющие большинство пользователей интернета. Через них проходят большое число пользователей и от них же в определенной мере зависит куда направить пользователя. Да и фирмы в определенной мере раскручиваются не хитрыми способами влияния на ботов того же гугла.

А есть ли результат? У кого нибудь есть представление о том, сколько существует русскоязычных ресурсов? А есть ли возможность посмотреть их ранжированные списки как по частоте использования и тематическому разделению. Пытаются говорить о семантическом интернете, а вот такого даже элементарного порядка в структурировании похоже нет. Сказав себе «кто же если не мы», я пошел реализовывать эту идею и подходы к её решению. Но главное понял основную сложность, которая как и много где просто упирается в ресурсы, в данном случае процессорного времени. Тем кому интересны изыскания новичка в обозначенной области, но со свежим взглядом, прошу под кат.

Читать дальше →
Всего голосов 29: ↑8 и ↓21-13
Комментарии49

JavaScript to TypeScript — трудности перевода

Время на прочтение7 мин
Количество просмотров15K
Наверно многие в курсе, что у JS достаточно ограниченно реализовано ООП. Одних уровень ООП в JS устраивает, другие не видят необходимости придерживаться правил ООП, другие без ООП не могут писать код. Тут мы попробуем без холивара разобраться в некоторых ньансах перехода с JS на TS.

О мотивации перехода мы поговорим в заключении статьи и скорее для тех, кто понимает важность качества кода. Но пару слов все же скажем вначале. Когда Вы делаете небольшой тестовый код, с неясным коммерческим статусом — то вряд ли вы будите этот код прилизывать. А ООП это хороший способ прилизать код, это не сколько не влияет на функциональность вашего кода, даже наоборот, часто задерживает быстрое написание тех фич, которые вы решили сделать. Иногда даже страдает производительность. Но наверное каждый знает тот уровень, когда ему самому уже сложно разобраться в своем коде, тогда вы начинаете его просматривать и время от времени подумывать о рефакторинге. Если ваш язык интерпретируемый, без строгой типизации и не достаточно хорошо поддерживает ООП, то вы этот момент будет оттягивать долго — но я рекоммендую все же об этом задуматься. Если ваш язык JS — хорошим вариантом будет его перевести на TS, вы ничего не потяряете это уж точно. Но есть некоторые сложности, из-за которых в процессе перевода вы можете засомневаться в правильности такого решения.
Читать дальше →
Всего голосов 44: ↑13 и ↓31-18
Комментарии40

RNAInSpace и фолдинг тРНК — закрытие сезона, новый сезон — Структурное выравнивание

Время на прочтение5 мин
Количество просмотров2.9K
И вот не прошло и полтора года как я добрался собрать третичную структуру тРНК. Напомню, что ранее писал статью на эту тему на хабре «Развитие RNAInSpace, алгоритм CRA, проблемы кода на Linux и прочие». Надо сказать, что около года я этим не занимался, но за это время вышла вторая моя научная статья на эту тему «Применение теории игр для задачи сворачивания рибонуклеиновых кислот» (это для тех, кто захочет поговорить об этом профессионально). Но вот недавно я можно сказать получил третичную структуру тРНК и сверил её с образцом, имеющимся в базе данных (PDB), который получен биологическими методами (кристалография).

Под катом рисунки 3D-структуры тРНК, пояснения и планы на будущее.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии12

Проблематика получения преимуществ с помощью ботов и твинков

Время на прочтение9 мин
Количество просмотров7.3K
Написать данную статью меня побудил спор на просторах интернета, а так же давно наблюдаемая бессмысленная борьба с ботами в играх и дополнительными аккаунтами, заводимыми для того, чтобы играть за второго персонажа, чтобы дать преимущество своему основному персонажу. Сразу скажу, что такая проблема возникает только в низко интеллектуальных играх. Более того, можно смело утверждать, где такая проблема есть — эта проблема возникает только из-за того, что разработчики не захотели, не смогли сделать сбалансированную и интеллектуальную игру. Просто подумайте, чем Вам поможет новый аккаунт, если Вы будете играть в шахматы? Ну, скажите Вы, шахматы :) Но принцип можно распространить и на все другие игры. Тогда меня спросили:
Как вообще можно сделать игру, в которой два персонажа не имеют преимуществ перед одним?

В разрабатываемой мной игре «Кибер развитие» это реализовано, может еще не окончательно, но в значительной мере. А тем кому действительно интересен ответ — читаем дальше…

Читать дальше →
Всего голосов 25: ↑7 и ↓18-11
Комментарии32

Игры как моделирование реальности

Время на прочтение10 мин
Количество просмотров12K
В статье рассказывается о определенном, можно сказать новом жанре игр. Задуматься об этом меня заставило интервью с Николаем Дыбовским из компании Ice-Pick Lodge, интернет-статьи пользователя под ником Orgota, мой опыт игр в игры жанра «Песочница» и сравнительно небольшой опыт создания игры «Кибер развитие».
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии20

Браузерная игра «Кибер развитие» — обновление

Время на прочтение5 мин
Количество просмотров4K
На хабре, я написал целый ряд статей, где рассказывал о ходе разработки этой игры от идеи к реализации. Все было поначалу очень сыро, но постепенно мы совершенствуемся: перешли на постоянный адрес, стабильно работает форум и чат, хорошие люди помогли с графикой, ведется работа над интерфейсом и конечно каждый день совершенствуется концепция. Ниже ролик на ютубе, который раскрывает основные концепции игры, которые уже меняться вряд ли будут, но ряд моментов не вошли в ролик, например, экран боев между рыцарями — там еще надо поработать.

Играть можно тут



Внимание боты ...
И еще, что важно сказать в самом начале. Если Вы посмотрите на мои статьи на хабре, узнаете, что я занимаюсь в том числе искусственным интеллектом. Концепция игры предполагает создавать ботов. На самом деле и для простых игроков тут уже автоматизирован целый ряд моментов. Но среда игры такова, что современные методы искусственного интеллекта не позволяют однозначно получить выигрыш используя бота. В тоже время игра легко ложится в формализацию, которую можно описать так "поиск некоторого состояния персонажем игры, при котором будет максимизироваться некоторый критерий при заданных ограничениях". Отсюда возникает возможность устроить соревнования ботов. Поэтому призываю к дискуссии, кто хотел бы этим заняться я готов содействовать и написать для этого API.

Читать дальше →
Всего голосов 20: ↑4 и ↓16-12
Комментарии20

Где наша бизнес-логика для идеалиста?

Время на прочтение11 мин
Количество просмотров25K
В этой статье я попробую сам разобраться в себе и в своих аргументах. Для начала попробую оппонировать автору статьи, перевод которой нашел на хабре Где наша бизнес-логика, сынок?. Её писал такой же идеалист, которым я был еще лет 10 назад. Поэтому по сути в этой статье я буду спорить сам с собой. Дело в том, что чем больше приложений я разрабатываю тем больше красивые теории перестают вписываться в идеальные схемы. Идеальные схемы хороши тем, что они просты. Вас спрашивают где бизнес слой? И ты легко можешь сказать на стороне клиента или на стороне сервера. Если смешенно многозначительно крутят носом и говорят «гавно-код». С этим я не согласен. Реальный мир не вкладывается в идеалистические концепции, точнее его можно туда запихнуть, но мы от этого скорее потеряем. Поэтому вначале подсознательно я понимал, что есть разные случаи. А теперь все более пытаюсь сформулировать, что влияет на то или иное решение по размещению бизнес логики. Здесь мы оставим красивые теории без аргументации молодым утопистам желающим простых решений.

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии37

Браузерная игра «Киберсеть» — продолжение

Время на прочтение10 мин
Количество просмотров6K
Продолжаю рассказывать о своем стартапе по созданию браузерной игры. Читая прошлые три статьи можно видеть некоторый путь от сырой идеи, через попытку создать прототип, и я надеюсь теперь к более менее цельной концепции игры. Правда в области графики до сих пор остаются проблемы — не могу найти толкового дизайнера-художника компьютерной графики, а сам этим увы заниматься не умею. Но кто готов закрыть на это глаза и попробовать мою бета версию — милости прошу — играть можно тут, а кому то может быть будет полезен мой опыт.
Читать дальше →
Всего голосов 29: ↑7 и ↓22-15
Комментарии101

Опрос — какой интерфейс предпочтительнее для финансового ПО?

Время на прочтение1 мин
Количество просмотров4.7K
В связи с некоторыми новыми веяниями хотелось бы узнать мнение пользователей бухгалтерских, банковских и прочих финансовых приложений по поводу того какая стилистика интерфейса им больше по душе.
Всего голосов 14: ↑4 и ↓10-6
Комментарии16

Браузерная игра «Киберсеть» — успехи и неудачи проекта

Время на прочтение5 мин
Количество просмотров5.3K
Игра «Киберсеть» — это браузерная пошаговая игра с воссозданием экономики и устоев общества. Её отличительная черта в том, что сами игроки могут совершенствовать игровой мир изобретая и создавая разнообразные продукты. Эта игра в отличии от аналогов не требует постоянного присутствия в игре, но в ней и не нужно мучительно долго ждать пересчета игровой ситуации. Вы просто играете когда у вас есть время управлять агентом.


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

А играть можно здесь.

Читать дальше →
Всего голосов 18: ↑7 и ↓11-4
Комментарии24

Браузерная игра «Киберсеть» — социально-экономическая стратегия

Время на прочтение4 мин
Количество просмотров6.8K
Два месяца назад я описал идею об этой игре (см. Экономическая симуляция как игра для программистов), после чего откликнулось достаточно много энтузиастов. В силу разных причин более менее постоянных участников осталось 2-3. Первое время шло у нас как-то медленно, но уйдя в отпуск я нашел для этого побольше времени. И вот встречайте первый прототип. По сути уже можно полноценно играть, но возможны баги и некоторые неудобства, но надеюсь не критичные. При улучшении игры состояние всех игроков будет сохранено.

И далее я уже даже запланировал второй этап развития игры. Но обо все по порядку…

Но можно все это не читать, а сразу играть :) — Браузерная игра «Киберсеть»

Читать дальше →
Всего голосов 17: ↑8 и ↓9-1
Комментарии123

Экономическая симуляция как игра для программистов

Время на прочтение6 мин
Количество просмотров28K
Хотелось бы создать некую игру экономической симуляции и рассказать какого рода она может быть и почему она представляет интерес. Причем интерес не только игровой, но и научный в рамках искусственного интеллекта. Т.е. так чтобы программисты могли писать ботов, задачей которых было бы управлять предприятием/игровым агентом автоматически. Поэтому хотелось бы найти единомышленников.

Наибольший интерес представляет тут то, что 1000 реальных игроков играющих по сети могут создать достаточно интересную среду. Пример этого я нашел в игре «Виртономика» (о которой вкратце расскажу). Ни какой идеальный симулятор розничных продаж не будет так интересен. А игроки делают ошибки или выбирают те или иные акценты при развитии. Отсюда поведение которое потребуется от автомата управляющим таким предприятием будет не банальным в рамках известных методов, и тут есть что изучать.

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

Читать дальше →
Всего голосов 44: ↑29 и ↓15+14
Комментарии75

Анализ генома бактерий. Продолжение

Время на прочтение3 мин
Количество просмотров5K
В предыдущей статье, обсуждение получилось слишком крикливым. Но мы открыли свой сайт и там будет более расширенная информация (где? — пишите письма). Я обещал написать продолжение о своем эксперименте, поэтому те кто заинтересовался проблематикой построения эволюционных деревьев — прошу под кат.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии7

Проект «Геном прокариот» — научный стартап

Время на прочтение11 мин
Количество просмотров13K
Этот проект был задуман давно. Лет 5 назад я считал, что многие результаты в геномике могут быть получены людьми далекими от биологии, коим я в полной мере являюсь. Конечно за это время я немного нахватался терминологии и немного узнал как работают специалисты. Но чем больше я узнавал как работают специалисты тем большие отторжение это у меня вызывало. Я считаю, что они явно много незаслуженно усложняют в результате чего непростая область становится непроходимой. В то время как все достаточно просто и качественно можно сделать. И да я с ними пытаюсь конкурировать (конечно, только в определенной узкой области), как бы наивно это не выглядело.

Вся проблема этого проекта — это то, что я его единственный полноценный участник. Конечно, я успел со многими за это время поговорить и многие оказали реальное влияние на проект. Всем им спасибо. Понятно, что некоммерческий проект не сильно может рассчитывать на успех. Да, действительно за каждым научным проектом стоит солидные около миллионные вливания и команда серьезных ученных. У нас этого нет, а есть лишь гуманизм и энтузиазм.

Поэтому в первую очередь я нуждаюсь в советах от тех у кого есть опыт в стартапе подобных проектов на не коммерческой основе. Во вторую очередь, нужна собственно команда программистов (от знания биологии, при необходимости, я вас освобожу :) ). А сейчас я хотел бы найти таких энтузиастов, которые могли бы обеспечить работу (скажем скромно) домашней веб-страницы проекта (прошу писать мне на почту tac@inbox.lv или личными сообщениями хабра). И конечно, важен любой другой отклик и предложения.

А ниже я расскажу идею и то на что претендует проект, а также о текущих результатах, а они в худшем случае сравнимы с теми которые дают специалисты. Но я вполне самокритичен, поэтому всегда готов выслушать критику — желательно не в мой адрес, а в адрес проекта.

Читать дальше →
Всего голосов 23: ↑13 и ↓10+3
Комментарии110

Дарвиновская эволюция бактерий — полная картина

Время на прочтение8 мин
Количество просмотров18K
Я начну с провокационного заявления — «биологи не публикуют детали своих исследований». Казалось бы столько статей, столько исследований… но где описание и детализация информации, которая получена? Её в принципе нет. А статьи без такой информации пусты и спорны. Каждый нахваливает свой метод, но много ли кто озаботился верификацией чужих данных, а главное смог ли он её сделать?

Можно лишь приветствовать появление таких биоинформационных баз как NCBI genomes и PDB, в которые исследователи помещают данные о секвенированных геномах и структурах РНК, белков. И главное, некоторые ученные прежде чем опубликовать статью, прежде помещают данные в биоинформационные базы.

Вы скажите есть много других баз — но я вам скажу они менее серьезные, и как правило перепосты этих двух с некоторой адаптацией. Но главное, что вся другая биоинформационная информация, можно сказать вторичная — не помещается в базы. А в статьях тем не менее идут различные спекуляции.

Конечно, так оно выглядит только для таких дилетантов как я. У настоящих же профессионалов все как в аптеке. Поэтому можете не утруждать себя ответом на эти пафосные заявления. Мы просто поговорим как выглядит биоинформатика в её частных областях глазами дилетанта. Но может и вас эта история к чему нибудь побудит.

Мы поговорим ниже о построение дерева эволюции согласно Дарвину, посмотрим на сколько это справедливо и таки я в итоге дам полное дерево (в рамках имеющейся информации) эволюции бактерий на основании самых консервативных генов тРНК. И дам пояснение о методе построения такого дерева.

Специалистам в биоинформатике рекомендую читать с раздела №5, пропустив весь мой пафос.

Читать дальше →
Всего голосов 39: ↑26 и ↓13+13
Комментарии47

Систематика прокариот — детализированные пояснения

Время на прочтение4 мин
Количество просмотров8.8K
В предыдущей статье я не сильно утруждал себя детальным описанием идеи. Мне казалось она интуитивна понятна и элементарна. Но после дискуссии с Davidov понял, что идею не так то просто схватить. Дело в том, что сейчас классические представления в филогенетике строятся на одной догме, которая искажает мировоззрение биологов.

Когда мы строим эволюционное дерево — мы конечно же хотим знать в какой последовательности во времени видообразовывались виды. Но классическая филогенетика объявила, что это не научно ставить такой вопрос. И по сути расписалась в своей беспомощности. Действительно, судить о времени видообразования, в то время как эволюционный процесс идет каждую минуту сложно. Но можно. Пояснить как это можно и призвано данное детализированное объяснение.

Читать дальше →
Всего голосов 12: ↑6 и ↓60
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Game Developer, Software Architect
Lead
C#
OOP
ASP.Net
MSSQL
Game Development
C++
Programming microcontrollers
Software development
WPF
Unity3d