Сообщение от DWanek:
Если я правильно понял, то фраза написана с издёвкой.
Не совсем, я посмеиваюсь над нашим спектатором, который переносимость вообще ни во что не ставит.
Сообщение от DWanek:
асательно игрушек переносимость кода (имеется ввиду сам процесс) явлением весьма распространённое и востребованное.
Она (переносимость) - явление распространенное уже везде)
Сообщение от Избор:
Как бы не последний специалист. И языком понятным книги пишет.
А кто лучше-то книжку написал?
И кто нынче без причуд?
Я и не говорил, что он плохой специалист и т.д и т.п. Просто порой он слишком романтичен) Как наш Спектатор. Но Касперского (не того клоуна с антивирусом) я уважаю, книги его читал)
[Ответ]
Spectator 18:46 21.07.2010
Сообщение от Enceladus:
Не совсем, я посмеиваюсь над нашим спектатором, который переносимость вообще ни во что не ставит.
а) я не "ваш" спектатор.
б) переносимость нельзя "ставить" или не "ставить", потому что это просто требование к КОНКРЕТНОЙ ЗАДАЧЕ, которое может быть, и может его не быть. а просто так от балды выбирать Java, чтобы программы резко стали переносимыми (а этого не случится, все равно придется отлаживать и адаптировать) - это глупость.
я - романтичен?)))) смеетесь?)
[Ответ]
lukas 19:54 21.07.2010
Spectator
шутки для - когда последний раз на асме чтото в боевом проекте писал? я вот за 6 лет в геймдеве примерно 0 раз. и низнаю никого ктобы писал. интрисинки используют, но это совсем другое. верю что может быть надо в какихто эзотерических контроллерах. и то они все давно вроде на ц подобных языках живут. впрочем здесь меня не было, врать не буду
[Ответ]
Enceladus 20:09 21.07.2010
Сообщение от Spectator:
переносимость нельзя "ставить" или не "ставить", потому что это просто требование к КОНКРЕТНОЙ ЗАДАЧЕ, которое может быть, и может его не быть.
Я видел ваши размышления на этом форуме. Вы в упор ставили именно привязанность к платформе (по-моему, что-то с WinAPI связанное). Я не могу сказать, что это - хорошо ;\ Надеюсь, после той дискуссии вы и сами поняли, почему.
Сообщение от Spectator:
а просто так от балды выбирать Java, чтобы программы резко стали переносимыми (а этого не случится, все равно придется отлаживать и адаптировать) - это глупость.
Поподробнее в этом моменте, пожалуйста.
Сообщение от Spectator:
я - романтичен?)))) смеетесь?)
Сообщение от Enceladus:
слишком романтичен) Как наш Спектатор
Дон Кихот, в самом худшем смысле...
Сообщение от Spectator:
просто так от балды выбирать Java, чтобы программы резко стали переносимыми (а этого не случится, все равно придется отлаживать и адаптировать) - это глупость
Если компания-разработчик решила, что это самый простой и дешевый способ добиться переносимости - что в этом глупого? Конечно, далеко не всегда приемлем такой простой способ, но частенько - очень даже. Например, всеми любимая циска давно делает управляющее ПО на жаве. И все нормально работает.
[Ответ]
Spectator 21:01 21.07.2010
Сообщение от lukas: Spectator
шутки для - когда последний раз на асме чтото в боевом проекте писал? я вот за 6 лет в геймдеве примерно 0 раз. и низнаю никого ктобы писал. интрисинки используют, но это совсем другое. верю что может быть надо в какихто эзотерических контроллерах. и то они все давно вроде на ц подобных языках живут. впрочем здесь меня не было, врать не буду
Писал - действительно давно (но писал), просто потому что объемы сегодняшних проектов таковы, что на асме даже 1 процент написать кода - непозволительно дорого, легче отказаться от "фичи" вовсе. Но, тем не менее, знание ассемблера очень сильно облегчает
а) отладку кода, в случаях когда творится нечто совершенно неподдающееся пониманию
б) оптимизацию кода на "сях", поскольку я вижу и понимаю во что превратится эта строчка, эта скобка, этот вызов, этот цикл, это условие и пр. при компиляции, и, соответственно, при .выполнении реального машинного кода реальным процессором. (кроме того, я могу проверить - насколько хорошо Я написал код, и насколько хорошо ОПТИМИЗАТОР его, соответственно, оптимизировал).
в) написание буквально нескольких инструкций в начале / конце фунцкии на Сях, которые заменяют стандартные входы - выходы функций и убыстряют очень маленькие функции на 300% и более. Фишка в том что эти маленькие функции часто могут убыстрить весь проект очень существенно. Inline-функции и define тоже спасают, конечно, но чтобы начать их всерьез использовать надо сначала ужаснуться от того во что превращает компилятор функцию из нескольких строк. А для этого надо, опять же, уметь хотя бы ЧИТАТЬ ассемблер.
И т.д.
В целом последнего (умения читать ассемблер) уже достаточно, на самом деле. А этому научиться много проще, чем на нем писать.
[Ответ]
Spectator 21:03 21.07.2010
Сообщение от Enceladus:
Надеюсь, после той дискуссии вы и сами поняли, почему.
Конечно, нет. Программы бывают разные - черные, белые, красные. А у Вас одна только переносимость на уме.
Сообщение от Enceladus:
Поподробнее в этом моменте, пожалуйста.
Сообщение от Spectator:
Писал - действительно давно (но писал), просто потому что объемы сегодняшних проектов таковы, что на асме даже 1 процент написать кода - непозволительно дорого, легче отказаться от "фичи" вовсе. Но, тем не менее, знание ассемблера очень сильно облегчает
а) отладку кода, в случаях когда творится нечто совершенно неподдающееся пониманию
б) оптимизацию кода на "сях", поскольку я вижу и понимаю во что превратится эта строчка, эта скобка, этот вызов, этот цикл, это условие и пр. при компиляции, и, соответственно, при .выполнении реального машинного кода реальным процессором. (кроме того, я могу проверить - насколько хорошо Я написал код, и насколько хорошо ОПТИМИЗАТОР его, соответственно, оптимизировал).
в) написание буквально нескольких инструкций в начале / конце фунцкии на Сях, которые заменяют стандартные входы - выходы функций и убыстряют очень маленькие функции на 300% и более. Фишка в том что эти маленькие функции часто могут убыстрить весь проект очень существенно. Inline-функции и define тоже спасают, конечно, но чтобы начать их всерьез использовать надо сначала ужаснуться от того во что превращает компилятор функцию из нескольких строк. А для этого надо, опять же, уметь хотя бы ЧИТАТЬ ассемблер.
И т.д.
В целом последнего (умения читать ассемблер) уже достаточно, на самом деле. А этому научиться много проще, чем на нем писать.
под первыми двумя подпишусь. третье не соглашусь. компиляторы обычно пишут так что если оно видит асм блок, у оптимизатор сносит крышу и на выходе получается не пойми что. в отличие от тех же интринсинков к примеру. ну и такие оптимизации очень дорогие против алгоритмических. ну т.е. по мне надо быть либеральней и первых двух пунктов заглаза хватает, чтобы иметь представление о)
[Ответ]
Spectator 08:32 22.07.2010
Сообщение от lukas:
компиляторы обычно пишут так что если оно видит асм блок, у оптимизатор сносит крышу и на выходе получается не пойми что.
Не совсем так, НЕКОТОРЫЕ компиляторы ВООБЩЕ не оптимизируют функции с ассемблерными вставками, и делают это совершенно открыто и официально об этом сообщается в документации. И в этих случаях тоже можно выкрутиться - полностью написать функцию на Сях, скопировать УЖЕ ОПТИМИЗИРОВАННЫЙ код в отладчике, вставить в виде ассемблерного блока, потом оптимизировать его вручную. Т.е. не написать с нуля, а переделать места где оптимизатор облажался, убрать ненужную инициализацию и пр.
[Ответ]
Избор 12:12 22.07.2010
Сообщение от dn2k4:
Если это моя отлаживаемая программа то даже борландовский td.exe, мир его памяти, умел показывать строку кода на нативном языке, если проект собирался с отладочной инфой.
Если это же не моя программа, то желания отлаживать какбэ обычно не возникает.
Так что что-то вы от жизни отстали уж чересчур.
Это разговор не по теме. Я говорил как знание машинного кода помогает в программировании на языках высокого уровня. И ещё далеко не всё сказал. Например, студентам обычно будут объяснять, что "некоторые переменные хранятся в стеке". А что такое стек? Им будут нести чушь о каких-то тарелках или пластинках. В результате они ничего не поймут. Другое дело, если вы имели опыт работы с машинным кодом или с ассемблером, тогда вы "с ходу" поймёте, что такое стек, для чего и в каких ситуациях используется.
В общем эта тема большая, но не про игры.
А вы в ответ об реверсном инжиниринге.
Тема обратной разработки крайне интересна и обширна, но опять же отсылаю вас к книгам Касперского.
А я лично был, есть и скорее всего всегда буду за открытый исходный код. Потому, что считаю, что "права интеллектуальной собственности" обслуживает интересы почти исключительно крупных аферистов и являются инструментами отторжения продукта у истинных создателей в пользу тех у кого власть, деньги и сила. Но обратной разработкой заниматься времени нет, ибо занимаюсь играми...
В общем сильный всегда прав, поэтому закрытый код для большинства смерти подобен. Но часть из того большинства сами этого не понимают.
Вот замечательный сайт посвящённый обратному инжинирингу, машинному коду и ассемблеру: http://wasm.ru/publist.php?list=22
Почти весь цикл статей для новичков будет полезно знать всем начинающим, ну а что дальше - реверсный инжиниринг или разработка продуктов на языках высокого уровня - пусть каждый решает сам.
[Ответ]
Избор 12:42 22.07.2010
Но к играм.
Отсюда вот можно скачать 2 замечательные вещи(помимо учебников С++ и по дельфину, если кому надо) http://gamecoding.moy.su/load/
1. Прекрасную программу FlameMaker, которую можно использовать для формирования анимации взрыва для комп. игр. Огромная ценность на самом деле. Каждый разработчик игр должен иметь кучу таких программ и вообще качать их отовсюду, где только встретятся.
2. Конвертер из .3ds файлов в .x файлы. .3ds файлы поддерживает 3D Studio Max, а .x формат поддерживают DirectX и Иррлихт, к примеру.
Из 3D Studio Max в .x формат модель перевести поможет плугин для макса по названию Panda DirectX Exporter.
Отсюда можно скачать вариации этого плагина для всех версий макса начиная с 3-тьей. http://www.andytather.co.uk/Panda/di...downloads.aspx
Но, если у вас уже был установлен 3д макс, а вы поставили последнюю версию DirectX SDK этот плагин должен был поставиться "автоматом".
Опа, сайт "Мир Иррлихт"(ожил, родимай, радость то какая!!!) Только пока что на нём мало что есть. Но статья по установке Иррлихта более обстоятельная, чем у меня. http://irrlicht.at.ua/publ/1-1-0-4
+ примеры кода на форуме. + там же можно и спросить что-то.
Ну и напоследок, утилитка, помогающая в разработке программ.
AVC - расширенное сравнение файлов(Freeware). http://linesoft.org/?lng=ru&go=avc
В общем думаю, новичкам очень пригодятся программки по типу AVC и вообще все, которые облегчают разработку и отладку программ. Сам буду рад любому опыту и советам.
Так же буду благодарен за ссылки на статьи по программированию эффектов(по типу исходного кода к FlameMaker-ам). И на программы по типу фламемакера тоже. Тут фишка какая - статьи по программированию фламемакеров - это уровень технологий, а сам фламемакер - это уровень разработки. Как бы по моей теории.
[Ответ]
Spectator 20:45 22.07.2010
Сообщение от Избор:
Ну и напоследок, утилитка, помогающая в разработке программ.
AVC - расширенное сравнение файлов(Freeware). http://linesoft.org/?lng=ru&go=avc
В общем думаю, новичкам очень пригодятся программки по типу AVC и вообще все, которые облегчают разработку и отладку программ. Сам буду рад любому опыту и советам.
Так же буду благодарен за ссылки на статьи по программированию эффектов(по типу исходного кода к FlameMaker-ам). И на программы по типу фламемакера тоже. Тут фишка какая - статьи по программированию фламемакеров - это уровень технологий, а сам фламемакер - это уровень разработки. Как бы по моей теории.
Tortoise SVN рулит, если уж говорить о программе сравнения файлов (это нечто большее, безусловно). А для отладки программ неплохо подходит MS Visual Studio Professional Edition [Ответ]
X0R 20:49 22.07.2010
Сообщение от Spectator:
Tortoise SVN рулит, если уж говорить о программе сравнения файлов
Безусловно, Вы неправы))) как обычно, впрочем) Tortoise SVN включает в себя весь функционал WinMerge и много-много больше, вообще вещи несравнимые, это как notepad с Word'ом сравнивать)))
[Ответ]
X0R 21:47 22.07.2010
Сообщение от Spectator:
Безусловно, Вы неправы))) как обычно, впрочем)
а кто то опять демонстрируете свою т.
Сообщение от Spectator:
это как notepad с Word'ом сравнивать)))
это примерно как в качестве вьюера фотошоп использовать.
[Ответ]
dn2k4 22:02 22.07.2010
Сообщение от Избор:
А вы в ответ об реверсном инжиниринге.
Глухой не услышит, так выдумает, прости Господи...
Сообщение от Избор:
Вот замечательный сайт посвящённый обратному инжинирингу, машинному коду и ассемблеру:
Сообщение от X0R:
это примерно как в качестве вьюера фотошоп использовать.
Вообще это специализированный инструмент для программистов. Вы о чем вообще?
[Ответ]
X0R 22:21 22.07.2010
Сообщение от Spectator:
Вы о чем вообще?
я о том, что Tortoise SVN это система контроля версий, а не инструмент для сравнения файлов.
[Ответ]
Spectator 22:23 22.07.2010
Сообщение от X0R:
я о том, что Tortoise SVN это система контроля версий, а не инструмент для сравнения файлов.
Я вроде доступно объяснил (Tortoise SVN рулит, если уж говорить о программе сравнения файлов (это нечто большее, безусловно)) что это НЕ только инструмент для сравнения, но он ВКЛЮЧЕН.
Прежде чем что-то писать, неплохо бы научиться ЧИТАТЬ.
[Ответ]
X0R 22:36 22.07.2010
Я вроде тоже доступно объяснил, что это примерно как фотошопом картинки смотреть. Но видимо кто то не понял. Ну чтож, каждому по возможностям.
[Ответ]
Spectator 22:48 22.07.2010
Сообщение от X0R:
Я вроде тоже доступно объяснил, что это примерно как фотошопом картинки смотреть. Но видимо кто то не понял. Ну чтож, каждому по возможностям.
Еще раз - даже разрабатывая программу самостоятельно SVN необходим как воздух.
Чтобы это понять необходимо
а) разрабатывать программы
б) попробовать SVN в действии
уверен что Вы не делали ни того ни другого, мсье рассуждалкин.
[Ответ]
dn2k4 23:04 22.07.2010
Сообщение от Spectator:
б) попробовать SVN в действии
svn - прошлый век, попробуйте git. Там есть децентрализованное сравнение файлов, tortoise отдыхает. Думаю, оцените.
[Ответ]
X0R 23:04 22.07.2010
Сообщение от Spectator:
самостоятельно
если разрабатывать программу самостоятельно, т.е. индивидуально - можно прекрасно обойтись без SVN
Сообщение от Spectator:
уверен что Вы не делали ни того ни другого
это только ваше мнение. А вообще после ваших многочисленных сливов, вам давно было пора сесть и подумать.
[Ответ]
dn2k4 23:12 22.07.2010
Сообщение от X0R:
А вообще после ваших многочисленных сливов, вам давно было пора сесть и подумать.
Сообщение от X0R:
если разрабатывать программу самостоятельно, т.е. индивидуально - можно прекрасно обойтись без SVN
Если разрабатывать поделушку для университета, а не программу.
[Ответ]
Spectator 23:36 22.07.2010
Сообщение от dn2k4:
svn - прошлый век, попробуйте git. Там есть децентрализованное сравнение файлов, tortoise отдыхает. Думаю, оцените.
Спасибо, посмотрю, с одной стороны Линуса Торвальдса уважаю как человека, с другой - даже такое краткое описание как то пугает)))
[Ответ]
X0R 23:36 22.07.2010
Сообщение от Spectator:
Если разрабатывать поделушку для университета, а не программу.
яви же пример программы, о великий _________ (нужное подставить)
[Ответ]
Spectator 23:39 22.07.2010
Сообщение от X0R:
яви же пример программы, о великий _________ (нужное подставить)
что ты ко мне привязался как банный лист? я не студент давно, чтобы рассказывать о проектах, в которых участвовал, у меня член в достаточной степени большой.
к тому же уже упоминал, когда ты меня в прошлый раз затрахал.
[Ответ]