Goals for the Next Sprint
I can't really think of anything specific right now.
If I can't find anything else to do, I may work on the world/level system.
We'll have to wait and see what I do.
Results From This Sprint
All of the target goals I set forth for this sprint were achieved.
Achievements
- Monday (The entire weekend went by and you didn't get any programming done.)
- "Research" (You spend a few hours playing a game when you should have been making one.)
- Applying Research (Spend at least an hour programming when you should be doing something else.)
- Lonely (Program on a Friday or Saturday evening.)
Interpreter Framework
The interpreter "framework" was completed as I envisioned it. I have an InterpreterBase abstract-type whose inherited types implement an "invoke" function. This way, when input is given we simply pass it to this "invoke" function and it will be interpreted by the desired interpreter. Thus far, I have made c# (roslyn-based), f# and ironpython interpreters. All inter-changeable.
Entity Component System Implementation
Quite simple. You've seen one (or two) ECS-implementations and you've seen them all I guess. Using a uint as a unique identifier, the Entity type contains a list of Component-based types. The Entity type also contains some generic-functions for retrieving added components. A System (abstract) base-type which when overridden, provides functions that the EntityManager type calls into. Notifying systems when an Entity has either been created, destroyed or when an Entity has gained/lost a component.
This differs from previous implementations that I have constructed as it is the first time I've used a concrete-type for an entity. Usually I just use a Dictionary<uint, List<Component».
Simple Markup-Language for Text Formatting
A simple little tokenizer which splits up a string into meaningful tokens.
Yes, I'm pretty sure that's the exact definition of a tokenizer.
Basically it'll take a string like: "This color is *clr[255,0,0]*red" and it'll transfer it into a meaningful array of TextFormatter sub-types. The previous example would spit out something like:
[NullFormatter(text="This color is "), ColorFormatter(color=(255,0,0)), NullFormatter(text="red.")]
"Whatever Else I Want to do by the End of the Week"
I actually didn't satisfy this one well enough to warrant any kind of detailed-progress update.
Heh.