LINUX.ORG.RU
ФорумTalks

36 лет назад Билл Гейтс с другом в 4 часа утра...

 


0

1

Написали эту божественную игру!

Исходники: https://github.com/coding-horror/donkey.bas/blob/master/donkey.bas

Игорь обладает душой, и поэтому оптимизирован под 4.77Mhz процессор, поэтому посмотреть живую симуляцию: http://www.pcjs.org/devices/pcx86/machine/5150/cga/64kb/donkey/

Andy Hertzfeld (член первой команды Apple Macintosh) вспоминает, как они восприняли эту игру: http://www.folklore.org/StoryView.py?project=Macintosh&story=Donkey.txt

... but we were amazed that such a thoroughly bad game could be co-authored by Microsoft's co-founder, and that he would actually want to take credit for it in the comments.

Ничего не поделаешь, это флешь

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от lenin386

Ну и где требования писать графические и видео-редакторы на чистом питоне, без дёргания машкодов, чтобы замерить его производительность в чистом виде?

Такого требования нет, но нельзя сравнивать тёплое с мягким.

Замечательно! Тогда хелловорд на спектрумбейсике быстрее аналогичного на гццэщных сях на ПК, потому что выполняется на чистом железе со скоростью Х, а сишный - со скоростью Х умноженной на бесконечность.

Napilnik ★★★★★
()
Ответ на: комментарий от lenin386

Насчёт знака ты погорячился, и нулевой строки нет.

Однако её делали чтобы потом нельзя было редактировать штатными средствами.

Napilnik ★★★★★
()

Ничего не поделаешь, это флешь

При чём тут Flash? Разве игра не работает на pure JS?

MyLittleGentoo
()

640КБ 4 цветов хватит всем? Да и то, четвёртый цвет появляется только тогда, когда бедный ослик разлетается на 4 части при столкновении.

Чесслово, любая реализация понга на порядок качественней.

border-radius
()
Ответ на: комментарий от Napilnik

Замечательно! Тогда хелловорд на спектрумбейсике быстрее аналогичного на гццэщных сях на ПК, потому что выполняется на чистом железе со скоростью Х, а сишный - со скоростью Х умноженной на бесконечность.

Ну, во-первых, не на бесконечность, а на вполне конечную величину, хоть и довольно большую. Во-вторых, спектрумбейсик медленнее, это проверено много раза.

lenin386 ★★★★
()
Ответ на: комментарий от andreyu

. Сколько прерываний в секунду генерировалось, столько кадров и было. А задача программиста уложиться в одно прерывание, дабы не потерялась плавность.

Это какбэ не так просто, с учётом того, что даже с помощью LDIR ты за прерывание зальёшь не более 1/3 экрана.

Можно посмотреть на список этих обычных игр с fps около 5?

Ну, вот посмотри. FPS тут местами не больше 2. https://www.youtube.com/watch?v=batwiJmqZoE Вот тут около 5https://www.youtube.com/watch?v=G2TEpNQRutI Вот тут тоже 2-5 https://www.youtube.com/watch?v=s2aYrkofKHM

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

Это какбэ не так просто, с учётом того, что даже с помощью LDIR ты за прерывание зальёшь не более 1/3 экрана.

Где вы видели идиотов, которые заливают экран с помощью ldir?
Зачем в игре очищать весь экран каждый кадр? Про dirty rect слышали?

Ну, вот посмотри. FPS тут местами не больше 2. https://www.youtube.com/watch?v=batwiJmqZoE Вот тут около 5https://www.youtube.com/watch?v=G2TEpNQRutI Вот тут тоже 2-5 https://www.youtube.com/watch?v=s2aYrkofKHM

Ключевое слово «местами»?
И чем это вы производили измерения? Неужели вначале каждого фрейма меняли цвет бордюра, а в конце фрейма восстанавливали цвет и по размеру «заливки» (пересечению, если в один фрейм не уложилось) определяли fps?

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Где вы видели идиотов, которые заливают экран с помощью ldir?

разумеется, так не делают. Но это показывает уровень производительности сей техники.

И чем это вы производили измерения?

Глазком и руками, там всё ясно-понятно, стОит только попробовать. Все эти игры нещадно тормозили, просто когда мы были маленькими, сравнивать было не с чем, а сейчас стоит только попробовать и всё ясно - оно жутко тормозит.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Где вы видели идиотов, которые заливают экран с помощью ldir?

разумеется, так не делают. Но это показывает уровень производительности сей техники.

Это показывает уровень автора, не более.

Глазком и руками, там всё ясно-понятно, стОит только попробовать.

Я с середины восьмидесятых все это пробовал многократно на разнообразных клонах спектрума.

Все эти игры нещадно тормозили,

Далеко не все, а только те, которые были написаны такими же «программистами» как и Б. Гейтс.

просто когда мы были маленькими, сравнивать было не с чем,

Мы сейчас сравниваем с конкретной игрой от Б. Гейтса. Впрочем и тогда было достаточно много и домашних компьютеров, и игровых приставок.

а сейчас стоит только попробовать и всё ясно - оно жутко тормозит.

Окей.

andreyu ★★★★★
()
Последнее исправление: andreyu (всего исправлений: 1)
Ответ на: комментарий от andreyu

Это показывает уровень автора, не более.

Разумеется, показывает. Только не с той стороны. Вот есть у меня есть такой документ, называется «Требования к исходному тексту программ». И там, среди прочего, вот чёрным по белому написано «Запрещается использовать трудные для понимания приёмы. Не использовать аппаратно-зависимые конструкции». Понимаешь в чём дело, промышленная разработка ПО - это немного не то, что ты думаешь. Тут какиры без надобности.

Мы сейчас сравниваем с конкретной игрой от Б. Гейтса

да. И она не тормозит, при том что написана только на бейсике. Чётко и просто, без вы####в.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Во-вторых, спектрумбейсик медленнее, это проверено много раза.

А в вышепреведённом тесте порвёт как Тузик грелку.

Napilnik ★★★★★
()

Как-то быстро тема заросла всяким коммишлаком. Почему везде, где упоминается Билл Гейтс, путаются под ногами коммунисты и им сочувствующие? Как будто он СССР развалил.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от rezedent12

sub в GW-BASIC нет.

Оно там ужасно

И вот так все время. Как с такими людьми вообще можно разговаривать без рукоприкладства? %)

Nervous ★★★★★
()
Ответ на: комментарий от lenin386

Вот есть у меня есть такой документ, называется «Требования к исходному тексту программ». И там, среди прочего, вот чёрным по белому написано «Запрещается использовать трудные для понимания приёмы. Не использовать аппаратно-зависимые конструкции».

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

Понимаешь в чём дело, промышленная разработка ПО - это немного не то, что ты думаешь. Тут какиры без надобности.

«И тут смешались люди, кони»

да. И она не тормозит, при том что написана только на бейсике.

Это уже просто фанатизм какой-то. Спектрумовский игры у вас жутко тормозят, а поделие Гейтса летает.

Чётко и просто, без вы####в.

Да, четкий говнокод.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

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

низкоуровневый код писать не нужно без крайней на то необходимости.

lenin386 ★★★★
()
Ответ на: комментарий от Nervous

sub в GW-BASIC нет.
Оно там ужасно

И вот так все время. Как с такими людьми вообще можно разговаривать без рукоприкладства? %)

Ты дурак! SUB и GOSUB - это разные операторы. А ведь ты мог бы «побить невиновного» делая скоропалительные выводы основанные на своём невежестве и самоуверенности.

rezedent12 ☆☆☆
()
Ответ на: комментарий от EXL

А Билл Гейтс - не самый последний из тех, кто принял участие в развале совка. Совок бросил все силы на копирование эвм семейств pdp. Сложные, мощные. Кто мог подумать, что они окажутся неудел. И тут внезапно на арену вырывается какое-то поделие. Завоёвывает весь рынок, сокрушает всех. Сил на копирование поделий у совка уже не осталось. Нет вычислительных машин, всё пропало.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от rezedent12

Ты дурак! SUB и GOSUB - это разные операторы.

Это не делает их несуществующими, а тебя не совравшим %)

мог бы «побить невиновного»

Не твой случай. Твои потрясающие способности к вилянию и отрицанию фактов известны даже ежу.

Nervous ★★★★★
()

... без предъявления каких-либо претензий к IBM, без объявления войны, мелкомягкие войска напали на нашу страну, атаковали наши границы во многих местах и подвергли бомбежке со своих самолетов наши города — OS/2, PC-DOS некоторые другие, причем убито и ранено более двухсот человек. Налеты вражеских самолетов и артиллерийский обстрел были совершены также с яблочной и интелевой территории.

gnomosek
()
Ответ на: комментарий от Nervous

Ты дурак! SUB и GOSUB - это разные операторы.

Это не делает их несуществующими, а тебя не совравшим %)

Ты демагог. SUB - это полноценная процедура и этого оператора в GW-BASIC нет, он есть в QBASIC. А GOSUB судя по описаниям которые я читал тогда, не поддерживал рекурсию, поэтому я его и не использовал.

https://en.wikibooks.org/wiki/QBasic/Subroutines_and_Functions

http://basic113.narod.ru/commands/gosub.html

https://support.microsoft.com/ru-ru/kb/73084

Ты просто ищешь к чему бы придраться. Факт. SUB в GW-BASIC не было, оно появилось в QBASIC (QuickBasic).

GOSUB не самый удобный оператор для подпрограмм, к тому же он не был описан в доступной мне в то время брошюрке. Чуть позднее я узнал о его существовании и о том что он примерно делает. Но решил его не использовать так как для моей манеры программирования он был неудобен. А потом я стал использовать QBASIC с нормальными SUB и FUNCTION.

Факты отрицаешь ты не вникая в них и бросаясь голословными обвинениями.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

Ты демагог.

No u.

SUB - это полноценная процедура и этого оператора в GW-BASIC

Но gosub-то есть как альтернатива ифам и гото. Разве нет? %)

Nervous ★★★★★
()
Ответ на: комментарий от EXL

Потому что у красных нищебродов люто горит. Они-то лучше этого тупого Гейтса знают, как надо наживать и тратить деньги.

Deleted
()
Ответ на: комментарий от Nervous

Но gosub-то есть как альтернатива ифам и гото. Разве нет? %)

Альтернатива, не поддерживающая вложенность (как я тогда прочитал). Поэтому я реализовал вложенные функции специальным приёмом кодирования.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

иначе говоря, ты не программист. Хотя бы потому, что найти работу на баше или ганжубасе нереально. Все с тобой ясно.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

иначе говоря, ты не программист. Хотя бы потому, что найти работу на баше или ганжубасе нереально. Все с тобой ясно.

Я не профессиональный программист, программирую для собственного удовольствия, то что хочу и как сам хочу. Поэтому программируя я могу себе позволить перфекционизм.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

я могу себе позволить перфекционизм.

Видели мы твой перфекционизм, изваянный из говна и медных палок :D

Nervous ★★★★★
()
Ответ на: комментарий от stevejobs

так ведь баш тоже не может в рекурсию

хм.. ты о чём типа программа на bash не может запустить ещё одну свою копию?

rezedent12 ☆☆☆
()
Ответ на: комментарий от stevejobs
#!/bin/bash
# recursion-demo.sh
# Демонстрация рекурсии.

RECURSIONS=9   # Глубина рекурсии.
r_count=0      # Должна быть глобальной. Почему?

recurse ()
{
  var="$1"

  while [ "$var" -ge 0 ]
  do
    echo "Recursion count = "$r_count"  +-+  \$var = "$var""
    (( var-- )); (( r_count++ ))
    recurse "$var"  #  Функция вызывает себя (рекурсия)
  done              #+ до тех пор пока не сработает условие. Какое?
}

recurse $RECURSIONS

exit $?

(c) http://www.bash-scripting.ru/abs/chunks/ch23s02.html

Еще как может.

newpunkies
()

Почему-то опять хочется выпить за непредвиденные обстоятельства, а после за капитализм.

dk-
()
Ответ на: комментарий от newpunkies

вот эта твоя «глубина рекурсии» и показывает, что баш в рекурсию не умеет. Даже в tail call optimization не умеет.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от rezedent12

программа на баше может запустить еще одну свою копию. А вот функцию рекурсивно она выполнять не может, потому что в какой-то момент случится stack overflow.

stevejobs ★★★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.