Суббота, 23 Ноября 2024, 07:17

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
YellowAfterlifeДата: Четверг, 19 Ноября 2015, 21:32 | Сообщение # 141 | Тема: DevelNext - перерождение devel studio
Сейчас нет на сайте
Цитата AlexLy ()
По такой логике вообще проще тогда не делать студию. Ведь там язык надо знать, а это сложно, не будет востребовано.
Мб не обязательно сделать? И таки да, на ПОХАПЭ нормальной игры (не текстовой/MMO) не сделать.

У PHP схожий с JS функционал. Местами лучше (в PHP есть непосредственные классы\интерфейсы), местами хуже (передача функций по ссылке работает не так удобно), но оба из них можно использовать как на серверной, так и на клиентской части для большинства игр.


YellowAfterlifeДата: Четверг, 19 Ноября 2015, 18:43 | Сообщение # 142 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата ASH2 ()
А никто не сталкивался с изменением разрешения игры?

Знаю, что раньше использовался display_set_size(w,h), однако теперь пишут, что данная функция устарела. Как теперь менять разрешение никто не в курсе?

Разрешение экрана можно поменять ДЛЛ-кой, но нежелательно - для большинства целей должно быть достаточно изменить размер application_surface (через surface_resize). GMS его рисует с пригодным масштабированием автоматически.

Цитата Dante_Devil ()
Доброго времени суток, уважаемые господа.
Без долгих вступлений перейдем к непосредственно "делам"
Итак, я состряпал 2D движок (если мое больное во всех смыслах творение можно так назвать) и все работает вполне себе замечательно за исключением одного НО. Дело в том, что из-за специфики использования динамического освещения в игре, привязать камеру к персонажу стандартным Game-maker-овским способом невозможно. Я про тот, что в "видах" комнаты. приходится для этой цели использовать скрипт, с несложным кодом. В чем, собственно, проблема? Работает все прекрасно, да вот беда, после прыжка персонажа, в тот момент, когда он приземляется на землю, происходит небольшой, но изрядно режущий глаз рывок. Причем, если в момент непосредственно приземления не зажата клавиша движения, все проходит как по маслу, без этих неприятных рывков.
Вопрос - как от этих неприятных "конвульсий" избавиться?
Заранее спасибо и всем добра
Без кода сложно угадывать, но попробую - добавить вызов скрипта, который переставляет камеру, в событие столкновения со стеной (где персонажа возвращает на пригодное место).


YellowAfterlifeДата: Четверг, 19 Ноября 2015, 11:30 | Сообщение # 143 | Тема: DevelNext - перерождение devel studio
Сейчас нет на сайте
Цитата AlexLy ()
Хотелось бы увидеть поддержку JavaScript.
ИМХО, тогда бы можно было и MMO-пилить (PHP+JavaScript)

Зачем? DevelStudio\DevelNext позволяет использовать PHP для логики на "клиентской части", убирая нужду в HTML\CSS\JS связках если не нужно непосредственное отображение фрагментов веб-страниц.


YellowAfterlifeДата: Понедельник, 16 Ноября 2015, 17:52 | Сообщение # 144 | Тема: Решаем задачи по Construct 2 [вопрос-ответ]
Сейчас нет на сайте
Цитата BESS55555 ()
Точнее сказать, поддерживает ли C2 протокол DirectInput или Xinput онли?

DirectInput считается устаревшим уже десяток лет, с момента выпуска XInput в 2005 году.
Если пользователям нужно использовать устройства без поддержки XInput, они могут воспользоваться каким-нибудь x360ce.


YellowAfterlifeДата: Понедельник, 16 Ноября 2015, 17:46 | Сообщение # 145 | Тема: Оптимизация
Сейчас нет на сайте
Цитата maksim1221232 ()
OpenGOO, Ну вот это, только я все ровно не особо понимаю что там написано.

66% времени выполнения программы тратится в шаге obj_tech_tankt1. Если развернуть пункт (нажать на плюсик слева), можно посмотреть более подробно, на вызовы каких функций\скриптов тратится время выполнения. После этого можно предпринять попытку их оптимизации и сравнить затраты времени после изменения.


YellowAfterlifeДата: Воскресенье, 15 Ноября 2015, 18:40 | Сообщение # 146 | Тема: Помогите с циклами и отрисовкой фигур
Сейчас нет на сайте
Цитата Dj_FroZTBite ()
1. Прямоугольный треугольник типа
1
11
111
1111

Код
for (int y = 1; y <= 4; y++) {
    // для y-ой строки нужно вывести y символов:
    for (int x = 1; x <= y; x++) {
        System.out.print('1');
    }
    System.out.println();
}

Цитата Dj_FroZTBite ()
2. Квадрат со сторонами 10х10 из каких то цифр
8888888888
8888888888

Код
for (int y = 1; y <= 10; y++) {
    for (int x = 1; x <= 10; x++) {
        System.out.print('8');
    }
    System.out.println();
}

Общая идея понятна, я полагаю - через System.out.print выводятся индивидуальные символы, после через System.out.println переносится строка.


YellowAfterlifeДата: Суббота, 14 Ноября 2015, 13:47 | Сообщение # 147 | Тема: Как сделать "Вхождение в объект"
Сейчас нет на сайте
Чаще всего это делается разбиением объекта\графики на два фрагмента -- в одном хранится "передний план" (отображаемый поверх входящих объектов), а в другом "задний план" (отображаемый за входящими объектами). После оба фрагмента размещаются на разной глубине (depth).
В частном случае: Сделать щеку (?) отдельным объектом (или тайлом) с глубиной, скажем, 10; остальной голове (?) дать глубину -10.


YellowAfterlifeДата: Четверг, 12 Ноября 2015, 15:23 | Сообщение # 148 | Тема: Как сделать анимацию смерти игрока?
Сейчас нет на сайте
При касании (событие столкновения) игрока с предметом игрока удалять, и создавать на его месте (x, y) объект "умирающего игрока".
В объекте "умирающего игрока" поставить нужную анимацию, и добавить событие Other - Animation End (рус. Другие - Конец Анимации?), в которое добавить код отображения окна (в простейшем случае - show_message \ действие show message).


YellowAfterlifeДата: Четверг, 12 Ноября 2015, 14:22 | Сообщение # 149 | Тема: Общение через микрофон
Сейчас нет на сайте
Цитата maker-rus ()
На сколько я понимаю запись звука на диск(если верить документации) и реализация канала для передачи аудио-сигнала всем игрокам - разные вещи. На сколько я понял из документации, там написано про потоковую ЗАПИСЬ звука на локальный диск, но не слова о ее передаче через канал связи. Поэтому свое утверждение считаю более чем точным. Если я где-то не прав, поправьте.

Запись идет не на диск, а в буфер (от того одним из параметров события и является buffer_id). А знаешь, что можно делать с буфером? Верно, передавать по сети (или копировать частями в другие буферы).
Даже, если бы шла запись на диск, никто бы не мешал выходящий файл постепенно считывать и пересылать.


YellowAfterlifeДата: Четверг, 12 Ноября 2015, 14:08 | Сообщение # 150 | Тема: Общение через микрофон
Сейчас нет на сайте
Цитата maker-rus ()
Стандартными средствами - нет.

Не совсем точное утверждение - в GameMaker: Studio были добавлены функции и события для записи звука. Конечно, это всё равно подразумевает кучу работы для стабилизации качества передаваемого звука в случае нестабильной работы сети, но всё же.




Сообщение отредактировал YellowAfterlife - Четверг, 12 Ноября 2015, 14:17
YellowAfterlifeДата: Четверг, 12 Ноября 2015, 03:03 | Сообщение # 151 | Тема: Проблема с инетом
Сейчас нет на сайте
Факт того, что у человека с кабельным подключением к роутеру проблем нет, заметно сдвигает подозрения в сторону роутера.
Помогает ли перезагрузка роутера? Стоящий у меня дома роутер раз в несколько недель отказывается раздавать интернет отдельно взятому устройству, и это исправляется его перезагрузкой.
Нормально ли работают другие устройства, если их подключить напрямую к роутеру? (если есть дополнительные порты)
Есть ли возможность заменить роутер? Если это не какая-то особая смесь роутера и коммутатора, стоимость должна быть небольшой, и нужно будет лишь настроить новый для соответствия конфигурации текущего.


YellowAfterlifeДата: Среда, 11 Ноября 2015, 19:55 | Сообщение # 152 | Тема: Проблемка с камерой.
Сейчас нет на сайте
Скорее всего был нажат Numpad 0, что по умолчанию меняет объект-камеру для сцены (в некоторых версиях Ctrl+Numpad 0).
Переключиться на другой вид, выбрать "настоящую" камеру, нажать внизу справа меню "Вид" - "Камера" - "Установить объект в качестве камеры".
Как другой вариант, выбрать справа вкладку "сцена" (на скриншоте выбрана "модификаторы") и там в первой секции поменять опцию "Камера".


YellowAfterlifeДата: Среда, 11 Ноября 2015, 19:47 | Сообщение # 153 | Тема: Объединение объектов
Сейчас нет на сайте
Такое обычно делают булевыми модификаторами (см. "Union").

YellowAfterlifeДата: Воскресенье, 08 Ноября 2015, 17:44 | Сообщение # 154 | Тема: Как просмотреть вложенные файлы?
Сейчас нет на сайте
Вариант 1: Скопировать (с помощью string_copy) интересующий вложенный файл в удобную тебе внешнюю папку и оттуда забрать.

Вариант 2: Разбить GMK-файл на составляющие с помощью GMK-Splitter.

Вариант 3: Импортировать GMK-файл в GameMaker: Studio (работоспособность после импорта значения не имеет), собрать вложенные файлы из папки "datafiles" в созданной для импортированного проекта папке.


YellowAfterlifeДата: Среда, 04 Ноября 2015, 13:54 | Сообщение # 155 | Тема: Столкновение с платформой.
Сейчас нет на сайте
Всегда можно сделать так, как это работает в GameMaker'е:
1. Сделать игроку функцию, возвращающую, столкнется ли он с каким-либо твердым объектом, если его сместить на указанное количество пикселей по x\y:
Код
boolean placeFree(float dx, float dx) {
// сместить на указанные координаты:
this.rect.y += dx;
this.rect.x += dx;
// перебор платформ:
Platform[] platforms = Game.platforms; // список платформ
int n = platforms.length;
boolean result = true;
for (int i = 0; i < n; i++) if (platforms[i].rect.Intersect(this.rect)) {
  // Если на новой позиции игрок пересекает i-ую платформу, пометить результат и прекратить перебор.
  result = false;
  break;
}
// сместить обратно:
this.rect.x -= dx;
this.rect.y -= dy;
// вернуть результат
return result;
}

2. Построить логику на этом:
Код
int walkSpeed = 4; // скорость ходьбы (пкс\кадр)
float ySpeed = 0f; // текущая вертикальная скорость (пкс\кадр)
float jumpVelocity = 10f; // прирост вертикальной скорости при прыжке
float gravity = 0.5f; // "сила" гравитации
void update() { // выполняется раз в кадр
boolean isOnGround = !placeFree(0f, 1f);
if (isOnGround) { // стоит на земле
  if (jumpPressed()) { // была нажата кнопка прыжка?
   this.ySpeed = -this.jumpVelocity;
  }
} else { // в воздухе: применить гравитацию
  this.ySpeed += this.gravity;
}
// вычислить горизонтальное направление движения (-1\0\1):
int sx = 0;
if (leftDown()) sx -= 1;
if (rightDown()) sx += 1;
// само горизонтальное движение (если нужно):
if (sx != 0) for (int i = 0; i < this.walkSpeed; i++) {
  if (placeFree(sx, 0f)) { // можно сдвинуться на пиксель в направлении - сдвигаемся
   this.rect.x += sx;
  } else { // ударились в стену. прекратить цикл
   break;
  }
}
// вертикальное движение:
int ay = (int)(this.ySpeed + 0.5); // округлить скорость
int sx = 0; // направление движения по вертикали
if (ay > 0) {
  sx = 1;
} else if (ay < 0) {
  ay = -ay;
  sx = -1;
}
// само вертикальное движение:
if (sy != 0) for (int i = 0; i < ay; i++) {
  if (placeFree(0f, sy)) { // можно сдвинуться на пиксель в направлении - сдвигаемся
   this.rect.y += sy;
  } else {
   this.ySpeed = 0f; // сбрасываем вертикальную скорость при ударе об платформы
   break;
  }
}
}


Вариант с неиспорченным форматированием: https://gist.github.com/anonymous/f444b4e781c555bc785a




Сообщение отредактировал YellowAfterlife - Среда, 04 Ноября 2015, 14:04
YellowAfterlifeДата: Воскресенье, 01 Ноября 2015, 14:40 | Сообщение # 156 | Тема: Game Maker Studio Master Collection
Сейчас нет на сайте
Если были деньги на Master Collection, можно приобрести готовый проект на Marketplace и не страдать. Там даже более "сложные" колёса поддерживаются.
Иначе убедится что GMS текущей версии (1.2 вышла два года назад, например, и содержит буквально сотни неисправленных багов), что колеса правильно центрированы (можно создавать fixture кодом), и что они правильно прикреплены (physics_joint_wheel_create) и не сталкиваются с кузовом автомобиля


YellowAfterlifeДата: Среда, 21 Октября 2015, 14:59 | Сообщение # 157 | Тема: Танк.Плавный поворот башни на указатель.
Сейчас нет на сайте
Я делал небольшую запись с иллюстрациями по поводу плавных поворотов.
Можешь разобрать или просто взять оттуда функции cycle и angle_rotate.


YellowAfterlifeДата: Вторник, 20 Октября 2015, 12:40 | Сообщение # 158 | Тема: Рентабельно ли нынче создавать игру
Сейчас нет на сайте
Цитата pixeye ()
http://steamspy.com/ ответит на твои вопросы. Посмотри инди проекты. В целом без претензий с нескольких платформ в совокупности сделать тысяч 150-200$ можно. Но как правильно в одном интервью сказал Орловский - делать игры это не только деньги и профит. Если дело только в этом, то лучше искать другой бизнес.

На фалько не бывал.


SteamSpy как раз рисует не наиболее живописную картину, если присмотреться поближе.
В списке выпущенных в 2015 году игр у наиболее популярных инди игр сотни тысяч владельцев.
Но, в то же время, у последних 200 (9%) из 2350 игр нет никаких данных о владельцах вовсе (обычно означает, что было продано меньше сотни копий), у 490 (20%) игр 1000 или меньше владельцев, а более 10 000 владельцев есть лишь у трети всех игр (включая не-инди).

Rami Ismail (Vlambeer) недавно делал доклад о том, что излишне "разгонятся" (в отношении размеров игры, команды, и прочего) на первых публикуемых играх не стоит - лишь маленькая часть независимых разработчиков зарабатывают достаточно для обеспечения себя, и немало разработчиков в попытке создать "следующую великую игру" влазят в долги.


YellowAfterlifeДата: Вторник, 20 Октября 2015, 11:47 | Сообщение # 159 | Тема: Какой конструктор игр дает больше возможностей?
Сейчас нет на сайте
Construct из трех самый простой в использовании (простую игру можно склепать полностью на стандартных "поведениях") но и самый ограниченный - нестандартные вещи на встроенном языке визуального программирования делаются очень и очень странно. Возможно, от того и получается, что у C2 2.5 миллионов скачиваний (согласно их сайту) но лишь десяток больших игр, сделанных на нем.

Clickteam Fusion имеет несколько более гибкий язык визуального программирования. Местами использование всё равно может быть неуклюжим, но люди делают вполне сложные игры на нем.

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

Ещё двухмерные игры можно делать на Unity. Инструменты по созданию двухмерных игр в него были добавлены относительно недавно, но готовых примеров\расширений\модулей можно найти массу.




Сообщение отредактировал YellowAfterlife - Вторник, 20 Октября 2015, 11:48
YellowAfterlifeДата: Воскресенье, 18 Октября 2015, 11:18 | Сообщение # 160 | Тема: Генерация уровня
Сейчас нет на сайте
Цитата maksim1221232 ()
Подойдёт, вот только я не могу добавить что нибуть своё, например генерацию патрон в комнатах.

В примере создается игрок в первой из комнат. Секция кода помечена комментарием "// Plug in your room-related code here:" (вставляйте сюда ваш код для комнат). К примеру, чтобы создавать по коробке патронов в каждой комнате, можно добавить после комментария какой-нибудь
instance_create(
    wsiz2 * irandom_range(rgx, rgx + rw),
    wsiz2 * irandom_range(rgy, rgy + rh),
    obj_ammo)


Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг