Pull to refresh
-10
0
Сергей @tac

Программист

Send message

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

Level of difficultyMedium
Reading time2 min
Views7.7K

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

Читать далее
Total votes 20: ↑1 and ↓19-18
Comments20

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

Reading time4 min
Views4.7K

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

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

Читать далее
Total votes 5: ↑1 and ↓4-2
Comments17

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

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

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

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



Читать дальше →
Total votes 13: ↑6 and ↓70
Comments60

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

Reading time5 min
Views5.9K
Конечно, я расскажу вам просто несколько банальностей, в которые никогда не поверил бы сам в начале своего пути. Да и путь не большой и не сильно успешный. Просто немного хобби, но после которого проясняется взгляд, позволяющий сказать какой проект имеет шанс на успех, а какой заведомо неудачен. Конечно, мой путь один из таких, и теперь я жалею только время, которое потерял, а вам мой читатель может быть лишь интересно какие ошибки я в свое время сделал.
Читать дальше →
Total votes 38: ↑11 and ↓27-16
Comments14

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

Reading time5 min
Views5.4K
Сидя на диване и в очередной раз придумывая безумную идею, из разряда того что глобально, а я на уровне хобби этим еще не позанимался, мне эта идея все таки пришла :).

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

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

Читать дальше →
Total votes 29: ↑8 and ↓21-13
Comments49

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

Reading time7 min
Views15K
Наверно многие в курсе, что у JS достаточно ограниченно реализовано ООП. Одних уровень ООП в JS устраивает, другие не видят необходимости придерживаться правил ООП, другие без ООП не могут писать код. Тут мы попробуем без холивара разобраться в некоторых ньансах перехода с JS на TS.

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

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

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

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

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

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

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

Читать дальше →
Total votes 25: ↑7 and ↓18-11
Comments32

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

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

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

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

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



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

Читать дальше →
Total votes 20: ↑4 and ↓16-12
Comments20

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

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

Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments37

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

Reading time10 min
Views6K
Продолжаю рассказывать о своем стартапе по созданию браузерной игры. Читая прошлые три статьи можно видеть некоторый путь от сырой идеи, через попытку создать прототип, и я надеюсь теперь к более менее цельной концепции игры. Правда в области графики до сих пор остаются проблемы — не могу найти толкового дизайнера-художника компьютерной графики, а сам этим увы заниматься не умею. Но кто готов закрыть на это глаза и попробовать мою бета версию — милости прошу — играть можно тут, а кому то может быть будет полезен мой опыт.
Читать дальше →
Total votes 29: ↑7 and ↓22-15
Comments101

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

Reading time1 min
Views4.7K
В связи с некоторыми новыми веяниями хотелось бы узнать мнение пользователей бухгалтерских, банковских и прочих финансовых приложений по поводу того какая стилистика интерфейса им больше по душе.
Total votes 14: ↑4 and ↓10-6
Comments16

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

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


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

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

Читать дальше →
Total votes 18: ↑7 and ↓11-4
Comments24

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

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

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

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

Читать дальше →
Total votes 17: ↑8 and ↓9-1
Comments123

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

Reading time6 min
Views28K
Хотелось бы создать некую игру экономической симуляции и рассказать какого рода она может быть и почему она представляет интерес. Причем интерес не только игровой, но и научный в рамках искусственного интеллекта. Т.е. так чтобы программисты могли писать ботов, задачей которых было бы управлять предприятием/игровым агентом автоматически. Поэтому хотелось бы найти единомышленников.

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

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

Читать дальше →
Total votes 44: ↑29 and ↓15+14
Comments75

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

Reading time3 min
Views5.1K
В предыдущей статье, обсуждение получилось слишком крикливым. Но мы открыли свой сайт и там будет более расширенная информация (где? — пишите письма). Я обещал написать продолжение о своем эксперименте, поэтому те кто заинтересовался проблематикой построения эволюционных деревьев — прошу под кат.
Читать дальше →
Total votes 10: ↑6 and ↓4+2
Comments7

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

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

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

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

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

Читать дальше →
Total votes 23: ↑13 and ↓10+3
Comments110

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

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

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

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

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

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

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

Читать дальше →
Total votes 39: ↑26 and ↓13+13
Comments47

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

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

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

Читать дальше →
Total votes 12: ↑6 and ↓60
Comments11

Information

Rating
Does not participate
Registered
Activity

Specialization

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