Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
С чего начать делать комп. игры? |
Философия, технологии, алгоритмы! |
|
Опции темы |
18.07.2010, 20:46 | #93 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
18.07.2010, 21:09 | #95 | |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
Не в сети |
Великолепная аналогия! Продолжайте, и мы поймем ваше истинное отношение к профессии! =)
В тревоге за состояние вашего разума и возможности пользования поисковыми системами, таки поведаю: Цитата:
|
|
18.07.2010, 21:19 | #97 |
Форумец
Сообщений: 93
Регистрация: 30.06.2010
Не в сети |
|
18.07.2010, 21:47 | #99 |
Форумец
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42
Не в сети |
те кто асм знать не желает, а как вы оптимизите код в релизе ?
не обязательно же писать на асме, нужно хотябы глянуть листинг ассемблерный в самых тормозных местах который компилятор генерит, и глянуть мож там действия какие лишние получаются, которые можно избежать поменяв порядок вычисления в исходном коде (например). именно програмить на асме вовсе не требуется и не как правило нужно и вредно для кода. у меня релиз часто компилится с сохранением ассемблерного текста и рядом строки исходного на с++. на асме чистом не пишу потомучто код под разные процы компилится, но глянуть иногда полезно что там накомпилилось под каждый проц. я знаю ассембелр x86 и arm , но не програмлю на нем) |
18.07.2010, 22:15 | #101 |
старый хрыч
Сообщений: 6,705
Регистрация: 17.12.2006
Возраст: 37
Не в сети |
The_God,читать и уметь писать это все же разное. Для того чтобы читать достаточно знать наиболее часто встречаемые инструкции и немного понимать что они делают. Я вот вполне успешно ломал программы читая асм и немного разбирая как все это работает. В то же время я не смогу написать на асме тот код, который могу сломать.
|
18.07.2010, 22:19 | #102 |
Out There
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45
Не в сети |
The_God, ну а несчастным php-шникам асм зачем? Асм нужен в ооочень ограниченном числе задач и даже в этих задачах он используется в ооочень ограниченных количествах. Я тоже знаю асм х86 и TMS C5x и что с того? Чем он мне поможет при написании задач, где асм не требуется? Прикладникам асм вообще никуда не впился. 99% прикладных задач не оптимизируются, потому что это дороже, чем написать более высокие сис. требования.
|
18.07.2010, 22:34 | #103 |
Форумец
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42
Не в сети |
>>а несчастным php-шникам асм зачем?
хз зачем, я в php не игрок) мы тут про игры, тем кто делает игры на flash тоже наверное асм не нужен. ну и те кто скриптит на lua или питоне логику игры тоже асм не нужен. но а комуто он нужен ) впринципе мне пофих кто как к асму относится, я не крестоносиц веры в асм ) эт я просто пример полезного использования знания привел. |
18.07.2010, 23:18 | #104 | |
Форумец
Сообщений: 93
Регистрация: 30.06.2010
Не в сети |
Цитата:
Spectator же предлагает путь более идеализированный, его в чем-то можно понять. Так сказать, он выступает за профессионализм разработчика. Но с точки зрения рынка, будь я php-кодером, я бы потратил ценное время и память своего пожизненно запоминающего устройства на технологии, за которые могу получать деньги, а не кичливо кричать на форумах "да кто вы такие, я тут один шарю". |
|
20.07.2010, 21:05 | #105 |
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
Не в сети |
Spectator-у и всем:
Код:
#include <iostream> int main(){ std::cout << "Please enter var." << std::endl; int a = 5; int b; std::cin >> b; __asm{ mov eax,a mov ebx,b add eax,ebx ;можно было слить в одно так: add eax,b mov b,eax ;а точка с запятой(";") - это комментарии ассемблера } std::cout << "Asm return result: " << b << std::endl; std::cin >> b; //задержка return 0; } http://wasm.ru/article.php?article=ole_variant_to_ansi Более того, Каперский советует новичкам учить ассемблер во вставках "Cи приплюснутого". Это намного легче, чем писать на асм полные программы. Но в принципе можно учить ассемблер и в дельфийных вставках. А в чём проблема-то, Spectator? Хошь писать на ассемблере - дык пиши, кто мешает-то? Хоть в С++ пиши, хоть в дельфине пиши... А изучение программирования "по хорошему" надо начинать с машинного кода, а уж от него переходить к ассемблеру и языкам более высокого уровня. Но нынче мало кто придерживается этого правила, а зря. Очень бы помогло.(машинный код+асм экстерном недели две не больше, а остальное придёт с опытом и на языке высокого уровня) Но при этом можно не знать ни машинный код ни асм, но успешно программировать на языке высокого уровня. Просто с багами и оптимизацией справляться будет временами до жути тяжко. |
20.07.2010, 21:22 | #106 | |
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
Не в сети |
Цитата:
В чём сложность ситуации? И вообще кто ещё что-то может сказать про Воронежские игростроительные компании, перспективные коллективы энтузиастов и т.д.? Ну, например, кто-нибудь что ни будь может сказать насчёт этого?: http://www.gamedev.ru/projects/forum/?id=132187 Последний раз редактировалось Избор; 20.07.2010 в 21:38. |
|
20.07.2010, 21:59 | #108 | ||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
Не в сети |
Цитата:
Причём поле возможностей алгоритмов зависит от выразительности языка программирования. В общем это моими словами, а у Касперского более обстоятельно об этом написано в книге. Ток как она называлась не помню, то ли "Компьютерные вирусы изнутри и снаружи", то ли "Искусство дизассемблирования". В общем обе книги почитать крайне полезно. Из "Вирусов изнутри и снаружи" глава "На чём писать" Цитата:
|
||
20.07.2010, 23:29 | #109 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Да никак))) Какое оптимизировать? Без малейшего понимания ассемблера при первой же серьезной ошибке возникнет большой - ууупс)))
А уж об оптимизации говорить без знания архитектуры процессора (и того что он реально выполняет, а это даже рядом не паскаль) - это просто смешно)) |
20.07.2010, 23:32 | #110 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
21.07.2010, 00:06 | #111 | |
Out There
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45
Не в сети |
Цитата:
Оптимизируй хелло ворлд, оптимизатор. ((( Можешь много реальных примеров привести, где нужна оптимизация на асме? ((( Насколько эти примеры распространены и актуальны? ((( Как насчет языков, которые исполняются в виртуальных средах? ((( Расскажи про асмовую оптимизацию в C#, перле, жаве... ((((((( Вообще-то, он Касперски. Касперский, это несколько другой товарищ. |
|
21.07.2010, 03:40 | #112 | ||
Форумец
Сообщений: 93
Регистрация: 30.06.2010
Не в сети |
Цитата:
Цитата:
Касперски - хороший товарищ, но со своими причудами. Не думаю, что стоит воспринимать его как беззаговорочную истину. Чем в современном программировании поможет знание машинного кода? Просто интересно, я не особо люблю этой области касаться, но аргументированное (не надо только про "чтобы знать, как работало", мы так дойдем до устройства машин Паскаля дойдем) мнение рад был бы услышать. |
||
21.07.2010, 08:42 | #113 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Вроде об играх речь идет. При чем тут интерпретируемые языки? Или ты игры на Java разогнался писать?
К тому же на "жаве" есть возможность подключить платформозавизимую библиотеку с функциями, о ужас, в том числе и на asm. Про C# и перл не скажу точно, хотя наверняка.... |
21.07.2010, 09:25 | #114 | ||
Мы вместе
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40
Не в сети |
Из соседней темы взято:
Цитата:
Цитата:
И ещё. Ничего самостоятельного на асме вы не напишите, сколько не говорите об этом. Чем вы занимаетесь? Оптимизируете месяц два десятка строк, написанных на языке высокого уровня программистом за 10 минут? Сколько лет вы будете писать на асме игру целиком? Четырёх байт маловато будет, чтобы эту цифру представить. |
||
21.07.2010, 12:19 | #116 |
Out There
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45
Не в сети |
О, ужас, ты, наверное не в курсе... Что же делать... Придется рассказать... Ты только не волнуйся, но на жаве уже лет 10 как пишут игры. И их - сотни, если не тысячи. Ты только в обморок не упади от такого святотатства.
... как и у туевой хучи других языков. Тоже мне, откровение от спектатора. Только внутренности этой библиотеки программисту на жаве (и всех других языках) глубоко параллельны. Он про них знать не знает и слыхом не слыхивал. Он просто ими пользуется. |
21.07.2010, 14:27 | #117 | ||
Форумец
Сообщений: 93
Регистрация: 30.06.2010
Не в сети |
Цитата:
Цитата:
Причем, последние года 2 -- не только для мобильных |
||
21.07.2010, 15:00 | #118 | ||||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
Не в сети |
Ну да, правильнее так.
А чувак "Каперский"(со своими корешами Крантыксим и Каюкским) - это вообще не нарочный прикол такой... Цитата:
И к тому же не всегда успеваю угнаться за развитием технологий. Может быть сейчас это не проблема, а когда Касперски писал свою книгу это было проблемой. Цитата:
А кто лучше-то книжку написал? И кто нынче без причуд? Цитата:
Можно сказать, классическая ситуация. Когда-то можно разобраться "где собака порылась" логически, методом установки бряков, методом отрывания тараканьих ног, методом сравнения текстовых файлов и т.д. Но если это всё не помогает? Разве помешает дополнительный метод? Это одно. А другое то, что знание машинного кода даёт более чёткое понимание "как это всё работает". Исполняемый файл это для тебя уже не "божественная магия великого Компилятора", а двоичная структура данных, состоящая из числовых команд машинного кода и переменных, с которыми команды работают. Это же и даёт более чёткое понимание работы компилятора, его возможностей. Приходит понимание, что "писать программы" можно и без всяких компиляторов, одним шестнадцатеричным редактором. И вообще ошибки-баги и "бзики" программ как-то лучше, интуитивнее понимаются. А в области построения защитный систем, вирусов/антивирусов это вообще бесценно. В общем, я лично время потраченное на это "пустыми тратами" не считаю. P.S. Ну а насчёт Воронежских игростроительных компаний и команд энтузиастов как дела? |
||||
21.07.2010, 15:09 | #119 | |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
Не в сети |
Цитата:
Если это же не моя программа, то желания отлаживать какбэ обычно не возникает. Так что что-то вы от жизни отстали уж чересчур. |
|
21.07.2010, 15:20 | #120 |
Мы вместе
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40
Не в сети |
Если я правильно понял, то фраза написана с издёвкой. Тут позвольте с вами немного не согласиться. Касательно игрушек переносимость кода (имеется ввиду сам процесс) явлением весьма распространённое и востребованное. Например, первое это выпуск одной и той же игры сразу на PC и консолях. Весьма не простая задача, если её конечно изначально не делали сразу несколько вариантов и для разных платформ. И даже если говорить только о PC, то есть проблема с 32-х и 64-х битными ОС. Не в курсе, что там со всевозможного рода эмуляторами, но код игры для них разный. В своё время опять таки была проблема перехода от одной версии компилятора к другой в связи с тем, что в одной элементы строк были однобайтовые, а в другой с введением поддержки юникода стали двухбайтовые.
|