 |
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
31.10.2012, 17:35
|
#61
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от IgorOK
Аргументов у меня еще предостаточно. А вот ты похоже не видишь разницы между текстовым файлом и библиотекой, да и еще предлагаешь втыкать компилятор С# в игру. Я уж не говорю о том что ты путаешь сохранение блокнота и компиляцию.
|
Что-то мне подсказывает, что ты не понимаешь, как устроена технология .net. Что такое компиляция в ней. И что компилятор для каждой версии есть на твоем компе, даже если у тебя нету студии или какой другой IDE, но есть framework. 
|
(Offline)
|
|
31.10.2012, 17:36
|
#62
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Альтернатива скриптовику.
>>чтобы что-то подправить нужна IDE" - нет
>>локальной машине тестера
тестеру незачем лазать в скрипты.
>>друга
ему тем более.
(если таки очень хочется, ничего сложного в установке самопальной легковесной IDE нету)
>>демонстрационном компьютере в комнате собраний совета директоров
если тебе на собрании инвесторов\директоров необходимо что-то доводить до ума - у меня для тебя плохие новости)
хотя опять же, ничего страшного в легковесной тулзине нету. Ты как минимум потащишь туда проект. Ещё одну тулзину захватить - уж не надорвись, да.
К тому же в девелоперской версии обычно всё равно всегда всё что нужно под рукой.
и как бэ я не спорю, что скрипт машина предпочтительней.
я просто к тому, что аргументы против рефлексии унылы.
Для скриптовой сцены длл, для этого уровня длл и для того босса длл. Уж тем более для рпг - тысячи длл. Не сказал бы, что это очень удобно.
|
уже убедительней :-d
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо falcon за это полезное сообщение:
|
|
31.10.2012, 17:39
|
#63
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от Gector
Аргумент таков - это не скриптовик. Это - рефлексия. Мы то тоже понимаем что рефлексию можно использовать для таких целей (емнип, даже в кваке третьей как-то похожим образом строились моды), но это годится не для мелких скриптов, а именно для больших модов.
Для скриптовой сцены длл, для этого уровня длл и для того босса длл. Уж тем более для рпг - тысячи длл. Не сказал бы, что это очень удобно.
|
Какая разница тысяча .dll или тысяча .txt ?
Тем более dll в .net это тот же .txt с кодом на IL и методанными.
|
(Offline)
|
|
31.10.2012, 17:53
|
#64
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
Что-то мне подсказывает, что ты не понимаешь, как устроена технология .net. Что такое компиляция в ней. И что компилятор для каждой версии есть на твоем компе, даже если у тебя нету студии или какой другой IDE, но есть framework. 
|
Это вообще отдельный разговор. А если приложение стоит на XP или на старом фреймворке? А если это вообще не windows?
Какая разница тысяча .dll или тысяча .txt ?
|
Скорость компиляции длл и скорость ctrl+s - разные вещи батенька. Кроме того переменные из виртуальной машины вообще можно править в консоли.
|
(Offline)
|
|
31.10.2012, 18:38
|
#65
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от Gector
Это вообще отдельный разговор. А если приложение стоит на XP или на старом фреймворке? А если это вообще не windows?
|
Тогда ты и саму игру не откомпилируешь, чтобы проверить работоспособность своего скрипта.
Сообщение от Gector
Скорость компиляции длл и скорость ctrl+s - разные вещи батенька.
|
23 милисекунды много?  ты ctrl+s дольше нажимать будишь.
Сообщение от Gector
Кроме того переменные из виртуальной машины вообще можно править в консоли.
|
Есть ты хочешь рантайм править переменные, то у тебя должна быть запущена игра. Значит и IDE стоит. А в ней есть дебаг примочки разные. 
|
(Offline)
|
|
31.10.2012, 18:50
|
#66
|
Мастер
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений (для 2,209 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
Что-то мне подсказывает, что ты не понимаешь, как устроена технология .net. Что такое компиляция в ней. И что компилятор для каждой версии есть на твоем компе, даже если у тебя нету студии или какой другой IDE, но есть framework. 
|
Игра - это чаще всего совокупность нескольких классов объектов которые по-разному друг с другом взаимодействуют. При пряморукой реализации настройки параметров этих взаимодействий, можно вообще не использовать всю эту уличную магию с dll'ками и интерпретаторами, а вообще ограничиться конфигами в блокноте.
Представь себе ситуацию: твой дизайнер хочет сделать так, чтобы финальный босс стрелял лучом из глаз, а не кидал огненный шар. Ты будешь ему говорить чтобы он залез в скрипт, отредактировал что-то там, скомпилировал dll и вставил в папку? Не проще ли ему сказать, что в файле босс.txt нужно поправить одну строчку? К примеру:
final_boss_gun=fireball
на
final_boss_gun=eye_beam
|
(Offline)
|
|
31.10.2012, 18:56
|
#67
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
Тогда ты и саму игру не откомпилируешь, чтобы проверить работоспособность своего скрипта.
|
При чем тут компиляция? Речь о дистрибутиве игры.
Сообщение от radiobutton
23 милисекунды много?  ты ctrl+s дольше нажимать будишь.
|
facepalm...
1. [открыть IDE ~10 сек]->[написать скрипт]->[компилировать]->[перенести в директорию]->[запустить приложение]
Если ИДЕ нет то надо ставить.
2. [открыть блокнот <1 сек]->[написать скрипт]->[ctrl+s]->[запустить приложение]
Сообщение от radiobutton
Есть ты хочешь рантайм править переменные, то у тебя должна быть запущена игра. Значит и IDE стоит. А в ней есть дебаг примочки разные. 
|
Ну и круто теперь.
|
(Offline)
|
|
31.10.2012, 19:07
|
#68
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от IgorOK
Игра - это чаще всего совокупность нескольких классов объектов которые по-разному друг с другом взаимодействуют. При пряморукой реализации настройки параметров этих взаимодействий, можно вообще не использовать всю эту уличную магию с dll'ками и интерпретаторами, а вообще ограничиться конфигами в блокноте.
Представь себе ситуацию: твой дизайнер хочет сделать так, чтобы финальный босс стрелял лучом из глаз, а не кидал огненный шар. Ты будешь ему говорить чтобы он залез в скрипт, отредактировал что-то там, скомпилировал dll и вставил в папку? Не проще ли ему сказать, что в файле босс.txt нужно поправить одну строчку? К примеру:
final_boss_gun=fireball
на
final_boss_gun=eye_beam
|
То что ты описал, это не скриптовик.
Мы же обсуждали скриптовики. И я сказал что можно использовать рефлексию. Тут не поналезли троли, говорящие, что рефлексия это не то, что я думаю. Когда оказалось, что рефлексию можно приспособить для написания скриптов, начали придераться к другим мелочам, которые вообще из другой темы.
на счет твоего примера.
Тогда тебе не подойдут и всякие скриптовики инетерпритаторы. Ибо там тот же код, просто на другом языке, не c#. Хотя мб и c#. xD
Ибо все равно придется писать свою систему, которая final_boss_gun=fireball таким образом позволяет менять уровень. Ибо так можно делать, только если у тебя реализован и огненный шар и лазерный луч в коде. А если они у тебя реализованы, то и с помощью рефлексии они меняются заменой 1 строчки.
Boss FINAL_boss = new boss(bla bla bla, Ognenniy_war, bla bla bla).
на
Boss FINAL_boss = new boss(bla bla bla, Lu4_iz_glaz, bla bla bla).
На счет компиляции итд, опять же можно сделать небольшую утилиту(с виду будит как блокнот), которая будит делать и компиляция и сохранение с помощью нажатия одной клавишы(или ctrl+s).
Ты скажешь своему дизайнеру - открой boss.dll и поменяй то, что я описал выше.
|
(Offline)
|
|
31.10.2012, 19:20
|
#69
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от Gector
При чем тут компиляция? Речь о дистрибутиве игры.
|
Ну лол. Для всех игр на c# нужно фреймворк устанавливать. Либо они его включают в дистрибутив. Точно также как для других игр нужен DirectX и без него они не работают. Это уже вопросы к тем кто придумал технологию .net (слизал с явы точнее.  ).
Тоесть проще говоря, если у тебя нету фреймворка, то ты не сможешь поиграть в игры на c# даже если они реализованы без скриптов на рефлексии.
Сообщение от Gector
facepalm...
1. [открыть IDE ~10 сек]->[написать скрипт]->[компилировать]->[перенести в директорию]->[запустить приложение]
Если ИДЕ нет то надо ставить.
2. [открыть блокнот <1 сек]->[написать скрипт]->[ctrl+s]->[запустить приложение]
|
[Открыть самописную утилиту типа блокнота ~ 1.2 сек]->[написать скрипт]->[ctrl+s]->[запустить приложение]
Почему для блокнота не нужно указывать путь, а для скрипта на c# нужно? Если ты хочешь создавать txt файл сразу в нужной папке, то и в моем случае так можно. Просто в этой папке будит 2 файла для каждого скрипта. dll и txt. Либо можно вообще только txt оставить, и компилировать их уже при запуске игры в оперативную память. Тогда вообщем ничем от твоих скриптов через блокнот не будит отличаться, кроме самой программы для редактирования.  Да даже блокнотом можно редактировать и при етом строчки using system. итд не указывать (чтобы время не терять), а игра сама их добавит, когда будит компилировать.
|
(Offline)
|
|
31.10.2012, 19:22
|
#70
|
Мастер
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений (для 2,209 пользователей)
|
Ответ: Альтернатива скриптовику.
Если тебе нужно, элементарно поменять снаряд или тип атаки который прописан для этого, а не сделать так чтобы босса надо было переиграть в пингпонг, то одна строчка в блокноте поможет тебе это сделать без лишних проблем и компиляции dll'ок. Если конечно не подразумеваешь, что твой дизайнер знает C#.
Если всётаки тебе нужно чтобы игрок переиграл босса в пингпонг, то тут 2 варианта:
1. Меняешь это в исходнике игры или dll'ке и компилируешь.
2. Делаешь скрипт, на допустим... Lua. Там с помощью подручных средств собираешь этот самый понг.
Опять же утрированно..
|
(Offline)
|
|
31.10.2012, 19:23
|
#71
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
Мы же обсуждали скриптовики.
|
Вообще то тема как раз и называется "Альтернатива скриптовику". Я имел ввиду все подходы вообще. Не только скриптовики.
Сообщение от radiobutton
И я сказал что можно использовать рефлексию.
|
Использовать можно даже сам язык. Достаточно только понаписать инклюд из кучи функций.
Ибо так можно делать, только если у тебя реализован и огненный шар и лазерный луч в коде. А если они у тебя реализованы, то и с помощью рефлексии они меняются заменой 1 строчки.
|
А на виртуальной машине это как бы не реально?
Кроме того - если у тебя рпг где куча квестов, сцен и миниигр - ты будешь компилить это хозяйство каждый раз?
|
(Offline)
|
|
31.10.2012, 19:35
|
#72
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от Gector
Вообще то тема как раз и называется "Альтернатива скриптовику". Я имел ввиду все подходы вообще. Не только скриптовики.
|
Так зачем упрекать скрипты на рефлексии, что они не подходят для "технологии конфиг файлов"? Если это разные вещи. Точно также скрипты без рефлексии не поддерживают "технологии конфиг файлов". А если и поддерживают, то тогда и скрипты на рефлексии можно переделать под это. Но опять же это все дело уже под конкретную игру и в обоих случаях потребует написания кода. Поэтому в данном случае не вижу преимущества обычных скриптов над скриптами на рефлексии.
Сообщение от Gector
Использовать можно даже сам язык. Достаточно только понаписать инклюд из кучи функций.
|
Тогда придется перекомпилировать экзешник.
Если ты не об этом, то тогда рефлексия это как бы и есть использование самого языка с кучей инклудов. Просто при этом не нужно перекомпилировать экзешник.
Сообщение от Gector
А на виртуальной машине это как бы не реально?
|
Почему нет?
Сообщение от IgorOK
Если тебе нужно, элементарно поменять снаряд или тип атаки который прописан для этого, а не сделать так чтобы босса надо было переиграть в пингпонг, то одна строчка в блокноте поможет тебе это сделать без лишних проблем и компиляции dll'ок. Если конечно не подразумеваешь, что твой дизайнер знает C#.
Если всётаки тебе нужно чтобы игрок переиграл босса в пингпонг, то тут 2 варианта:
1. Меняешь это в исходнике игры или dll'ке и компилируешь.
2. Делаешь скрипт, на допустим... Lua. Там с помощью подручных средств собираешь этот самый понг.
Опять же утрированно..
|
Да я чо отрицаю, чтоле? Я привел факт, что рефлексию можно использовать как скрипты. И при этом не нужно будит перекомпилировать исходники игры. Если тебе нужен метод редактирования конфиг файлами, то его нужно писать отдельно. И рефлексия тут не причем. как и lua скрипты.
|
(Offline)
|
|
31.10.2012, 19:41
|
#73
|
Мастер
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений (для 2,209 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
Да я чо отрицаю, чтоле? Я привел факт, что рефлексию можно использовать как скрипты. И при этом не нужно будит перекомпилировать исходники игры. Если тебе нужен метод редактирования конфиг файлами, то его нужно писать отдельно. И рефлексия тут не причем. как и lua скрипты.
|
Кхм. Зачем писать парсер конфиг-файла на скриптах или ДЛЛ?
Интерпретируемый скрипт - это считай и есть конфиг-файл.
|
(Offline)
|
|
31.10.2012, 19:50
|
#74
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от IgorOK
Кхм. Зачем писать парсер конфиг-файла на скриптах или ДЛЛ?
Интерпретируемый скрипт - это считай и есть конфиг-файл.
|
Ну не совсем. Конфиг файл это же просто соответствие переменная - значение? Ты же сам сказал, так удобнее будит дизайнеру.
а скрипт это уже логические, циклические и другие конструкции.
Зачем? Ну лично для меня незачем, но ты же сам написал, что дизайнеру будит удобнее  Вот для него и написать.
А так понятно, что чем больше в движке учтено таких возможностей редактирования уровней тупо заменой одного значения переменной на другое, тем будит легче потом писать для нее скрипты или конфиги.
|
(Offline)
|
|
31.10.2012, 20:06
|
#75
|
Мастер
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений (для 2,209 пользователей)
|
Ответ: Альтернатива скриптовику.
Сообщение от radiobutton
(1)Ну не совсем. Конфиг файл это же просто соответствие переменная - значение? Ты же сам сказал, так удобнее будит дизайнеру.
а скрипт это уже логические, циклические и другие конструкции.
Зачем? Ну лично для меня незачем, но ты же сам написал, что дизайнеру будит удобнее  Вот для него и написать.
(2)А так понятно, что чем больше в движке учтено таких возможностей редактирования уровней тупо заменой одного значения переменной на другое, тем будит легче потом писать для нее скрипты или конфиги.
|
1. Разница между конфигом и скриптом, что последний подразумевает выполнение. Как правило скрипты содержат небольшие объемы кода и в них можно просто вынести нужные дизайнеру переменные в начало файла. Или в отдельный инклюд скрипта (например: boss_script.txt и boss_designer_variables.txt). Вообще работа дизайнера подразумевает некоторые знания программирования. Разница лишь в том, программист формирует основную логику игры, а дизайнер формирует из этого всего саму игру (создаёт уровни, настраивает урон параметры оружия в игре, кол-во hp противников и т.д.)
2. Ну наконец то мы поняли друг друга.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:21.
|