photo

Супер-пупер школа программирования

Исследование идеального UI Framework'а, программирование игр, веб-программирование, задачи и решения

Оптимизатор загрузки JavaScript
photo
[info]enepomnyaschih
Читайте мою новую статью на хабре! http://habrahabr.ru/post/140034/

К реал-тайм стратегиям - результаты
photo
[info]enepomnyaschih

В опросе по реал-тайм стратегиям приняли участие 13 человек. Всем большое спасибо!

Когда я сам заполнял анкету, я руководствовался следующими правилами:

  • Искусственные играничения - плохо, естественные ограничения - хорошо
  • Много и широко - лучше, чем мало, но мощно
  • Победа в игре складывается из маленьких побед в течение всей игры: расслабляться нельзя
  • Нужно автоматизировать все, что не требует решения игрока
  • Создать искуственный интеллект, который победит игрока среднего уровня, физически невозможно
  • Близость к реальности безусловно важна для пошаговых стратегий, но в RTS ей можно пренебречь

Как и обещал, привожу результаты опроса, и привожу свои комментарии и мнение.

Read more... )
  • 4
  • Leave a comment
  • Add to Memories

StarCraft теперь на GitHub Pages!
photo
[info]enepomnyaschih
В браузерный StarCraft: Brood War теперь можно поиграть прямо на GitHub! :D

http://enepomnyaschih.github.com/scbw/

Проверено в Google Chrome.

Управление такое: левой кнопкой кликаете по SCV'шке, а потом правой кнопкой куда-нибудь ее посылаете. Можно даже отдать последовательность приказов, нажав кнопку Shift.

Приложение разрабатывается на основе моих мегадвижков:
  • jWidget RTS
  • jWidget Canvas
  • jWidget UI
  • jWidget Lib
  • jWidget SDK
К этим движкам сейчас разрабатывается документация.

Желание помочь приветствуется! Требуются JavaScript-разработчики и дизайнеры, ибо за такое вот оформление игрушки меня могут закопирайтить =)   (тссс... никому не рассказывайте)

Разделение jWidget
photo
[info]enepomnyaschih
Я разделил свой GitHub-репозиторий jWidget (https://github.com/enepomnyaschih/utils) на отдельные репозитории, каждый из которых предоставляет лишь некоторую часть функционала. На мой взгляд, это гораздо лучше, когда все поотдельности, а не в куче. Так, например, Dojo- или YUI-разработчику вообще не надо никаких моих JavaScript'ов - ему своих хватает, - но хотелось бы использовать jWidget SDK для сборки проекта. Тогда достаточно выкачать репозиторий https://github.com/enepomnyaschih/jwsdk - там вообще никаких JavaScript'ов нету, зато есть подходящий PHP-скрипт и набор файлов конфигураций. Другому разработчику может быть интересен мой гибкий движок рендеринга HTML на основе jQuery и шаблонов - наиболее подходящим выбором в таком случае будет https://github.com/enepomnyaschih/jwui.

Вот список всех репозиториев с кратким описанием:Единственная стабильная библиотека пока что - это jWidget SDK. Все остальные еще в разработке. Чуть позже напишу об этом дополнительную информацию.

Вот граф всех репозиториев в порядке зависимости. Все репозитории зависят от jWidget SDK - это ядро системы.






Как победить инфляцию
photo
[info]enepomnyaschih
Пару недель назад я понял, что инфляция угробит аутсорсинг в России. Через несколько лет цены в России вырастут по сравнению с США настолько, что на свою зарплату аутсорсер не сможет купить ничего. Вот я и призадумался, как же победить инфляцию.

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

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

Электричество становится эталоном цены. Это очень удобно:
  1. На электричестве построено все современное производство
  2. У электричества есть четкая единица измерения
  3. Электричество не различается по качеству
  4. Цена доставки электричества на большие расстояния невелика
  5. Как правило, государство имеет возможность контролировать производство электричества в стране
Необходимое условие внедрения данной схемы: конкуренция на рынке сырья или бессырьевое производство энергии.

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

Замечу, что производителю электроэнергии самому будет невыгодно зависеть от каких-то левых поставщиков сырья. Кроме того, единственный способ для производителя электричества увеличить свою прибыль - это уменьшить себестоимость электричества (цену-то увеличивать нельзя). Поэтому гораздо безопаснее и выгоднее развивать современное бессырьевое производство электричества.

Мне кажется, что и остальные отрасли производства не будут увеличивать свои цены: по правилам свободной экономики, если цена товара сильно превосходит себестоимость, то должен найтись тот, кто производит то же самое по более низкой цене. А поскольку себестоимость на 99% зависит от цены на энергию, то она фиксирована. Следовательно, цены на все товары тоже фиксированы.

Критикуйте! =)

P.S. Вообще, сырье и энергия друг друга сдерживают. Потому что сырье - почти что единственное, что необходимо для работы ТЭС, но и ТЭС - почти что единственный клиент производителей сырья. Поэтому производители сырья не смогут бесконтрольно повышать цену, иначе угробят и себя, и клиента.


Adobe: вновь на грани маразма
photo
[info]enepomnyaschih
Нутром чуял, что с проектом на Adobe AIR уж точно случится какая-то история. И действительно, маразм состоялся уже на этапе установки Adobe AIR SDK.

Гугл первой ссылкой на "Adobe AIR SDK" сразу дает страницу скачивания этой штуки, за что ему большое спасибо. А дальше я один на один с Adobe и начинается самая веселуха.


Read more... )



Утилиты JavaScript. Часть 6. Алгоритмы для работы коллекциями
photo
[info]enepomnyaschih

В этой статье я расскажу вам о том, как можно избавиться от 80% циклов for в вашем коде, и при этом добиться легкости, прозрачности и доступности кода. Это достигается повсеместным использованием алгоритмов коллекций. Здесь совсем нет картинок, зато есть куча кода.

Read more... )
  • Leave a comment
  • Add to Memories

ParentOfParentContainer75
photo
[info]enepomnyaschih
Забавляет меня иногда. Когда используешь какой-то сторонний компонент, он обязательно что-то в твоем приложении портачит. Кто-то глобальные переменные создает, кто-то перегружает функциональность jQuery, кто-то портит стилизацию страницы, ну а кто-то издевается над DOM'ом. Вот пример с DHTMLGoodies.Chess:


К реал-тайм стратегиям
photo
[info]enepomnyaschih

С целью протестировать свой JW.Canvas я взялся писать RTS-движок. Надеюсь выпилить из него упрощенную версию StarCraft.

После продолжительного блиц-кодинга я обнаружил, что универсальный RTS-движок написать не так уж и сложно: достаточно обладать опытом в ООП, паттернах и MVC.

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

https://docs.google.com/spreadsheet/viewform?formkey=dFd5UmpQTkZUZFA4b1JobEJ5bHhGZ1E6MQ

P.S. Результаты http://enepomnyaschih.livejournal.com/13627.html


Утилиты JavaScript. Часть 5. Фреймворк для работы с HTML5 Canvas
photo
[info]enepomnyaschih

Несмотря на всю пургу, которую я вчера в своей статье спустил на HTML5 Canvas, сегодня я закончил разработку первой версии своего фреймворка. В связи с недостатками HTML5 Canvas, получилась весьма урезанная версия фреймворка, отдаленно по интерфейсу все-таки напоминающая Flash.

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

Скачать
https://github.com/enepomnyaschih/utils/tags (jwidget-0.2.zip)
Инструкция по установке и использованию
https://github.com/enepomnyaschih/utils/blob/v0.2/jwidget/public/canvas/README-ru.txt
Ссылка на репозиторий
https://github.com/enepomnyaschih/utils
Если не хотите закачивать, исходники фреймворка можно посмотреть здесь
https://github.com/enepomnyaschih/utils/blob/v0.2/jwidget/public/canvas
Если не хотите закачивать, исходники демки можно посмотреть здесь
https://github.com/enepomnyaschih/utils/tree/v0.2/jwidget/public/canvasDemo
Подробнее о jWidget
http://enepomnyaschih.livejournal.com/tag/Утилиты JavaScript
  • Leave a comment
  • Add to Memories

You are viewing [info]enepomnyaschih's journal