Search
Write a publication
Pull to refresh
10
0.3

JavaScript-разработчик

Send message

Разработка 2D игр на Windows, Mac OS, Linux и Android без программирования. Часть 2

Reading time9 min
Views42K
image

Привет Хабравчане!

Сегодня я хочу рассказать вам о том, как можно сделать игру без навыков программирования. И да, это не просто красивое и заманивающее название, в созданную игру можно будет играть на Windows, Mac OS, Linux, Android и может быть даже на… iOS? Но об этом позже. Перед началом чтения статьи, я хочу дать вам мое понимание того, что создание игры без навыков программирования – это действительно не круто. Но знаете что еще больше не круто? Тот факт, что вы, владея языками программирования, сутками работаете над кодом, путая ваше рабочее место с постелью, нанимаете дизайнеров, договариваетесь со знакомыми музыкантами, платите рекламщикам, выпускаете свой продукт, а он не окупается! Ну, то есть игру, вашу, в любом случае будут скачивать, и какой-то доход будет капать. Но, будете ли вы довольны тем, какой в итоге получилась ваша игра, и как она продается? К чему я это все говорю? Если у вас в голове живет яркая идея, и вы давно хотите попробовать себя в создании игр, но единственный ваш тормозной элемент, это незнание компьютерных языков, смело пробуйте себя в этом деле. Если же вы владеете языками программирования, и может быть наплодили уже пару не плохих проектов, которые приносят прибыль, данная статья так же будет вам полезна. Я не советую никому здесь бросать все свои знания программирования, и начинать лепить игры в программе, о которой пойдет речь. Мое мнение на этот счет, достаточно простое. С помощью данного приложения, вы сможете создать презентацию вашей игры, затратив намного меньше времени, или как минимум ролик геймплея, который можно будет бросить на YouTube, создать шумиху, получить обратную связь, и работать над игрой, грея себя приятной мыслью, что ваша идея работает, люди ее оценили и ждут. Это не значит, что создание игр, в этой программе, ограничится лишь демо-версиями. Если вы действительно вложитесь душой в это дело, то спокойно сможете создавать полноценные проекты.
Читать дальше →

Агрегация и осведомленность

Reading time11 min
Views15K
Механизм агрегации объектов — одна из замечательных возможностей моего JavaScript-фреймворка jWidget, которой нет в большинстве других фреймворков. Хочу подробнее о ней рассказать, потому что она помогает с легкостью решать широкий спектр типичных задач, стоящих перед разработчиками клиентов веб-приложений по архитектуре Model-View. Будет мало картинок, зато много интересного кода.

Я кратко описал механизм агрегации объектов в разделе 1. Классы и объекты прошлой статьи. Статья вышла полтора года назад. С тех пор произошло 4 крупных обновления фреймворка, но философия сохранилась. С опытом, было создано несколько потрясающих паттернов структурирования кода на базе механизма агрегации, позволяющих значительно сократить объем кода и сделать его проще. Для начала, напомню, что это такое.

Читать дальше →

50 лучших инструментов для разработки CSS и JavaScript

Reading time3 min
Views74K
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.

Лучшие инструменты для CSS и JavaScript


1) Fileicone

Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

image

2) Marx

Элегантное обнуление CSS безо всякого JavaScript.

image
Читать дальше →

Custom Tree View

Reading time3 min
Views20K
Здравствуйте Хабралюди!

Сейчас буду рассказывать об одном «дереве».

Зачем и почему нужны «деревья» – Вы знаете лучше меня.

Понадобилось для одного проекта «дерево» (tree view).
Известные реализации в порядке важности\значимости для лично меня:

Т.е., можно сказать, что я на них «засматривался».

UPD:
Во-первых хочу отметить, что очень сильно уважаю приведенные примеры.
Во-вторых, данный компонент по очень многим параметрам сильно проигрывает.
В третьих — чтобы получить хотя бы что-то схожее с jsTree, например, нужно будет много своего кода написать.

Но, тем не менее решил запилить свой компонент.

Для самых нетерпеливых: ссылка на пример в работе.

Мало-мало описания под катом

Jiant. Модели для фронтенд приложения

Reading time6 min
Views7.7K

Предисловие


Цель данного поста — популяризация веб-фреймворка Jiant и поиск людей, которые хотели бы принять участие в его раскрутке, создание сообщества для дальнейшего развития и распространения фреймворка. Jiant активно использует JQuery и естественно с ним взаимодействует, выполняя свою цель по организации и упрощению веб приложений любой сложности.

Целевая аудитория — полагаю, будет полезно любому веб-разработчику, но особенно тем кто пришел с сервера — например, из джавы.
Читать дальше →

Распознаем коды Морзе с использованием Rx.js

Reading time6 min
Views18K


Задача: на входе сигналы с клавиатуры (keyup, keydown) — на выходе буквы и слова декодированные по азбуке Морзе. О том, как декларативно решить данную задачу используя FRP подход, в частности Rx.js — ниже под катом. (Зачем? Because we can)
Читать дальше →

Использование МатАнализа в компьютерных играх

Reading time10 min
Views30K

Введение


Во многих играх, особенно РПГ очень большое значения имеют «статы». Атака, защита, сопротивление, урон, пробивание брони, промахи и прочее влияют на наносимый противнику урон или вами от противника получаемый. Чаще всего игроки предпочитают придерживаться тактики – «чем больше всего и сразу, тем лучше». Такой подход скорее вызван не продуманной стратегией развития персонажа, а отсутствием детального анализа игры, лени, или же недостатком информации о конкретном характере(конкретной расчётной формулы) влияния «статов» на те или иные показатели. Более того, очень часто, по задумке создателей игры, бывает невозможно увеличивать все характеристики одновременно, и поэтому правильно выбрать «что и куда «вкачивать» становится особенно важно.

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

Метод будет описываться на примере вычислении силы заклинаний питомцев от интеллекта, и процент снижения получаемого урона игроком от суммарной величины защиты в игре ArcheAge. Собственно основа метода это «Метод наименьших квадратов», который очень широко известен и очень часто используется в разных областях. Для вычислений будет использоваться Wolfram Mathematica (любая версия). Собственно пошаговое описание того, что нужно делать для получения интересуемого закона и является основной ценностью данной статьи. Те, кто знаком с МНК и Wolfram Mathematica, могут перейти непосредственно к примерам.

Метод наименьших квадратов (МНК)

Читать дальше →

Конрад Цузе: мечтатель, создавший первый компьютер

Reading time10 min
Views52K
Вторая мировая война дала мощный толчок развитию техники и науки. Военно-промышленный комплекс всегда собирал огромные человеческие, денежные и другие ресурсы. И нацисты в своей одержимости к мировому господству, особенно рьяно трудились над изобретениями и научно-техническими инновациями. Тем ни менее история создания первого программирующего компьютера началась еще до войны, с обычного желания одного немецкого архитектора упростить себе жизнь.



Конрад Цузе (1910-1995 г.г.)
Читать дальше →

Как сделать MMORPG своими руками. Медленно, сложно, интересно

Reading time4 min
Views33K
Привет, хабрахабр! Меня зовут Егор Курьянович и ты, возможно, помнишь меня по паре интернет-проектов: Кьюби и Идейнику. А быть может, ты даже слышал о других моих начинаниях. Сегодня я хочу рассказать тебе, чем занимался последние пару лет.



Ты ведь любишь игры, не так ли? То, что ты видишь на КДПВ, называется FAR7. Чтобы было немного понятнее, скажу, что молодежь сравнивает её с Космическими Рейнджерами, те кто постарше, вспоминают StarControl2, а совсем уже хардкорные геймеры постоянно твердят об Elite. Сойдемся на том, что это браузерный космосим. В игре вы можете путешествовать между звездными системами, торговать, воевать и выполнять различные миссии.

Вся игра написана мною с нуля в одиночку и может быть использована как демо, для демонстрации возможностей стека HTML5. Все подробности о технологиях и трудностях разработки инди-проектов ждут вас под катом.
Читать дальше →

Graphics2D.js — объекты, интерактивность, анимация на canvas… И ничего лишнего

Reading time4 min
Views26K

Доброго new Date().getTimeOfDay();




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

Частые повторяющиеся задачи. Так и появляются фреймворки и библиотеки.

Впрочем, случай с Graphics2D.js немного другой: мне просто захотелось порисовать. С объектной моделью, анимацией и событиями. И — ничего лишнего.
Но максимально расширяемо: идей много, и всё можно вынести в плагины.
Читать дальше →

Электронная самоделка своими руками «Осадная катапульта»

Reading time2 min
Views20K
image
Всем привет. В предыдущей статье я описал создание дистанционного пульта управления для моделей собранными своими руками из простого игрового джойстика, который я изготовил для радио кружка, но на этом я не остановился и меня как говорится, понесло в творческом направлении. Когда были завершены дистанционные пульты, захотелось создать управляемую модель с дистанционным управлением. Машинку либо катер на радиоуправлении мне не очень хотелось создавать, их и так много сделано. Хотелось чего-то оригинального. Тогда пришла идея создать катапульту, пусть детишки порадуются. Своего рода злые птички Angry Birds.
Читать дальше →

100 строк на canvas-е: часть 1

Reading time6 min
Views15K
Предисловием мне хотелось бы поздравить одного хабраюзера с днём рождения. Расти большим, будь умным, и допили уже наконец свой canvas-фреймворк Graphics2D до того состояния, которое считаешь приемлемым.
С днём рождения, я. :P


Этим летом мне пришла в голову интересная мысль: если бы я писал микробиблиотеку для canvas в 100 строк, что бы я туда уместил?.. Самый развёрнутый ответ можно написать за 1 вечер. А потом пришла и идея этой статьи.

Предлагаю реализовать ООП, события и анимацию на canvas — самые часто нужные (имхо) вещи… и всё это в 100 строк. Часть первая.
Читать дальше →

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1.1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →

Неочевидные особенности сортировки товара и «танец реальности»

Reading time9 min
Views30K


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

Самый простой способ – задавать порядок вручную. В физических магазинах на полках делается именно так, и это называется «выкладка». У нас её делают продавцы по планограммам под каждую точку (это входит в обучение), а в тех же больших продуктовых – специальные чуваки-мерчендайзеры, которые следят, чтобы всё было ок. В Интернете, конечно, хочется сделать так же, но метод хорош до 50 позиций.

На другой стороне шкалы методы больших данных, когда все данные о вас начиная от сборки браузера, типа девайса (точнее, его цены) и разрешения экрана, плюс все данные профиля и оценка ваших действий на сайте ведут к оптимальному результату. Самый простой способ использования таких данных – за первые 20-30 секунд нахождения на сайте строить ваш профиль и сравнивать с профилями таких же людей. И предлагать вам в итоге не самые дешёвые квартиры и отели, например, а начинать с тех цен, которые для вас будут приемлемыми. Вы наверняка знаете эту сортировку, которую почему-то подают в прессе под соусом «самой удобной для клиента».

По моим ощущениям, самая удобная для нашего покупателя – это такая, которая понятна и поддаётся контролю.
Читать дальше →

По ту сторону войны. Шифровальные устройства Германии

Reading time18 min
Views24K


«Если знать место и время битвы, то за тысячи ли можно вести бой». — китайский полководец Чжугэ Лян (181 — 234 гг.)

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

«Функельшпиль» или «радиоигра» — первая процедура навязывания ложных команд противнику, была применена во время Первой мировой войны. Эффективность воздействия радиоигр на ход военных сражений была потрясающей. Это осознали в первую очередь Англия и Германия. Они предприняли огромные усилия для создания и развития своих специальных служб, уделяющим радиоиграм самое пристальное внимание. Уже к началу Второй мировой войны эти страны стали ведущими в мире в области информационного оружия.
streng geheim

Упрощение асинхронного кода на JavaScript с внедрением асинхронных функций из ES2016

Reading time6 min
Views21K
Хотя мы еще продолжаем работу над внедрением поддержки ES6/2015, команда Chackra также смотрит за пределы ES2016 и, в частности, на асинхронные функции. Мы рады объявить об экспериментальной поддержке async-функций в Microsoft Edge, начиная со сборки Microsoft Edge (EdgeHTML 13.10547).


Читать дальше →

Тонкости ES6: Наследование (часть 1)

Reading time4 min
Views31K
Пару недель назад (статья написана в августе — прим. перев.) мы описывали новую систему классов в ES6 в тривиальных случаях создания конструктора объекта. Мы показали, как можно писать код типа такого:

class Circle {
    constructor(radius) {
        this.radius = radius;
        Circle.circlesMade++;
    };

    static draw(circle, canvas) {
        // Canvas drawing code
    };

    static get circlesMade() {
        return !this._count ? 0 : this._count;
    };
    static set circlesMade(val) {
        this._count = val;
    };

    area() {
        return Math.pow(this.radius, 2) * Math.PI;
    };

    get radius() {
        return this._radius;
    };
    set radius(radius) {
        if (!Number.isInteger(radius))
            throw new Error("Circle radius must be an integer.");
        this._radius = radius;
    };
}

К сожалению (как некоторые заметили), у нас не было тогда времени чтобы поговорить о всей мощи ES6 классов. Как и в традиционных системах классов (а-ля Java и С++), в ES6 возможно наследование, когда один класс берет за базу другой и расширяет его.
Читать дальше →

Самодельный компьютер из 1967 года

Reading time2 min
Views18K


Какой компьютер вы могли бы сделать в 1967 году? Если были читателем британского журнала Wireless World, то могли по инструкции в номерах за август-декабрь 1967 г. собрать машину Wireless World Computer. Для изготовления цифрового компьютера понадобятся:

● 400 германиевых транзисторов (тип 2G371);
● 1800 угольноплёночных резисторов на 0,25 Вт;
● 66 кремниевых транзисторов;
● 450 кремниевых диодов (тип 1S130);
● 325 полиэстеровых конденсаторов;
● 24 электролитических конденсатора;
● 24 переключателя;
● 66 неоновых лампочек на панели (D795 Bulgin);
● 8 макетных плат 0,15" типа Veroboard размером 17" х 3¾";
● 1 Mullard OAZ211;
● 2 транзистора Mullard OC28;
● 2 диода Texas 1S410R, 1 1S410;
● 1 кремниевый выпрямительный диод.

Согласно инструкции журнала, детали обойдутся всего в 50 фунтов (около $125 по курсу 1967 года) или примерно $900 на теперешние деньги, с учётом инфляции. Компьютер умеет складывать, вычитать, умножать и делить восьмибитные числа.
Читать дальше →

Этот наивный и трогательный ретрофутуризм

Reading time11 min
Views26K


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

Сегодня мы со снисходительной улыбкой рассматриваем картинки, на которых изображено будущее — то, каким его представляли 50-60 лет назад. А от визуализированных фантазий 80-100-летней давности на глаза наворачиваются слезы умиления. Даже жалеешь, что будущее стало таким, каким стало, а не таким, каким его представляли в начале XX века. Уж очень колоритно и масштабно футуристы тех времен живописали скорые достижения человечества.

В середине прошлого века мечты техногиков стали уже куда ближе к реальности сегодняшнего дня. Некоторые технологии и гаджеты действительно появились в нашей жизни, а какие-то могут скоро появиться. Что-то пробовали сделать, но по ряду причин не получилось, а какие-то фантазии вообще никогда не будут реализованы. Но все равно очень интересно рассматривать иллюстрации тех времен, особенно 1950-1970-х годов — периода расцвета техноутопизма. Одним из самых плодовитых футуристов-художников в то время был Артур Радебо (Arthur Radebaugh). На рубеже 1950-1960-х годов он создал немало иллюстраций, вдохновлявших людей на мечты о светлом будущем.

Итак, как же в те годы представлялось не слишком отдаленное будущее? Под катом много картинок!
Читать дальше →

Инженеры создали гибкий сенсор, имитирующий кожу

Reading time2 min
Views7.1K
image

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

Как объясняет руководитель исследования, профессор Женан Бао [Zhenan Bao], главное преимущество датчика в том, что он выдаёт импульсы, которые нервная система способна обрабатывать непосредственно. По его словам, для протезов ранее уже создавались датчики давления, но выдаваемые ими импульсы шли совсем не в том формате, в котором их смог бы воспринимать мозг. В связи с этим протезу требовался компьютер для конвертации сигналов.

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

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

Information

Rating
3,581-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity