Комментарии 23
Жанр визуальных новелл перенасыщен низкокачественными поделками максимально, хуже только у (гипер)казуалок. Чем ваша новелла будет выделяться?
Моё преимущество в том, что моей новелле не нужно сильно выделяться =)
Как я писал выше, моя цель - протестировать как сейчас работает инди маркетинг, выход в Steam и юридическое сопровождение бизнеса в условии санкций. Поэтому у меня нет цели заработать, я могу просто делать игру для души: то, что вдохновляет меня.
Конечно, раз есть цель проверить маркетинг, то нужно продумывать и позиционирование продукта. Сейчас я отвечаю на этот вопрос так:
Попробуй себя в роли древнего бога - создателя всего живого
Азраил - бог для смертных и офисный клерк для своих собратьев
Множество мини-игр сделают игровой процесс увлекательней
В следующей статье как раз хочу рассказать про геймдизайн и встроенные к игру элементы квеста, пазлы, батлер с прокачкой героев и т.д. Это та часть, которая отличает "Азраила" от других новелл.
Делаю любительскую визуальную новеллу в команде из двух человек (художник и сценарист/программист). Несложно догадаться, что техническая часть именно на мне. В общем, по поводу выбора движка и редактора кода могу полностью согласиться с автором. Ren’Py запускается на любом батоне напоминающем ноутбук, что для такого бедного студента как я просто подарок судьбы, ну VS Code в представлении не нуждается, отличный редактор.
И вообще аффтор молодец пиши исчо, интересно следить за разработкой. Спасибо за статью.
Очень крутая статья, особенно для тех, кто только начинает. Столько полезной и при этом бесплатной информации. Игру очень жду, мне зашел визуал и интересный сюжет.
Вот бы посмотреть бы исходники реального большого проекта на renpy.
Выглядит это как-то так =)
# Работа с инвентарём
init python:
class Item:
def __init__(self, name, image = "", cost = 1):
self.name = name
self.cost = cost
self.image = image
self.stackable = True
def get_image(self):
return self.image
class Inventory:
def __init__(self, money=0):
self.money = money
self.items = {}
def buy(self, item, amount=1):
if self.money >= item.cost * amount:
self.money -= item.cost * amount
self.add(item, amount)
return True
else:
return False
def add (self, item, amount=1):
if self.items.get(item) == None:
self.items.update({item: amount})
else:
self.items[item] += amount
def earn(self, amount):
self.money += amount
def has_item(self, item):
if item in self.items:
return True
else:
return False
def give_away(self, item, amount=1):
if not self.has_item(item):
return False
elif self.items[item] == amount:
del self.items[item]
else:
self.items[item] -= amount
inventory = Inventory()
# Глава 2
ch2_strange_relic = Item("Необычная реликвия")
# Глава 3
ch3_shadow_shard_contract = Item("Контракт на поставку осколков тьмы")
ch3_gravity_control = Item("Усмиритель гравитации")
# Глава 4
ch4_1_broken_relic = Item("Дефектная реликвия")
ch4_2_dust_vial = Item("Фиал с пылью времён")
# Планета 2 - Саффар
pl2_magnetism_potion = Item("Зелье защиты от магнетизма")
# Планета 3 - Смертриос
pl3_fish_bucket = Item("Ведро задохликов")
И вот таких файликов несколько десятков )
"Бесконечное лето" недостаточно большое? Там, даже, всякие хитрые менюшки и мини-игры выписаны.
А подскажите, как вы настроили интеграцию spine - renpy?
Вы пишите, что выбрали Ренпи и что с вами работают spine аниматоры. Не совсем поняла этот момент?
Вот прям как в Unity подключить Spine нельзя, но можно выгрузить анимашки из спайна в виде мувиков. Лучше всего работает, когда есть webm файл с сайд маской. Чуть хуже, когда просто прозрачный мувик и совсем плохо, когда выгружаешь анимацию в виде сиквенции. Тогда большие анимашки начинают тормозить. В коде при создании персонажа пишем:
image ... = Movie(play="...", side_mask=True)
Пример:
define az = Character('Азраил', color="#94d4ff")
image az idle = Movie(play="images/characters/Azrail_idle_SideMask.webm", side_mask=True)
image az bow = Movie(play="images/characters/Azrail_bow_SideMask.webm", side_mask=True)
image az anger = Movie(play="images/characters/Azrail_anger_SideMask.webm", side_mask=True)
Есть ещё отечественный проект INSTEAD, заточенный в основном под текстовые квесты, но всё же достаточно гибкий, чтобы на него можно было портировать даже игры с ZX Spectrum. Вы пробовали с ним познакомиться?
Немного не в тему, а есть ли такая же доступная новичку платформа по типу RenPy, чтобы сделать игру в жанре beat'em up?
Будет всем проще, если не называть визуальные новеллы играми. Разветвленность сюжета реализованная через интерактив с читателем ещё не делает произведение игрой. Всё это сильно на грани.
Плюс для новеллы главное - хороший текст, т.е. главное - это труд писателя. Потом художника. Потом композитора. И самое малозначительное - это программист. Геймдизайнер вообще в целом не нужен.
Если целью была публикация в Стиме, выбор жанра очень странный. Пустая трата времени на создание чего-то совсем никому не нужного, даже автору. Опыт практически никак не поможет разработке игр.
Кстати, ещё интересное наблюдение. Игре полезно сделать сайт. Мы его нигде не продвигали, не закупали рекламу, но туда регулярно приходит трафик из поисковика, когда кто-то где-то слышал про игру и начинает гуглить её. Оказалось полезно.
https://vengeance-games.ru/azrael
Краткий гайд по созданию визуальной новеллы. Часть 1: подготовка