😬 Игра на C с использованием Raylib. То, что получилось, на самом деле довольно круто.
В игре «Echoes of the Unseen» ты играешь за временного картографа, исследующего тёмный мир, который изначально полностью скрыт от глаз. Твой основной инструмент это Echo Pulse, что-то вроде сонара. Он временно подсвечивает форму рельефа и раскрывает важные объекты — такие как энергетические кристаллы и враги.
Ключевая механика это управление ограниченным запасом Echo Energy, с помощью которого ты исследуешь невидимую территорию. Некоторые области можно «зафиксировать» навсегда — они станут твёрдыми и видимыми. Также доступны продвинутые инструменты: например, изменение гравитации или создание звуковых мостов.
Однако мир реагирует на твои действия. Если ты ведёшь себя агрессивно, он начнёт порождать враждебные сущности, адаптированные под твой стиль игры. А если злоупотреблять силами, то среда может стать нестабильной. Всё это создаёт динамичный опыт исследования, где решения игрока формируют мир и его опасности.
Исходный код: echoes.c на GitHub Gist
Makefile для сборки:
CC = gcc
CFLAGS = -Wall -Wextra -std=c99 -O2
LDFLAGS = -lraylib -lm -lpthread -ldl -lrt -lX11
# Определение платформы
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
# Флаги для Linux
LDFLAGS += -lGL
endif
ifeq ($(UNAME_S),Darwin)
# Флаги для macOS
LDFLAGS = -lraylib -framework CoreVideo -framework IOKit -framework Cocoa -framework GLUT -framework OpenGL
endif
TARGET = echoes_of_the_unseen
SOURCES = main.c
OBJECTS = $(SOURCES:.c=.o)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(OBJECTS) -o $(TARGET) $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(OBJECTS) $(TARGET)
run: $(TARGET)
./$(TARGET)
.PHONY: all clean run
👉Новости 👉База вопросов