Контакты
Местоположение
Россия, Москва и Московская обл., Подольск

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (8)
  • Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

    0 — это зеленый цвет RGB = (0, 255, 0)
    20 — это желтый цвет RGB = (255, 255, 0)
    40 — это красный цвет RGB = (255, 0, 0)

    Отсюда видно, что от 0 до 20 — растет компонента R от 0 до 255 (а G стоит на 255).
    И что от 20 до 40 — убывает компонента G от 255 до 0 (а R стоит на 255).
    И то, и другое выражается через пропорцию: например, если входное число N <= 20, то R будет равно N*255/20,

    А если входное число N>20, то G = (20-(N-20))*255/20
    (N-20) отнимает от нашего числа стартовые 20.
    а 20-(N-20) инвертирует рост компоненты в убывание, т.к. нам надо чтоб от 20 до 40 — G падало.
    а так это та же самая пропорция, что и для R.
    Ответ написан
    Комментировать
  • Разработка игры — от идеи до издателя?

    «Речь идёт о обычной, компьютерной игре, достаточно широких масштабов» — о какой игре? Если это MMORPG «достаточно широких масштабов» — то это один вопрос. Если это игра с супернавороченной графикой и уберсетевым режимом 100 на 100 человек для расстреливания друг друга — то это другой вопрос. Если это просто для одного игрока, сидящего без инета дома в теплом кресле — то это третий вопрос.

    Сегодня большинство не-онлайновых игр существуют чисто из-за их простоты в управлении, из-за бесконечного процесса «играния» и неопределенных результатов в каждом уровне (типа Angry Birds, или той игры где на мотоцикле едешь, перекручиваешься в воздухе всегда чтоб не упасть головой в землю и не сломать мотоцикл). Если у вас какая-то подобная идея с перспективой захвата разума масс во всем мире — то это хорошо. Но даже с такой идеей придется основательно вложиться в дизайн, в оформление, в удобство управления. Иначе первый запуск игры, взгляд на страшный стартовый экран, взгляд на некрасивые элементы в самой игре — и все, Alt+F4. Также придется ооочень сильно вложиться в продвижение, в рекламу, потому что наверняка ваша идея есть еще у N человек в мире и они уже делают подобные проекты. Поэтому вам понадобится достаточное количество программистов, дизайнеров, «композиторов» (создателей музыки), чтобы обойти все другие проекты и сделать ваш проект «конфеткой».

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

    А если хотите делать что-то онлайновое — то, например, ходила по интернету статья как сделать MMORPG, которую писал автор игры eternal-lands. Вот она на одном из сайтов, там описаны все трудности процесса создания даже страшноватой на вид игры: www.gamedev.ru/gamedesign/articles/Create_MMORPG

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

    Поэтому вывод такой: оффлайновая игра — не каждый будет сегодня играть в такие игры, даже если это будет суперигра на вид и с захватывающим геймплеем (хотя это еще надо умудриться такую сделать). Онлайновая игра — все что с оффлайновой игрой плюс трудно сетевую часть сделать, надо постоянно поддерживать сервер и саму игру, исправлять разные баги в сервере и клиенте, отлавливать читеров, латать дыры, каждый день думать о ней.
    Ответ написан
    1 комментарий
  • Научить племянника (10 лет) программированию

    Программировать в 10 лет — это рано очень. Я в 9-10 лет все свободное время проводил на улице, только закончился третий класс, а с ним и математика типа «5 + 3 = ?», «Из точки А в точку Б» (какое там программирование может быть?).

    Позже, в 12-13 лет, я увлекся приставкой денди и играми, и тогда у меня назрели планы «как то бедно сделаны дендевские игры. вот как бы сделать свою собственную игру. там бы был такой герой и такой сюжет, такая музыка, такие разносторонние уровни, типа в первом мы там идем вид сбоку, потом второй вид сверху, потом третий — босса мочить на крыше небоскреба».

    Потом в 8-9 классе (14-15 лет) появился компьютер и брат показал мне qbasic. И я понял что не все так просто с графикой, музыкой и геймплеем как было у меня в мечтах. Тогда же школа дала необходимый математический аппарат чтобы я смог рисовать графики, эмулировать падение предметов по параболе, подпрыгивание типа «с замедлением вверх, остановка в воздухе, с ускорением вниз». Первые игровые программы основывались на денди-играх: гонки «вид сверху», snake rattle and roll где красная голова змеи ползает, подпрыгивает, по пробелу открывает рот, еще всякие танчики вид сверху и т.п.

    А так бейсик был убог по функциональности, пришлось писать свои процедуры на загрузку и быструю отрисовку BMP-картинок, работа с SVGA режимами и банками, защищенный режим, проигрывание WAV файлов и MIDI файлов (точнее изучать готовые решения и испытывать их на своей карте), создание своих шрифтов, которыми можно писать в играх, контроль мыши и клавиатуры, перехват прерываний и т.п. Причем уже с Qbasic 1.0 я перешел на QuickBasic 4.5 (который EXE делает на выходе, а также поддерживает подключение сторонних или своих QLB библиотек), а затем и на QB7.1, библиотеку Future и прочие удобства, делающие из кубейсика многофункционального монстра.

    И уже тогда я дико боялся паскаля (страшный синтаксис). И только на 2 курсе института в 19 лет, когда заставили изучать дельфи в рамках учебного процесса — я уже освоился кое как и в паскале. Потом на 3-4 курсе перешел на си-подобную яву для мобил. И тогда же на ява-подобный Си-шарп по работе.

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

    Хотя я и не знаю, можно ли с сегодняшних уберсупер3дигр перейти на программирование. Там же суперграфика и прочие дела, которые делают студии из нескольких десятков-сотен человек. И собственные бейсиковские труды никто не оценит, т.к. планка качества и красоты современного игрового софта задрана высоко, по сравнению с временем 10-15 лет назад. И доса уже нет, винда не дает поотлаживать ни в бейсике, ни в паскале, криво работает с индексными досовскими палитрами, и вообще не любит эти режимы, защищенный режим вылетает с исключениями. Поэтому кубейсики и паскали, получается, умерли в современной windows.

    Есть от майкрософта виндовский бейсик. Он простой и бесплатный. Такой Qbasic для винды. Вот на нем может быть попробовать? smallbasic.com/
    Ответ написан
    1 комментарий
  • Как найти количество цифр между двумя заданными?

    Встроенная функция вычитания подойдет для этого =)

    N — первое число
    M — второе число
    количество цифр между ними равно (M-N-1)
    проверка: N = 3, M = 12, тогда M-N-1=12-3-1=8
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (1)