Можно ли использовать flat assembler в его чистом виде для разработки игр

Тема в разделе "WASM.BEGINNERS", создана пользователем Evolution_Pixels, 9 янв 2017.

Метки:
?

Можно ли использовать чистый ассемблер для разработки игр или игрового движка?

  1. Можно!

    16,7%
  2. Вполне вероятно!

    8,3%
  3. Можно и даже нужно!

    8,3%
  4. Нельзя!

    0 голосов
    0,0%
  5. Это не выносимо!

    8,3%
  6. Это невозможно!

    0 голосов
    0,0%
  7. Ты совсем рехнуся?

    0 голосов
    0,0%
  8. А месье знает толк в извращениях!

    75,0%
Можно выбрать сразу несколько вариантов.
  1. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    А вообще компилировать код с помощью flat assembler'a можно тоже на разные платформы но подробнее об этом лучше узнать у автора fasm - Tomasz Grysztar
     
  2. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Что за x32?
    Можно небольшой пример? Самый простой.
     
  3. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Вообще сейчас пошел разговор про демо сцены а не игры. А им перенос не нужен так так они зависимы от рендер системы (DirectX, OpenGL).
     
  4. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Пройдите на сайт flat assembler и гляньте сами или посмотрите в примерах к компилятору. А вообще x32 это 32 битная ОС если я вас не до понял.
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.549
    Адрес:
    Russia
    Вы походу не поняли, что имел ввиду Thetrik . Обычно 32х битная архитектура обозначается x86 аббревиатурой когда говорится о fasm или любой другой ассемблер под интел архитектуру. Так принято. В данном случае нужно писать "x86-64".
    В общем в любом случае код на ассемблере априори не может быть кросплатформенным, а следовательно не годится для написания игрового движка. Потому, что игровой движок априори должен быть кроссплатформенным. Таки да...
     
    Thetrik нравится это.
  6. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Да тогда x86-64.
     
  7. Ronin_

    Ronin_ Active Member

    Публикаций:
    1
    Регистрация:
    24 дек 2016
    Сообщения:
    252
    Если конечно он пишет не в продакш и пишет only для себя. :) Тогда уже до лампочки на кроссплатформенность.
     
  8. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    А вообще компилировать код с помощью flat assembler'a можно тоже на разные платформы но подробнее об этом лучше узнать у автора fasm - Tomasz Grysztar. Повторяю.
     
  9. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Я уже писал про это что если получится с разработкой нормально то будет проект открыт для всех.
     
  10. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    А компилировать почему он может на любую платформу, так потому что компилируемый бинарный файл может быть расширен в исходниках компилятора fasm и можно компилировать на flat assembler хоть проги для спутника Хаббл
    https://ru.wikipedia.org/wiki/Хаббл_(телескоп)
    и также для любых других платформ в том числе PS3, PS4 и Xbox One.
     
  11. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Сейчас я ухожу, вернуть завтра после 18:00 по московскому времени.
     
  12. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Да понятно что можно компилировать. Вопрос в том чтобы сменить платформу на C можно не поменять ни строчи исходного кода, можно ли такое сделать на FASM'е? Думаю можно, но какой ценой? Не сталкивался с ARM но думаю там много различий. Вопрос в переносе, т.к. стартовый топик именно о программировании игр, а игры, как правило, делают кроссплатформенными. Если делать как сам факт написания игры на асме или как обучающий материал то вполне можно, а как серьезный коммерческий проект - не стоит.
     
  13. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Столько шума вокруг этой кроссплатформенности.. что, так много бородатых суровых игрунов под Линуксом? Или дизайнеры под Мак резко захотели в игры играть?

    / конечно, сей разговор "на грани" и рискует привлечь критику, но - много ли Вам известно десктопов не под Вин? За линуксом наблюдаю лет 10, сильно развился, но по моей личной статистике, его место на десктопах у гиков разве что. И смысл в хваленой кроссплатформенности с x86 (x64) <> ARM, если это сводит на нет преимущества "нативных" компилируемых ЯП (имеется в виду падение скорости), и попросту для кросспл. рулят скриптовые движки вроде JS или ВМ ЯП вроде Джавы?

    можно скомпилировать древний архиватор HA из Сишных сорцов, под винду, и он сможет работать с длинными именами файлов (изначально архиватор под дос), но зачем?

    Evolution, вы можете отдельную тему начать курировать - 4к демо. Тема востребованная, со многих ракурсов - тут и паковка EXE, и работа с видяхой, и звук.

    С фасмом вы так или иначе все равно привязаны к target CPU и OS. Для любителей слова "кроссплатформенность" - такой универсальный асм придумали - https://ru.wikipedia.org/wiki/Low_Level_Virtual_Machine
     
    Последнее редактирование: 10 янв 2017
  14. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    _edge, игры (коммерческие) в большинстве своем делают кроссплатформенными (андроид, XBOX, etc.), тоже в большей степени относится и к крупным коммерческим проектам. Никакой потери производительности практически нет, каждый билд собирается под свою платформу/архитектуру. Другое дело что при смене архитектуры/платформы проекта на C/C++/етц. тебе нужно делать гораздо меньше "телодвижений", т.к. ты отвязан от железа. Для ассемблера тоже самое означает перепись всего проекта заново. Даже если учесть наличие кроссплатформенных библиотек то все-равно ты привязан к архитектуре.
     
  15. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Для ассемблера тоже самое означает перепись всего проекта заново. Даже если учесть наличие кроссплатформенных библиотек то все-равно ты привязан к архитектуре.

    Не спорю.

    Никакой потери производительности практически нет

    Но потуги по переносу игр с консолей на ПК на примере Бетмен Аркхем https://habrahabr.ru/post/266385/ и приведенная в комментариях шуточная переписка http://voron-vp.livejournal.com/42033.html о многом говорят. Возможно, компиляторы и библиотеки вылизаны до блеска, но это бессильно против криволапия погромистов, подгоняемых маркетологами.
     
  16. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Не легко но можно!
     
  17. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    ARM процессоры flat assembler так же поддерживает!
     
  18. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Люблю Java. Это мой любимый язык программирования. С него все мои азы кодинга и начались!
     
  19. Evolution_Pixels

    Evolution_Pixels Member

    Публикаций:
    0
    Регистрация:
    9 янв 2017
    Сообщения:
    48
    Его труднее в некотором смысле осваивать. Лучше допилить компилятор flat assembler, благо он с исходниками на самом себе.
     
  20. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Так и не понял при чем тут потеря производительности. Если имелись в виду ошибки то на асме гораздо проще сделать ошибки.
    Если есть то покажи простой пример, я хочу посмотреть на кроссплатформенный проект на ассемблере :grin:
    Да кто спорит? Перечитай о чем я пишу, я уже честно устал, больше не буду.