Точка входа в программирование
19.7K subscribers
1.38K photos
253 videos
2 files
2.89K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Свой «Чёрное зеркало»: пишем симулятор жизни на чистом Python

В 7-м сезоне «Чёрного зеркала» показали программиста, запустившего мир с разумными существами. Почему бы не попробовать повторить такое у себя дома? Автор этой статьи собрал мини-вселенную на Python и заставил ИИ-агента выживать в процедурном ландшафте 20×20 клеток. Никаких сложных движков: карта на эмодзи, пошаговая логика и один гигантский промпт, чтобы существо само ставило цели, добывало еду, крафтило лук из тростника и даже пыталось сварить «варенье из камней».

Что интересно:
— агент получает лишь минимальный набор действий (move, search, add_inventory…) — всё остальное он выдумывает сам;
— голод, жажда и комфорт растут в реальном времени, поэтому приходится строить укрытия и искать воду;
— «глобальные цели» задаёте вы: от «собрать копьё» до «построить робота» — и наблюдаете, как ИИ лихо выкручивается;
— следующий шаг — несколько агентов, которые придумают собственный язык эмодзи и начнут торговать или воевать.

Если мечтали о симуляции с минимальным кодом и максимумом веселья — самое время посмотреть, как это реализовано и забрать идею для своего проекта.

А какой ещё абсурдной целью вы бы испытали такого ИИ?

#python #gamedev #ии
Media is too big
VIEW IN TELEGRAM
Копаемся в Overgrowth

Overgrowth — это экшен с антропоморфными животными и рукопашным боем, который разрабатывался более 9 лет. В 2022 году его исходный код стал доступен на GitHub под лицензией Apache 2.0. Запустить игру из него не получится, так как здесь не хватает некоторых важных данных. Зато с помощью него можно:

— изучить архитектуру движка и боевой системы;
— создать модификации и «тотальные конверсии» с собственными ассетами;
— поэкспериментировать с физикой, анимацией и AI;
— воспользоваться фрагментами кода в других проектах.

Репа будет полезна геймдев-разработчикам, а также разработчикам на С++ и AngelScript.

#cpp #angelscript #gamedev
EA выложили исходники их старых игр серии Command and Conquer

Теперь любой желающий может изучить код Red Alert, Tiberian Dawn, Renegade и Generals под лицензией GPL.

Самое время взглянуть на любимую классику с другой точки зрения: https://github.com/electronicarts

#gamedev #github
👍92👏2👀1🫡1
Python + Pygame: делаем головоломку своими руками

Хотите написать свою первую игру и сделать её увлекательной? Этот туториал показывает, как создать головоломку Amazing Frogs на Python с помощью PyGame — и даже не потребуется устанавливать сложные движки. Зато вы:

— научитесь рисовать и обновлять спрайты;
— обработаете ввод с клавиатуры;
— добавите логику уровня.

Всё это шаг за шагом, без воды и с пояснениями. Итог — простая, но живая головоломка, которую можно расширять: добавлять таймер, новые фишки, дизайны и даже звуки.

#python #pygame #gamedev
👍1
Media is too big
VIEW IN TELEGRAM
Aseprite — анимированный редактор спрайтов и пиксель-арт рисунков

Если вы только начинаете творить в цифровой графике и хотите погрузиться в мир спрайтов, анимации и гифок — обратите внимание на Aseprite. Это не просто программа, а инструмент для художников и дизайнеров, любящих пиксель-арт.

Aseprite поможет создать персонажей, UI-элементы и анимацию для игр или блогов. Можно создавать отдельные рисунки или покадровую анимацию с редактируемыми слоями, onion skin и эффектами.

Проект опенсорсный, поэтому можно скачать исходники, собрать под Windows/Linux/Mac и дорабатывать самостоятельно.

Репозиторий: https://github.com/aseprite/aseprite

#gamedev #инструменты
11🔥2
Назад в 80-е: как сделать аркадный автомат со своей 8-bit игрой?

Авторы статьи решили полностью погрузиться в 80-е и собрали несколько своих аркадных автоматов, к которым написали игру.

Вот, что из этого получилось

#история #gamedev
Разработка игры на Python — PyGame

PyGame — это мощный инструмент для создания игр на языке Python, позволяющий разработчикам реализовывать свои творческие идеи с помощью графики, звука и управления, и предоставляющий возможность создавать как простые, так и сложные игровые проекты.

Держите серию роликов, где автор подробно показывает процесс создания аналога Space Invaders — легендарной аркадной игры, ставшей культовым явлением в мире видеоигр. В ней игроки управляют космическим кораблем, стреляя по наступающим рядам инопланетных захватчиков.

@prog_point #python #gamedev
👍2
Как работает сетевой код в многопользовательских играх

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

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

#gamedev
6
Как не надо делать игры

Многие из нас слышали про SOLID, KISS, DRY и так далее. Но у новичков может возникнуть вопрос «а мне то это зачем?».

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

#историяit #gamedev
Space Invaders «с нуля» — Часть 1

Space Invaders — аркадная игра 1978 года и вы наверняка хотя бы раз играли в неё или её пародию. Теперь у вас есть возможность создать её аналог самостоятельно, используя C++.

Мы подготовили перевод статьи, в которой автор составил пошаговое руководство по созданию игры. В этой части вы подготовите окно и контекст OpenGL 3.3, используя GLFW и GLEW.

Присоединяйтесь!

#gamedev #cpp
❤‍🔥4
Как работает 3D в играх и как написать простую 3D-бродилку в консоли

Многие помнят первопроходцев в трёхмерных играх по типу Doom и Wolfenstein 3D. Так как железо в те времена не могло позволить себе больших мощностей, то и трёхмерные движки игр были очень простыми.

В видео автор наглядно объясняет как были устроены те игры, как происходит процесс рендера изображения и для примера создаёт простой 3D-движок прямо в консоли. Автор пишет на С++, но т.к. вся логика вычислений простая, то её не трудно будет воссоздать на любых других языках.

https://www.youtube.com/watch?v=Q9zkiOClyEo

#gamedev
2👍2🔥2
Точка входа в программирование
Создаём свой Space Invaders — Часть 2 Это вторая часть большого гайда по созданию своей версии легендарной игры на плюсах. В первой части мы настроили окно и контекст. Теперь погрузимся ещё глубже и настроим шейдеры OpenGL, чтобы отрисовать спрайт пришельца!…
Space Invaders «с нуля» — Часть 3

Ну что ж, в предыдущих частях мы подготовили основу. Теперь пора перейти к геймплею. В этой части мы добавим игрока и рои пришельцев, анимацию спрайтов и сделаем игровой цикл на фиксированном шаге времени с V-sync.

Также пошагово разберём, как структурировать данные и оживить игровую сцену на C++.

#gamedev #cpp
2