story changes, ui fixes
This commit is contained in:
parent
5619155fe6
commit
913110508c
@ -1,10 +1,10 @@
|
||||
{
|
||||
"version": "v0.0.1.4-2-g20fa78a",
|
||||
"version": "v0.0.1.4-3-g5619155",
|
||||
"title": "Alchemyst",
|
||||
"sizeX": 100,
|
||||
"sizeY": 47,
|
||||
"fpsLimit": 60,
|
||||
"font": ".\/resources\/fonts-ttf\/LiberationMono-Bold.ttf",
|
||||
"font": "./resources/fonts-ttf/LiberationMono-Bold.ttf",
|
||||
"fontSize": "8x12",
|
||||
"verbosity": "debug"
|
||||
}
|
@ -31,7 +31,7 @@ func (ts *GameScreen) Enter() {
|
||||
Print(1, ts.mw.H-2, "Press [color=white]?[/color] for help")
|
||||
}
|
||||
func (ts *GameScreen) Exit() {
|
||||
ts.mw.GetLayer("base").ClearArea(1, ts.mw.H-2, 30, 1)
|
||||
ts.mw.GetLayer("overlay").ClearArea(0, ts.mw.H-3, 30, 3)
|
||||
//remove what we dont need
|
||||
}
|
||||
|
||||
|
@ -67,6 +67,8 @@ func (ms *MenuScreen) HandleInput(input string) {
|
||||
//}
|
||||
|
||||
switch input {
|
||||
case "Escape":
|
||||
fallthrough
|
||||
case "Space":
|
||||
ms.scm.SetScreen(ms.scm.PreviousScreen)
|
||||
break
|
||||
|
0
story/choose_your_pill.md
Normal file
0
story/choose_your_pill.md
Normal file
@ -1,4 +1,6 @@
|
||||
|
||||
|
||||
|
||||
декодирование ввода в отдельном потоке
|
||||
|
||||
Реализация FPS и троттлинг
|
@ -1,5 +1,10 @@
|
||||
RLG и Golang - полезные советы
|
||||
RLG и Golang - некоторые полезные советы
|
||||
===
|
||||
1. [Установка и некоторые особенности работы](./linux_go_blt.md) связки BLT + Go на Linux
|
||||
2. Реализация [некоторых возможностей](./go_chans_for_game.md) Go - chans, tickers, throttling
|
||||
3. [Система типов](./static_types_vs_ecs.md) - нативная или ECS?
|
||||
0. [Выбираем инструменты](./choose_your_pill.md)
|
||||
1. [Установка и некоторые особенности работы](linux_go_blt_install_quickstart.md) связки BLT + Go на Linux
|
||||
2. Что [стоит и НЕ стоит](go_game_dos_and_donts.md) делать с возможностями Go - +chans, +tickers, +throttling, -closures
|
||||
3. [Система типов](./static_types_vs_ecs.md) - нативная или ECS? На самом деле и то, и то
|
||||
|
||||
#####Дополнения
|
||||
|
||||
1. Как [не делать лишнюю работу](./makefile_and_crosscompiling.md) и почему это **важно**.
|
@ -1,9 +1,9 @@
|
||||
Установка и работа с BLT на Linux
|
||||
==
|
||||
|
||||
Для Windows и Mac проблем с Go + BLT, насколько мне известно нет.
|
||||
Про Windows и Mac в контексте связки Go + BLT, я говорить не буду, поскольку не ел устриц.
|
||||
С Linux, которая моя основная рабочая ось - другая история, здесь вносят свой шарм особенности работы линкера.
|
||||
Дело в том, что в составе BLT есть готовые биндинги для Go, НО! В Terminal/Include/Go по умолчанию
|
||||
Дело в том, что BLT написана на C. Но! есть готовые биндинги для Go, НО! В Terminal/Include/Go по умолчанию
|
||||
указаны такие флаги линкера CGO (стр 25)
|
||||
```go
|
||||
// #cgo LDFLAGS: -lBearLibTerminal
|
||||
@ -44,4 +44,6 @@ RPATH ./
|
||||
Ура! Теперь кладем libBearLibTerminal.so прямо в папку с main.go и запускам go run (или скомпилированный бинарник) прям
|
||||
оттуда. Собранные таким образом бинарники будут искать библиотеку в той же папке, где находятся они сами.
|
||||
|
||||
Теперь при дистрибуции приложения можно просто положить .so файл библиотеки рядом, и все будет работать!
|
||||
Теперь при дистрибуции приложения можно просто положить .so файл библиотеки рядом, и все будет работать!
|
||||
|
||||
Вторая кочка, на котрой
|
10
story/makefile_and_crosscompiling.md
Normal file
10
story/makefile_and_crosscompiling.md
Normal file
@ -0,0 +1,10 @@
|
||||
Автоматизация сборки и тестирование
|
||||
===
|
||||
|
||||
- Почему это важно: мелочи сжирают кучу времени. Не позволяйте им это делать!
|
||||
- настройка под Linux: все внешние либы собраны и включены в монорепо (дело вкуса)
|
||||
- Go-специфичные вещи: glide, go mod
|
||||
- Кросскомпиляция, CGO для Mac и Linux. CGO_ENABLED=1, mingw, локальная линковка библиотек
|
||||
- Таргеты: Убираем бардак за собой - distclean, build
|
||||
- Автоматическое тестирование, testify. Не ленитесь писать тесты!
|
||||
- Деплой/публикация после сборки
|
@ -2,8 +2,21 @@
|
||||
|
||||
Плюсы использования нативной системы типов
|
||||
|
||||
- Примитивы типа Rect
|
||||
- Интерфейсы, type casting и переиспользования Blit
|
||||
- свитчи по типам
|
||||
|
||||
Минусы использования нативной системы типы
|
||||
|
||||
- Структура структуры (эм..) иммутабельна
|
||||
|
||||
ECS - меняем бойлерплейт на относительное снижение связности
|
||||
|
||||
Минутка рекламы gogue
|
||||
- Делаем динамическую систему типов там и только там где нам надо
|
||||
- Возможность физически впихнуть в кеш проца все актуальные данные
|
||||
- Особая актуальность для Go - обработка в main thread всего что связано с Io
|
||||
|
||||
Минутка рекламы gogue
|
||||
|
||||
- Толковый туториал, неплохой код
|
||||
- Пользуйтесь и продвигайте
|
Loading…
x
Reference in New Issue
Block a user