+5.48
Рейтинг
5.37
Сила

Александр

Зарабатываем с помощью майнинга на играх Unity3D HTML5

Привет. Давненько не писал статей. Хочу поделиться с вами интересной находкой, которая стоит внимания, если хотите заработать копейку:)

Начнем

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

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

И вот недавно я нашел сервис, который уже дает готовый майнер, остается только встроить. Сервис заточен под WEB, поэтому нативным приложениям пока остается ждать… Хотя, если вы имеете HTML5 билд вашей игры/программы, давайте покажу, как встроить.

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

Система авторизации для Unity3D на NodeJS + MongoDB

Привет. Некоторое время работаю с Nodejs+MongoDB. JS еще то гавнецо после c#, но сегодняшний js уже намного лучше: промисы, константы — в общем язык потихоньку взрослеет)

Так вот, решил написать что-нибудь полезное. Чаще всего вопрос вставал у людей «Как запилить регистрацию без смс для прилаги, и чтобы можно было сохранять туда инвентарь героя?»

Давайте попробуем сделать требуемый сервис.

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

Архитектура приложения Unity3D (StrangeIoC)

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

Часто встречаю в и-нете вопросы по поводу того, какой выбрать паттерн или как сделать архитектуру гибкой и тп.

Я выработал свой подход, и вот основные моменты:

Использовать стейт машину
Стейт машина(конечный автомат) — это круто, потому что любое приложение можно представить как набор состояний и переходов между ними.

Всю логику можно поделить на стейты, сервисы и библиотеки. Каждый стейт несет свое бремя в жизни приложения. Типичный пример: есть приложение, в нем есть меню, сама игра и окно выигрыша/проигрыша. Все эти экраны можно представить как состояния, поэтому получится 4 состояния в вашем приложении: меню, игра, выигрыш, проигрыш. Осталось только связать их переходами.
test
Читать дальше →

Моя история "программиста"

Давно хотел поделиться с миром своей историей, да не было времени. Рывшись по интернету, вспомнил про замечательный сайт web.archive.org, на котором можно посмотреть историю интернета, т е каждого сайта. Жаль, что не так уж много снимков состояния сайта, но понастольгировать хватит:)

С чего все начиналось?

Рос я в небольшом городке — примерно 80 000 человек. Любил в детстве собирать конструктор, причем изобретая что-то свое, а не то, что написано в инструкции. Любил на даче мастерить из досок какие-нибудь домики, или автоматы. С пацанами бегали по стройкам, строили шалаши. Короче, всё как у всех:)

В школе до класса 6 особо не старался. Да, математика шла хорошо, а языки совсем не хотели поддаваться моему сознанию. Поэтому я забил на них)

Потом началась информатика и первые городские олимпиады. Готовил меня молодой учитель без большого опыта преподавания. Но спасибо ему за то, что подтолкнул в этом направлении. Какие-то олимпиадные задачи мы решали вместе, какие-то — дома. В итоге — занял первое на городской и поехал на областную. Но там конкуренция давно хотела меня опустить и показала, что значит подготавливаться к олимпиаде. Если кто знает Гену Короткевича — так вот он в то время был мальчиком из 4-5 класса, который побеждал всех) В общем я забил на олимпиады, так как не видел в этом чего-то практического. А «писькомер» у меня отсутствовал.

Зато нашел себя в чем-то другом. Однажды, посещая информатику в очередной раз, я набрёл на сис админа. Я был с ним немного знаком, и вот он мне показывает какое-то приложение на си шарп(C#). Да не просто калькулятор, а полноценное клиент-серверное приложение с каким-то там человечком и системой регистрации/авторизации.

Я думал что он бог) Он назвал мне книгу, с которой можно начать. Насколько я помню, это был Шилдт. Вот так и начался мой путь в .Net. Был 2008 год.

В это время я любил игру MuOnline — мушка, если ласково. Я начал изучать как запустить эту игру у себя локально, нарисовать себе шмота и быть админом. Пожалуй, это одно из важных событий в моей жизни — я начал учиться гуглить, читать чужой код, изучать С++, Php, Html, CSS; форумные движки, CMS; пиратские сервера, базы данных MSSQL и MySQL.

Звучит вроде страшно и нереально. Типа «Да ты гонишь. Тебе еще не было 16, а ты уже и бд и языки знал». Не, было не совсем так. Я брал какую-то задачу, например, поднять форум PhpBB, и делал ее до конца, попутно вникая как настроить MySql, Php и Apache. Если нужно было установить игровой пиратский сервер, то нужно было поднять MSSQL, поднять веб сервер, установить сайт, настроить сам сервер(прописать конфиги и прочую херь), выполнить в MSSQL какие-то запросы + добавить джобы. Короче работы было дохера.

Как раз в это время я начал вести блог на blog.tut.by — вот снепшот. Как видите, наверное первая статья была опубликована 23.07.2008 Но мне почему-то кажется, что до этого я сидел еще где-то…

К 2009 году я уже смело ставил серваки, причем за $. Не большие суммы брал, но на мороженое или сухарики хватало.

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

Зато в начале 2010 года, судя по вебархиву, я запустил со своим приятелем форум игроделов DEVBY.RU. Его нещадно ддосили, ломали, но он жил. Кстати, с приятелем познакомились, когда он мне предложил починить скрипт для букса — это такие сайты, на которых обычный пользователь мог заработать реальные деньги, просмотрев рекламу какого-нибудь проекта(сайта) в течении 30 секунд. В то время они были дырявые, и я каким-то способом что-то там чинил/фиксил. Вроде бы проблема была в куках…

Я уже был знаком с Лешей, Владом и Сергеем(привет ребята!)

На втором курсе мне купили ноут. Была весна. И я четко помню, что уже писал к этому времени на Action Scripts какие-то лабы для физической химии. Это были демонстрационные ролики экспериментов.

В то же время я работал с C#. Писал небольшие проги.

В итоге к концу 2011 году я более-менее что-то знал/писал о:
1)php, html, css, ajax
2) mysql, mssql
3)c#,c++,pascal,action script
4) XNA, Ogre, unity3d

В этом же году я сделал Texas Duel на XNA и MU ONLINE DB на php/mysql/ajax


Самым главным было то, что мы с ребятами начали делать большой социальный проект ЗаБотань. Вот журнал событий. На этом проекте я очень выучил, подкачал свой скилл в шарпе и вообще программировании. И впервые получил за это деньги(что-то около 1 000$).

В 2012 году я начал активно вести канал на youTube. Первый видос по юнити
Начал прокачивать себя как лектор и учить больше теории.
Делал небольшие фриланс работы.

В начале 2013 меня взяли работать в крупную компанию Playtika, которая занималась разработкой мобильных гемблинг игр(казино). Спасибо другу, который порекомендовал меня:) Мне только-только исполнилось 19 лет. Я понял, что значит работать в крупной компании рядом с несколькими десятками людей, читай и рефакторить чужой код. Так же столкнулся с неведомой до тех пор стороной бизнеса — та сторона, которая зарабатывает деньги на проектах. Короче было интересно:)

После года работы, я решил уйти на вольные хлеба. С ребятами делали проект, который не ушел дальше альфа версии. Но зато получил опыт управления командой, краудфаундинга и подкачал скилл Photon Server, NHibernate:) А дальше работа на мелкие конторы и стартапы…

Кому интересно, вот более-менее полный список моих работ

Сейчас(17.05.2016) мне 22.5. Я успел поработать в нескольких стартапах, побыть тимлидом, закончил больше десятка проектов.

Я не стал миллионером(пока:)), но успел набраться опыта.

Вроде чувствую себя старым, но так многое хочется еще попробовать…

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

Вот такой путь я прошел. Отвечу на вопросы в комментах или в любой соц сети. Всем мир!

Unity VK Mobile: 0 Введение

Привет. Расскажу в этот раз я вам про интеграцию одного плагинчика для социальной сети ВКонтакте(ВК).

Дело все в том, что ВК недавно(год назад) открыли свою мобильную платформу. Её достоинства в том, что там халявный трафик и ПОКА малое количество приложений:) То есть можно получить несколько тысяч установок абсолютно бесплатно. А если игра будет иметь хорошую виралку, то и несколько десятков, а то и сотен тысяч установок. Согласитесь, что это не плохо для инди или мелкой компании.

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

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

Фиксим Unity Scroll Drag Threshold

При разработке одного приложения появился странный баг со скроллом на мобилках: кнопки внутри скролла не хотели нажиматься.

Решение оказалось простым и элегантным, которое можно оформить в маленький скрипт:
//
// Coded by afrokick 2016
// https://devby.ru/afrokick/2016/05/11/fiksim-unity-scroll-drag-threshold.html
//
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

/// <summary>
/// Use it in new unity UI system for fix drag threshold in different scale factor.
/// </summary>
public class DragThresholdFixer : MonoBehaviour
{
	[SerializeField]
	private EventSystem myEventSystem;

	[SerializeField]
	private Canvas myCanvas;

	[SerializeField]
	private float pixelDragThreshold = 5;

	// Use this for initialization
	void Awake()
	{
		myEventSystem.pixelDragThreshold = (int)(pixelDragThreshold * myCanvas.scaleFactor);
	}
}


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

Удачи!

Быстрый Unity UI Scroll с бесконечным числом элементов

Привет! Записал урок по скроллу. Задача была сделать скролл с большим количеством элементов внутри и чтобы не тормозило. «Бесконечное» естественно конечно, но по сути лишь память вам ограничитель, ну и размер Int32:)

В основе лежит принцип разделения данных(model) и представления(view). У нас есть шаблон элемента, которым выглядит одинаково, но данные в нем разные.

Так же стоит учесть, что внутри скролла одновременно мы видим небольшое количество элементов, а не все сразу.

Передаем делегат из Unity3D в ObjC

Привет! Давно не писал статей. Вот решил поделиться недавним хаком, который пришлось использовать для написания плагина. Будет разбирать на примере как передать из C# кода ссылку на метод(делегат) в ObjC код. Исходники я приведу, так как плагинчик опенсорсный (с открытым исходным кодом).

Что делает плагин? Он перехватывает событие openUrl и возвращает результат в приложение. Это полезно, когда нужно реализовать, например, oauth регистрацию и нужно получить токен в ответ через схему приложения.

Вы наверное знаете, что есть метод UnitySendMessage. Для его работы нужно создавать GameObject, вешать на него скрипт. К тому же, вам придется писать строки с именами объекта и методов, что не очень красиво и удобно. С делегатами круче — сам по себе он несет интерфейс, вам остается лишь вызвать его когда нужно и передать необходимые параметры.

Для начала, давайте вставим готовый ObjC код в папку Assets/Plugins/iOS/

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