LINUX.ORG.RU

[извращения][CommonLisp]SDL

 


0

1

Добрый день. Есть идея написать Top-Down RPG в мире похожем на EvilDead. Делаться это будет для (хотя почему будет? уже часть кода есть на python+pygame): 1) поднятия скилла; 2) изучения lisp'a; 3) just for fun ^_^!

Перенос проекта на другой язык делается именно для глубокого погружения в CL (ранее думал делать на Scheme, но нормальных биндингов SDL не нашел). Посему есть ряд вопросов:

1. Туториалы/книги/уроки для быстрого погружения в CL, без теоретики и растекания по древу мысли. Такие, чтобы после прочтения можно было сразу писать. SICP и Practical Common Lisp не советовать - нужен учебный материал по языку, а не по программированию в целом.

2. Туториалы/книги/уроки по SDL в CommonLisp.

З.Ы.: естественно игра будет бесплатной и доступна для свободного распространения под одной из лицензий. Проект планируется очень интересный (есть написанный юмористический сценарий, готовая ролевая система и художник).

З.Ы.Ы.: Может я криворукий, но нагуглил Scheme Guile и что в нем есть SDL. Насколько оно там полноценно и как качество самого интерпретатора. Есть ли возможность компиляции? Есть ли кросплатформенность? Как вообще обстоят дела по написанию с SDL на схеме? Я копал только в сторону ракета, а там все очень плачевно :(. Если это не так - ткните носом.

i_overdose
() автор топика

Если у вас есть сценарий и художник, зачем вам неизвестная вам технология(лисп)? Пишите, на чем знаете.

bik ★★
()

> 1. Туториалы/книги/уроки для быстрого погружения в CL, без теоретики и растекания по древу мысли. Такие, чтобы после прочтения можно было сразу писать. SICP и Practical Common Lisp не советовать - нужен учебный материал по языку, а не по программированию в целом.

Paradigms of Artificial Intelligence Programming (PAIP)

CommonLisp HyperSpec: ftp://ftp.lispworks.com/pub/software_tools/reference/HyperSpec-7-0.tar.gz

2. Туториалы/книги/уроки по SDL в CommonLisp.

LISPBUILDER-SDL: http://code.google.com/p/lispbuilder/wiki/LispbuilderSDL

http://code.google.com/p/lispbuilder/wiki/UsingLispbuilderSDL

http://3bb.cc/tutorials/cl-opengl/getting-started.html

anonymous
()
Ответ на: комментарий от baverman

Я как понимаю Вы используете Schemе? Вы на нем работаете ли для себя/общего образования/интереса/etc? Есть у вас опыт работы с CL?

Вопрос к лисперам/схемерам. Краткое описание проекта: top-down rpg, типа hack'n'slash + много диалогов + радактор. Графика - исключительно 2D (отсюда и SDL). Нудна кроссплатформенность. Какой из лиспов посоветуете?

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

Я как понимаю Вы используете Schemе?

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

Есть у вас опыт работы с CL?

О нем знаю только по лоровским лиспосрачам.

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

А, я просто подумал, что хотите добиться рабочего релиза своего проекта. А вам просто «на поиграться».

Тогда биндинги к sdl можете и не искать - там простой си-интерфейс, берите CFFI и вперед (по типу http://sourceforge.net/projects/cffi-sdl/). В этом случае вам сгодится любой туториал по программированию с SDL.

По языку уже правильно посоветовали hyperspec. Для поднятия навыков смотрите проекты на cliki.net. (мне в свое время, например, помогло чтение исходников ltk)

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

Хм...почему бы и нет. Просто основной код сейчас есть написанный на питоне. Хочется изучить ФЯ для общего образования. Вы не подскажите тогда «быстрых туториалов» для ерланга?

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

есть pattern matching, легкие масштабируемые потоки, удобная акторная модель взаимодействия между потоками, горячая замена кода, замечательный рантайм OTP, нет скобочек :)

p.s. а вообще - все ответы в гугле :)

bik ★★
()

>Такие, чтобы после прочтения можно было сразу писать.

Practical Common Lisp

нужен учебный материал по языку

Practical Common Lisp + CLHS

Practical Common Lisp не советовать ... а не по программированию в целом.

PCL - не по программированию в целом.

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

> Просто основной код сейчас есть написанный на питоне.

Тогда попробуй
http://common-lisp.net/project/clpython/:


CLPython is an open-source implementation of Python written in Common Lisp.
It bridges the Python and Lisp worlds, so you can:

access Python libraries from Lisp;
access Lisp libraries from Python.

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

CLPython

Документация вся в TODOшках. Причем не описаны самые интересные моменты.

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

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

В лиспе (CL) есть или из коробки, или в виде библиотек.

OTP, нет скобочек :)

В Эрланге, как языке, по сравнению с CL ничего нет :)

mv ★★★★★
()

На ЛОРе раньше был такой товарищ, xTerm. Вот он на лиспе пошаговую RPG писал. Потом, правда, его разум помутнился, он захотел поддержки коммьюнити, переписал на Вале. Типа, C#-like больше народа понимает, чем CL.

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

Abuse

Что-то волшебное. Музычка, графика, атмосфера. Спасибо.

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

> нет скобочек :)

Скобочек там хватает. Хоть и в пару раз меньше, чем в Лиспе.

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

В Эрланге, как языке, по сравнению с CL ничего нет :)

Почему?

Потому что CL - богатый язык, а Erlang - нет.

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

Ну это не аргумент. А конкретнее?

Ну как это не аргумент? Символы, макросы, ридер, MOP, CLOS, кондишены и рестарты в эрланге есть? Положим, ридер и рестарты с MOP'ом редко используются, но символы, макросы и CLOS - в хвост и гриву.

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

Guile плохо работает под виндой. Возможности компиляции нет. По Common Lisp'у могу еще посоветовать «Мир Лиспа».

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

Хочется изучить ФЯ для общего образования

Если не боитесь/не лениво/не жалко голову — то APL, J.

buddhist ★★★★★
()

Naughty Dog

Naughty Dog, американская геймстудия писали на Lisp очень прикольные игрушки, пока их не купила Sony..

zZeldan
()
Ответ на: Naughty Dog от zZeldan

> американская геймстудия писали на Lisp очень прикольные игрушки

Они непосредственно CL не использовали, а написали лиспоподобный язык GOAL на Allegro CL, на котoром все и писали.

anonymous
()

> (ранее думал делать на Scheme, но нормальных биндингов SDL не нашел)

Отличный способ выбора языка.

Туториалы/книги/уроки для быстрого погружения в CL
SICP и Practical Common Lisp не советовать

PCL не так уж и по программированию, можно и почитать выборочно, а вот SICP вообще по Scheme. После прочтения SICP рассчитывать писать на CL - это всё равно что после прочтения K&R рассчитывать писать на Java (например).

Туториалы/книги/уроки по SDL в CommonLisp.

Доки по библиотеке, что ли? Там ЕМНИП простой биндинг. Открываешь доки по сишной libSDL и включаешь голову. :)

anonymous
()
Ответ на: комментарий от bik

> горячая замена кода

Когда это из лиспов выпилили? Почему меня никто не предупредил?

нет скобочек

Для большинства других языков я бы сказал, что-то вроде „т.е. есть куча ненужного сингтаксиса“, но в erlang синтаксис на удивление удобоваримый для инфиксного.

anonymous
()
Ответ на: комментарий от mv

> В Эрланге, как языке, по сравнению с CL ничего нет :)

С точки зрения языкостроения это нередко бывает преимуществом. :) Вон в Scheme по сравнению с CL тоже почти ничего нет, а автора это не испугало.

anonymous
()
Ответ на: комментарий от grouzen

> Что побудило писать на CL, а не на scheme?

Одному мне кажется что в вопросе есть лёгкий налёт предвзятости? Да и ответ есть в топике.

anonymous
()
Ответ на: комментарий от mv

> Символы, макросы, ридер, MOP, CLOS, кондишены и рестарты в эрланге есть? Положим, ридер и рестарты с MOP'ом редко используются, но символы, макросы и CLOS - в хвост и гриву.

Во-первых, атомы erlang заменяют немалую часть юз-кейсов символов, во-вторых, *как это рестартами редко пользуются?!?*

anonymous
()

Свободные кроссплатформенные реализации - SBCL (на винде до сих пор без потоков ЕМНИП, жырные образы), CCL (жырные образы, хоть и менее чем в SBCL), ECL (глючный).

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

> а вот SICP вообще по Scheme.

но не про Scheme

После прочтения SICP рассчитывать писать на CL - это всё равно что после прочтения K&R рассчитывать писать на Java (например)

не очень-то верное сравнение

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

Во-первых, атомы erlang заменяют немалую часть юз-кейсов символов,

Атомы Эрланга - это только часть возможностей символов в CL.

во-вторых, *как это рестартами редко пользуются?!?*

Вот так.

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

жырные образы

Nobody cares. К тому же, в SBCL недавна появилась компрессия образов.

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

>> во-вторых, *как это рестартами редко пользуются?!?*

Вот так.

Наверно я что-то не так делаю...

anonymous
()
Ответ на: комментарий от grouzen

Очевидно, мнение автора самого вопроса неавторитетно в таких случаях.

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

уже с потоками на винде (sbcl)

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