LINUX.ORG.RU

FPS.cob - первый шутер написанный на COBOL

 , , ,

FPS.cob - первый шутер написанный на COBOL

0

1

Вышел 2.5D шутер, написанный полностью на языке COBOL. Хотя данный язык обычно используется для написания и поддержки бизнес-приложений в финансовой сфере, энтузиаст под ником icitry решил проверить пригодность языка для написания трёхмерных игр. Как и в случае классического Doom, этот шутер опирается на технологию рейкастинга. Разумеется, написание трёхмерного приложения на столь старом языке было сопряжено с определёнными трудностями, так как у COBOL нет своего графического стека или библиотек для операций с пикселями, поэтому FPS.cob выводит каждый кадр игры в формате необработанного растрового изображения в STDOUT. Похожим способом реализован ввод команд, по тем же причинам, но уже относящихся к библиотекам по обработке ввода команд с клавиатуры. Игра доступна под лицензией Apache 2.0 в репозитории проекта на Github.

>>> Репозиторий и подробная информация о проекте



Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 2)

Вижу там очень интересный способ организации гуи: клавиатурный ввод (и мышиный? не знаю) считается из stdin, а вывод графики - видеопотоком в stdout на ffplay, который уже всё и рисует.

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

Ну, IMHO, круто. Можно к выводу IBM/360 подключать ffplay и на печатной машинке играть.

Shadow ★★★★★
()

COBOL нет своего графического стека

А у Си будто бы есть?

библиотек для операций с пикселями

Неужели нельзя дёргать сишные функции?

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

но он ведь в итоге дёргает стдлиб и системные вызовы

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

что такое 2.5d? нечто среднее между 2д и 3д? ни нашим, ни вашим?

Имитация 3D средствами начала 1990-х. 2D с видом из глаз и переменной высотой. Doom 1-2, Heretic, Hexen, Duke Nukem 3D, UFO Aftermath. Ключевое отличие от истинного 3D — невозможно сделать мост, чтобы ходить и по мосту, и под мостом. Хотя летать можно.

Настоящими 3D были Descent, Quake, Daggerfall…

question4 ★★★★★
()
Ответ на: комментарий от etwrq
#!/usr/bin/env bash
set -e

MAP_PATH="${1:-./map/doom_sectors.map}"

cobc -x -free -O2 fps.cob -o fps

if [ -r /dev/tty ]; then
  ./fps "$MAP_PATH" </dev/tty | ffplay -autoexit -f image2pipe -framerate 60 -probesize 32 -vf "scale=800:600:flags=neighbor" -i -
else
  ./fps "$MAP_PATH" | ffplay -autoexit -f image2pipe -framerate 60 -probesize 32 -vf "scale=800:600:flags=neighbor" -i -
fi
madcore ★★★★★
()

Вау! Вспомнил аж молодость.

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

От ща ему джоб офферов привалит! До могилы кода разгребать хватит!

Ну смех, смехом, а у америкосов в финансовой и биржевой сферах все еще активно используется. А специалистов уже не так чтоб много осталось. Вымирают в прямом смысле слова.

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

так cobc -x -free -O2 fps.cob -o fps зохватит терм или оно само в фон уходит и потом через сокеты?
вроде понятно и вроде вопросы.
можно ж для ясности & добавить, стандартное.

всё понял, почитав что такое cobc

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 3)

Ну хоть не убил ни кого в реальной жизни. Уже хорошо.

seiken ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.