game/README.md

79 lines
2.7 KiB
Markdown

I've been kicking around the idea for a game for a long time. Recently I
went to play Rome: Total War and it broke, so now I'm going to write a
game.
It's roughly a space explore and colonize kind of a thing. Multiple
species and civilizations (eventually multiplayer).
I want to separate the UI from the Server and maybe have multiple
clients? At least a Tkinter client to begin with and then maybe a cool
"gamey" UI written with Godot or something.
So far there is a canvas that is larger than the window and that you can
scroll, and there are some stars that vary in size a little but they're
all yellow. And that's it.
I use some old code I had laying around to generate stars that are not
too close to each other, it winds up being just under 5000 stars with the
current parameters.
The "server" isn't a server at all yet. It just generates the starfield
so the UI script doesn't have to do it each time. I'm just using pickle
for data format, eventually it could use JSON (ick) or SQLite (nice.)
Aesthetics: maybe have a sprinkling of background stars behind the
"real" stars (that are part of the game.)
Toggle fullscreen.
Controls? Tabs? HUD/OSD (heads up display/on screen display)
Fri Apr 12 12:27:56 PDT 2024
I think I will use SQLite as teh interchange file format. It's language
agnostic (i mean, SQL, sure, but you can use it from any lang) and I can
keep historical data in it rather than just the current state, eh? No
one will freak out?
That was easy.
I don't want to spend too much time fiddling with the widgets and UI,
it's fun but it's a bit of a rabbit hole, eh?
The basic model is that you get a state db from the server, explore it
with the client and queue up an order list to send back to the server for
processing, which then returns the new state db.
What format for the order codes?
Thun code?
THe db tables and game data types should be compatible with Prolog?
I don't want to have a bunch of Python objects modelling the game
entities if possible, what I mean is, it would be neat if the db rows
(tuples of Python ints & strings) and the Tk widgets (canvas items, etc.)
could be the bulk of the internal game, uh, stuff. Not everything needs
to be a class?
Sat Apr 13 11:13:18 PDT 2024
I don't like the Poisson star layout. It's too regular. I'd like it if
there was a really huge "space", like 2^10 x 2^10 with stars laid out in
a spiral pattern like the Galaxy. Or even use real astro data (like, uh,
is it Epic that does that?)
But it's not on the critical path. I've got stars.
[VGA Planets](https://en.wikipedia.org/wiki/Vga_planets) is a big
inspiration.
> the 4X game (eXplore, eXpand, eXploit and eXterminate) model
[4X game](https://en.wikipedia.org/wiki/4X_game)