Найти в Дзене
МорковкаGPT

LazyFoo: лучший сайт для изучения SDL

Здравствуйте, читатели!
Сегодня поговорим о классном ресурсе для изучения SDL. Ссылочка на него будет в конце статьи. Введение
Как нам всем хорошо известно, для изучения программирования в целом и игр в частности очень хорошо знать английский. Не поймите меня неправильно: я не поддерживаю широко распространенную идею, что "у них все лучше". Просто на английском говорит ни много, ни мало - весь мир, а не только американцы, англичане и европейцы. Поэтому на инглише полно материалов, которых на русском просто нет - от разработчиков со всего мира. И, хотя российская школа программирования по праву считается одной из самых лучших в мире (недаром русских хакеров боится весь мир), мы не можем охватить весь опыт в такой огромной и динамичной сфере, как IT. Позже я поясню, зачем я все это сказал.
Есть такой сайтик - lazyfoo.net. И это не реклама - я ничего не получу с этого. И автор - тоже, потому что его проект существует с 2004 года как чистое хобби. Сам автор, если почитать публикации, р
Оглавление

Здравствуйте, читатели!

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

Введение


Как нам всем хорошо известно, для изучения программирования в целом и игр в частности очень хорошо знать английский. Не поймите меня неправильно: я не поддерживаю широко распространенную идею, что "у них все лучше". Просто на английском говорит ни много, ни мало - весь мир, а не только американцы, англичане и европейцы. Поэтому на инглише полно материалов, которых на русском просто нет - от разработчиков со всего мира. И, хотя российская школа программирования по праву считается одной из самых лучших в мире (недаром русских хакеров боится весь мир), мы не можем охватить весь опыт в такой огромной и динамичной сфере, как IT. Позже я поясню, зачем я все это сказал.

Есть такой сайтик - lazyfoo.net. И это не реклама - я ничего не получу с этого. И автор - тоже, потому что его проект существует с 2004 года как чистое хобби. Сам автор, если почитать публикации, работает в неназванной крупной геймдев-компании и делится знаниями на безвозмездной основе. И весь этот сайт - про разработку игр на SDL, то есть как раз по теме нашего канала.

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

SDL old-school


Я не копипастю и не перевожу оттуда на свой канал - я читаю и осмысляю материал. Автор дает уроки работы с SDL на языке С++. В качестве тренировки я переделывал эти примеры на чистый Си. Это интересное упражнение; код отличается, ведь на чистом Си нет классов, а взаимодействия между сущностями и структура кода начинают заметно отличаться. Но вам совсем необязательно этим заниматься, можно просто почитать про:

- настройку рабочего окружения в средах CodeBlocks, Visual Studio, для командной строки и сред в ОС Linux и MacOS;
- хэллоу ворлды на SDL;
- отлов нажатий кнопок;
- то, как вывести картинку на экран;
- скоростную загрузку текстур в память;
- то, как загрузить картинку в видеопамять (VRAM), а не в оперативную (RAM);
- работу с цветами и прозрачность;
- вращение и повороты объектов;
- события мыши и клавиатуры;
- работу с геймпадами и джоями;
- расчет FPS;
- и кучу, кучу подобного вплоть до мьютексов и атомарных операций.

-2


Ни денег, ни подписок - только truly old school, Ъ, "информация должна быть доступна всем". Хакерские принципы, если кто не знает.


Lazy Foo


Я буду стараться использовать этот хороший источник в своих публикациях, но не копипастить. Мы будем разбирать примеры, придумывать свои варианты полезных сниппетов кода, бунтовать и делать все по-своему :) в этом плане очень важен ваш фидбек - если будут полезные комментарии об интересующих вас темах - очень вероятно, что такие статьи появятся на канале. Влияйте!


Почему такой странный проект, да еще и на синем фоне


И правда, почему не всякие модные курсы на SkillFactory или Udemy, нет рекламы и всего такого? Потому что автор - за бесплатный олдскул, за open-source, за превосходство знаний над деньгами, за взлом стереотипов и ржавой системы в целом.

А синий фон - это, вероятнее всего, отсылка к компьютерам времен DOS; Norton Commander - знаменитый файловый менеджер, в котором проходила большая часть работы - был как раз на синем фоне.

-3

И еще одна причина интереса к такому типу источников заключается в том, что лучшие образцы геймдева, иконы стиля, надежности и быстройдействия наподобие Counter Strike - были сделаны на SDL. А такие проекты, как LazyFoo, учат геймдеву именно в таком духе - не на раздутых жирухах типа Unity, а так, чтобы exe-шник игры умещался в нескольких мегабайтах памяти, и работала она со скоростью света. Впрочем, иногда кажется, что чистый Си быстрее света.

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

Спасибо, что оказались здесь!

https://lazyfoo.net/

"Put the fun back into computing. Use Linux, BSD" (c) distrowatch.com