Please sign in to access this page

isd_treeclient

isd_treeclient

1 devlog
6h 31m
Created by Tree Plate

A client for [Interstellar Dynasties](https://github.com/Hixie/isd), a game about space exploration and conquest (or, at least, that's what i think it's going to be about - right now it's still very early in development).
NOTE: This project was started way before SoM, so the time is not entirely accurate.
NOTE 2: The demo is currently way out of date and is not up to date with the current server.

Timeline

This devlog will be on the longer side, because it's a lot of stuff and I have to tell you about my existing code. This does assume you've read the server's README, however.

First, changes brought upon by a change in the abilities of the starting spaceship's space sensor.
Planets (fcSurface) other than the one with the starting spaceship don't have regions (fcGrid child) anymore, or at least you can't see them. This makes showEmptyPlanets, my flag for whether to show regions with no assets, not useful anymore.
My debugging view, which showed all the assets, used to be really laggy. Since it's in a tab, it would make going from and to that tab lag. Because of this, I made it so you had to select which system to see, even if you only had one system, so you didn't accidentally trigger the lag. Now that the space sensor can't see as much, it's not as laggy and I can autoselect the only system you have, like I already do in other views.

Next, the main feature (fcBuilder) and related things.
Obviously, I had to actually implement fcBuilder.
Because of this builder change, the way fcStructure works had to change, so I fixed my fcStructure parser.
I made a cool visualizer for fcStructure, which is shown in the image for this devlog. The light green is the quantity, and the dark green is the hp. It's scaled so the smallest max quantity is a fixed height, and the other components are to scale with that.

Next, some additional features added at the same time:
The tech tree now contains knowledge for a material called silicon, so I made an icon for that. By default I use the icon from the server, but I also have my own 16x16 icons.
fcOrePile now has an analyze command, which sends the approximate total quantity, and the approximate quantity for each known material.

Next, two features that were added later, but are still in this commit/devlog:
fcPlanetaryBody has a seed, which I'm mostly ignoring but I need to parse it, and also I put it in the debug view
fcRubblePile has materials now, which I'm also ignoring because the only rubble pile in the actual game has no materials

Finally, some stuff that aren't really related to server changes
I had a class called ContinousBuilder, which I renamed to ContinuousBuilder because that's how you spell continuous.
I have a view that shows any fcGrid in an fcSurface, and when the client disconnects I now set the selectedSystem field to null.
I added a function to parse a Uint64, my custom type made of two ints. This type exists because when compiling to JS, the default int type is only 52 bits (i.e. it's a double).
While doing that, I found out that my multiplication code was completely bogus. I fixed it.

Thus concludes Devlog #1.

Update attachment