story changes, ui fixes

This commit is contained in:
anton.gurov 2019-11-08 13:52:15 +03:00
parent 5619155fe6
commit 913110508c
9 changed files with 45 additions and 11 deletions

View File

@ -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"
}

View File

@ -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
}

View File

@ -67,6 +67,8 @@ func (ms *MenuScreen) HandleInput(input string) {
//}
switch input {
case "Escape":
fallthrough
case "Space":
ms.scm.SetScreen(ms.scm.PreviousScreen)
break

View File

View File

@ -1,4 +1,6 @@
декодирование ввода в отдельном потоке
Реализация FPS и троттлинг

View File

@ -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) и почему это **важно**.

View File

@ -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 файл библиотеки рядом, и все будет работать!
Вторая кочка, на котрой

View File

@ -0,0 +1,10 @@
Автоматизация сборки и тестирование
===
- Почему это важно: мелочи сжирают кучу времени. Не позволяйте им это делать!
- настройка под Linux: все внешние либы собраны и включены в монорепо (дело вкуса)
- Go-специфичные вещи: glide, go mod
- Кросскомпиляция, CGO для Mac и Linux. CGO_ENABLED=1, mingw, локальная линковка библиотек
- Таргеты: Убираем бардак за собой - distclean, build
- Автоматическое тестирование, testify. Не ленитесь писать тесты!
- Деплой/публикация после сборки

View File

@ -2,8 +2,21 @@
Плюсы использования нативной системы типов
- Примитивы типа Rect
- Интерфейсы, type casting и переиспользования Blit
- свитчи по типам
Минусы использования нативной системы типы
- Структура структуры (эм..) иммутабельна
ECS - меняем бойлерплейт на относительное снижение связности
Минутка рекламы gogue
- Делаем динамическую систему типов там и только там где нам надо
- Возможность физически впихнуть в кеш проца все актуальные данные
- Особая актуальность для Go - обработка в main thread всего что связано с Io
Минутка рекламы gogue
- Толковый туториал, неплохой код
- Пользуйтесь и продвигайте