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

"тут должна быть красивая цитата о программировании"

Match3Cat - игрушка про котиков на Reactjs

2017-10-17 23:35
cat

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

История

Это просто результат любопытства из категории "а что будет, если...". В итоге получилась вот такая штука.

Сперва в игре список котов был сделан одномерным массивом, который было очень удобно обновлять в Redux (где каждый раз нужно создавать новую копию данных, чтобы внести изменения). А разбиение на таблицу добился простой эмуляцией двумерного массива на одномерном списке (операция деления по модулю очень помогает). Не то чтобы это было нужно, просто было интересно писать алгоритм. И было всё довольно неплохо до того момента, пока мне не понадобилась анимация в момент совпадения котиков. Тут мне нужно было знать, где находился котик в момент совпадения по цветам, а значит нужно было хранить позицию. Чтобы не возиться с дополнительным хранилищем, котики были переделаны в словарь, а вместо одномерного списка - двумерный массив. Ну а ещё каждому котику присваивался уникальный номер, чтобы генерировать уникальный же key

const createCat = (() => {
    let nextCatNumber = 0;

    return ((x, y) => {
        return {
            num: nextCatNumber++,
            kind: Math.floor(Math.random() * CATS_NUMBER),
            x: x,
            y: y,
        };
    })
})();

В целом, получилось довольно интересно, но писать игры на ReactJS мне не понравилось, не для этого фреймворк предназначался.

Теперь настал черёд воинственных прямоугольных попрыгунчиков .

Ссылка на игру

match3cat game

Ресурсы

Исходный код там - https://github.com/grigoriytretyakov/react-match3-game

Игра там - http://tinycode.ru/games/match3cat/

Lightbox - игрушка про квадратик (Phaser, ECMAScript6)

2017-03-26 17:20
beast

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

Основная цель - попробовать ECMAScript6 в работе, а ещё собрать в итоге игру в один файл.

История

Первоначальная идея была сделать кубик, состоящий из света, а жить он должен был в тёмном мире, где всё хочет его убить. Выживать он должен был подпитываясь энергией от пролетающих мимо "энергетических заправок". Но TN-матрица на моём ноутбуке скорректировала планы, потому что тёмная игра смотрелась ужасно, играть было неудобно. Поэтому фон стал светлым, а кубик тёмным. Тут бы впору переименовать его в "Dark energy box", но я решил оставить всё как есть.

Ссылка на игру

lightbox game

Ресурсы

Исходный код там - https://bitbucket.org/grigoriytretyakov/lightbox-game

Звуковые эффекты делал там http://www.bfxr.net/

Музыку для игры взял там http://opengameart.org/content/game-game

Игра там - http://tinycode.ru/games/lightboxgame/

Концепция HTML5 Sparkling Tail и первые шаги

2015-01-06 23:40
html5 Sparkling Tail overview

Раз уж решил вести разработку Sparkling Tail открыто, то расскажу и про механику игры. С самого начала я планировал его как вечно бегущего вверх в жутковатой темноте, при этом на героя беспрестанно валятся смертельные камни и колючие шары. Траектория полёта у падающих штуковин разная, выбирается случайно при создании. Сам Sparkling Tail при этом может только перескочить на другую сторону каменного столба, по которому он бежит.

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

Пока идут новогодние каникулы, появилось больше свободного времени, хоть какие-то мелочи удаётся дописывать к игре.

2015. Возвращаюсь к разработке игр

2015-01-05 12:40

В прошлом году я начал было заниматься разработкой игр, но потом с головой ушёл в работу над wifi.osmino.com и osmino.com. Практически перед новым годом мы зарелизили новый osmino.com, и теперь... работы станет ещё больше, но это не помешает мне заниматься своими проектами в свободное время.

Проект первый - Sparkling Tail. Первоначально я думал вести разработку в закрытом репозитории, и лишь потом открыть исходники. Сейчас мне больше нравится идея вести работу сразу в открытом репозитории.

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

Ещё кое-что изменилось за 2014 год: из python-программиста я окончательно трансформировался в то, что зовётся новым модным базвордом - Full Stack Web Developer. Уже несколько лет я работал как над клиентской частью проектов, так и над серверной, настраивал сервера и разрабатывал утилиты для деплоя. Но за этот год я сделал некоторые проекты от начала и до конца. Прямо сейчас у меня есть ещё один pet-project, который я разрабатываю в одиночку.

  1. Это будет интересный год.

Старт разработки игры про Sparkling Tail

2014-07-29 23:10
Новый Sparkling tail

Это пост-отметка, о том, что я начал разработку новой игры.

Главный персонаж - реинкарнировавшийся Sparkling Tail, только теперь он научился ходить, и ему больше не нужно прыгать словно гусеница, как раньше. Он будет жить в своём небольшом, но агрессивном мире. Почти всё, что есть в этом мире (надо бы этому миру название придумать), крайне вредно для Sparkling Tail'a, поэтому ему придётся избегать встречи с этими опасными штуками.

Разработка игры будет с использованием Phaser. Работать должна в десктопных браузерах и на андроидовском Chrome (это единственное мобильное железо, которое у меня есть, тестировать на IPhone и WinPhone не могу).

Быстрого релиза не будет, потому что делаю игру в свободное время, в основном по вечерам и на выходных. Однако посты с небольшими, но полезными мне сниппетами для Phaser, будут.