artomberus: Все меньше интерпретатор выдает "ты что-то забыл...", все больше код работает сразу с первого написания. Это вдохновляет. Значит, понимаю, что происходит, значит, не бездумно подгоняю примеры в карго-код, как было в самом начале. Почти 450 строк! Моя олимпиадная программа была ровно в 2 раза меньше, а казалась мне огромной... Но действительно - финал будет, когда напишу где-то около 3000 строк, а скорее всего, больше. Появилась общая идея для сюжета. Эксплуатация сказочных сюжетов, мифов, правил. Наш герой должен пройти все испытания, чтобы вернуться домой, а по дороге - спасти заодно целый мир, не меньше. Чем более узнаваемы будут образы - тем лучше, будет понятна логика происходящего - для тех, кто знаком со сказками, которые им читали (или они читали) в детстве. Но это пока очень общая идея, конкретика появится в процессе реализации, и пока над ней-то и думаю. У меня складывается такой подход к разработке : каждую сцену прорабатывать детально - предметы, взаимодействия, реакции и комментарии - и только тогда идти дальше. Возможно, более правильный другой подход - сначала делать общую сюжетную канву, а потом ее детализировать и усложнять. Но это я уже буду делать во второй своей игре, если она будет. А здесь все же вот так - прямо на месте все придумывается, главное, чтобы подчинялось общей идее игры, ее цели. Звуки в игре распространяются по лицензии для "некоммерческого использования". Сначала я думал их поменять на звуки с более свободной лицензией, чтобы когда-то выложить игру в стим... Но сейчас думаю - не стоит так спешить с первой игрой. Большие амбиции... А ведь только учусь. Если и буду делать что-то бОльшее - то уже во второй своей игре, и по другим правилам. А эта игра - из любви к искусству, все же, и хочется вложить в нее как можно больше себя. Ну и вернуться к программированию-таки. Код мой не так уж и плохой, если сравнивать с моим же, но 10 лет назад. Там я вообще делал запутанные переходы с кучей goto. Это уже потом залез в интернет и прочитал, что так делать нельзя ни в коем случае...) А когда учился - делал ошибки. Так и здесь - не все так хорошо, как хотелось бы, но в принципе неплохо, раз работает и выдает ожидаемый результат. Но учиться - трудно. В школе это происходило легко, а сейчас почему-то нет... Рассеянность, постоянно не замечаю чего-то важного, что надо учесть, чтобы все работало правильно. У меня мозг работает художественным образом, но применяю я это к строгой логике кода, а так обычно не делают. Пытаясь охватить картину в целом, вместо разбора частностей. Как и языки - учу через примеры, через практику. Отвлеченно, формально-логично - оно не получается. Выходит - сначала стулья - потом деньги...))) Начал комментировать код. Самые основные моменты, которые могут быть непонятны потом. Сделал кнопку меню. Сначала это должен был быть свиток, который появляется в углу игры, но опросив близких, да и подумав логически, пришел к выводу, что свиток никоим образом не намекает на меню и лишь путает игрока - можно подумать, что это лишь элемент оформления. Поэтому поступил проще. Хотел сделать шрифт, как в старых книгах. Подбирал разные - ну есть хорошие шрифты, только закономерность всего одна - чем он красивше, тем хуже читается. А мучить глаза игрока ну вообще никак не хочется. Поэтому пришлось признать, что лучше шрифта для инстеда, чем стандартный - нет. Петр хорошо подобрал его, удачно. И курсив человеческий, расстояние между буквами ровное. Очень хороший шрифт, его и оставил. В инвентаре и в меню шрифт таки изменил, причем в меню он вычурный такой, но это же меню. Читается и ладно. Зато красиво. У игры получилась своя, неплохо проработанная тема. Даже слишком много этому уделил внимания - потому, что с фотошопом дружу. Хочется творить, потому, что творчество дает состояние потока, и тогда не до депрессий и неврозов. Только так можно преодолеть внутреннее чувство упадка. Наверное, для опытных программистов это все игры в песочнице, для меня же это довольно большая нагрузка на мозг, но я хочу этого, чтобы вернуться в прежнее русло. А сейчас пора пойти прогуляться в лес, впервые с начала зимы. Погода теплая, к счастью, здесь, снега почти нет... Возможно, там я и вспомню сюжеты, которые можно применить в игре, творчески переработав их, связав воедино. Язык мой странный, вычурный, смесь интернет-сленга и языка топорных переводов зарубежной фантастики... Но я ведь никогда не проходил русский язык в школе. Все знания - благодаря книгам, которые читал, и общению в интернете. То самое интуитивное изучение, чувство языка. Но оно может сбоить, поэтому перед финалом - буду делать вычитку и проверять все тексты в игре на ошибки, в том числе с помощью интернет-сервисов. А вообще вот как я могу :) obj { nam = 'lake'; dsc = [[Ты видишь {lake|озеро}, которое обросло камышом.]]; act = function(s) p "От озера веет чем-то таинственным. Водная гладь манит тебя... А что, если разгадка твоего появления здесь - как-то связана с ним?" end; used = function (s, w) if (w^'udochka' or w^'udsobr') and firsttime then p [[Ты помыл в озере удочку от пыли. Держать ее в руках стало приятнее.]] firsttime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif (w^'udochka' or w^'udsobr') and secondtime then p [[Ты второй раз окунул удочку в озеро. Она чиста до блеска.]] secondtime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif (w^'udochka' or w^'udsobr') and thirdtime then p [[Ты третий раз намочил удочку. Тебе что, заняться нечем?!]] thirdtime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif w^'udochka' or w^'udsobr' then p [[Ты уже помыл удочку много раз. Сделай что-нибудь другое.]] return elseif w^'vedro' then p [[Аккуратно нагнувшись, чтобы не упасть, ты набрал в ведро воды из озера.]] snd.play('snd/awaterlap.wav', 1) wr = wr+1; take ('vedrofull') remove ('vedro') return end return false; end } Спасибо за внимание :smile:
Ссылка:
http://instead-games.ru/forum/index.php?p=/discussion/comment/12811/#Comment_12811