In this section you can check out what I'm currently working in, practically in real time.
If some of this seems cryptic it's because the logs seen here come directly from my personal productivity tool prio, and are really just "notes to self".
Nevertheless, if you are interested in what I'm currently working on, this space will certainly be updated FAR more often than the news section.
19:40:19 ace LOG
Creep yaw/pitch factors are now regular constant::Floats. All constant editing is now in ConstantController, so you may have to dig around a bit to find what you're looking for, but now it's at least consistent.
The biggest problem with this kind of scheme is that it isn't completely intuitive what the contexts mean (they are .cpp filenames without the extension), or even why the constants are where they are logically. I guess this is an artifact of the system being emergent and not strictly designed... :)
19:40:19 ace CLOCK: 00:01 hours
19:38:25 ace TASK: fix yaw/pitch editing on creeps
19:24:32 ace TASK: adjust AssetController to show all assets
19:21:08 ace LOG
Adjusted AssetController to display all the assets, including the deflector.
This forced me to move some of the constants out of PlayController to IController so I could share the deflector drawing code, and that in itself became interesting due to the fact that those constants were no longer the default values. Moving them would thus have meant lost data, since the id of a constant is based on the file in which it resides (from PlayController.cpp to IController.cpp).
What I ended up doing was modifying the gui to give the user hints on which constants were indeed different from their defaults, and by running the game in windowed mode I could tab back and forth between ConstantsController and the source code and update all the hardcoded default values. After that moving the constants wasn't a problem, as the defaults now reflect that desired values.
This is also a good hedge against data loss. The constants themselves are a replacement for hardcoded #defines and static const Types, but they still feel fragile to me as they are data driven and not source driven anymore. Periodic manual updating of the hardcoded defaults it probably a good thing.
19:21:08 ace CLOCK: 00:04 hours
13:30:06 prionews LOG
I have iterated on my ideas for viewing retired tasks, online now.
Basically you can filter by label as before, as well as by month / year. The month / year selection is in the same style as the label filter, i.e. a horizontal layout of hyperlinks. I find this to make better use of screen real estate, and also I personally don't like dropdown lists...
13:30:06 prionews CLOCK: 00:01 hours
15:34:40 prionews LOG
I'm working on splitting up the display of retired tasks (and eventually submitted logs) into month-wise chunks. Work in progress, but a first version is online now.
15:34:40 prionews CLOCK: 00:00 hours
15:27:52 prio TASK: month filtering for retired tasks
14:46:51 ace TASK: are you sure you want to exit?
13:33:54 prionews LOG
I'm experimenting with the concept of "sub-users" in prio at the moment.
The idea is basically to be able to run a team off of a single prio account, with the owner of that account acting as the project leader.
The current test involves a single sub-user that has specific tasks in a project. Those tasks are marked with a specific label, and the sub-user has rights enabled to "retire" those tasks (and nothing else).
In addition, the sub-user can view everything (unsorted, active, and retired tasks, as well as logs) related to two different labels; one is the label that he can "retire" tasks in, as well as another project related label.
Currently the configuration for this sub-user is in code, but if things work out well I will make it data driven and expose it to all prio users.
13:33:54 prionews CLOCK: 00:04 hours
13:20:31 ace LOG
Welcome aboard prio Jon(_x_)! :D
13:20:31 ace CLOCK: 00:00 hours
09:01:54 eco TASK: escape input in eco for mysql
09:01:22 eco TASK: eco, monthly folding stuff
09:01:21 eco TASK: eco month and year views
09:01:18 eco TASK: eco, default date is today
09:01:15 eco TASK: eco, refactoring
20:02:42 ace_art TASK: more medium asteroids
20:02:39 ace_art TASK: more big asteroids
17:55:57 ace TASK: centralize sounds and their assets better
17:55:04 ace TASK: center mouse cursor on screen when starting and resuming play, avoid per exploit
16:56:42 ace TASK: better numerals
14:39:51 ace LOG
Points effect options.
14:39:51 ace CLOCK: 00:00 hours
14:39:40 ace TASK: points effect options
13:48:58 ace TASK: fix pixelmesh effect to use same shading as static assets
13:48:33 ace TASK: staticmesheffect to use dxut baseclass
12:15:02 ace TASK: overbright out of settings
12:14:53 ace LOG
Moved all settings out of Settings that aren't user options.
12:14:53 ace CLOCK: 00:00 hours
11:11:05 ace TASK: distance falloff and tech out of effect interfaces, can get from util
00:02:57 ace LOG
Did some tests on using alpha-emit to highlight certain features of the slow creep, specifically the eyes. Works well.
00:02:57 ace CLOCK: 00:00 hours
23:30:15 ace LOG
Moved lighting and pixel shader code to common.fxh. FxComposer has shitty support for this kind of thing, but it works.
Now both StaticMeshEffect and PixelMeshEffect (new class in ace::vc) shade pixels the same way. The idea is that the vertex shader code is the basis of each individual effect, and the lighting / shading / pixel code is common. This is because the PixelShaderInput interface structure is pretty thin, just the position, the albedo uv, and the value of the half-lambert lighting equation and light distance falloff stuff.
Fixed memory leak in core::Tga32.
23:30:15 ace CLOCK: 00:02 hours
22:20:10 ace LOG
Removed half-lambert option from StaticMeshEffect.
22:20:10 ace CLOCK: 00:00 hours
22:14:05 ace TASK: evaluate texture based font
22:14:03 ace TASK: 32 bit font support
14:35:22 ace TASK: more techy font
14:35:21 ace TASK: ufopilot 3 text scan effect
21:23:11 ace LOG
Figured out how to setup using diffuse alpha mod texture alpha in fixed function. Good to have for text.
21:23:11 ace CLOCK: 00:00 hours
19:44:50 ace TASK: finish FlatMenuController
16:52:50 ace LOG
Worked on a new song, Lonely Pilot. Had to trim down the percussion so it didn't sound too "songy".
16:52:50 ace CLOCK: 00:00 hours
15:44:20 ace LOG
Abstracted implementation of the various screen methods in MenuController. AlphaNumMenuController now implements the existing menus using AlphaNum.
15:44:20 ace CLOCK: 00:00 hours
12:57:10 ace TASK: dedicated shield, gravity, deflector textures (not membrane array)
23:05:50 ace TASK: powerups should use timestamp
19:18:33 ace TASK: freeze roids inside deflectors
16:05:03 ace LOG
Moved staticmesh tech out of settings, now a constant.
16:05:03 ace CLOCK: 00:00 hours
16:04:37 ace TASK: staticmeshtechnique out of settings
15:35:42 ace TASK: check for non unit normals in shaders
15:35:28 ace TASK: powerup controller to use timestamps
15:33:33 ace TASK: use new black hole effect, remove mesh solution
15:32:53 ace TASK: sticky goo weapon test, with powerup
15:27:51 ace LOG
Same problems remain of course (with the edge warping), since things are stuck together. Skip it.
15:27:51 ace CLOCK: 00:00 hours
14:19:15 ace LOG
Did a pass on the goo bullets...
I would say that some kind of spring solution is out, mostly due to the "warping" of non-creep roids when they cross screen edges. This introduces lots of weird anomalies relating to what to do with the "fronds" of unstuck Goo and even worse the stuck roids on the other end...
Another idea popped up though, namely simply tagging the roids as "sticky", and then having collisions link roids together. It would probably work with just a pointer to the "roid that I am stuck to", and simply having that roid be the one that dictates motion.
14:19:15 ace CLOCK: 00:02 hours
11:19:15 ace LOG
BulletKit now encapsulates details of visualization for the various bullet types.
11:19:15 ace CLOCK: 00:00 hours
21:53:49 ace TASK: tune explosion impulses
18:40:26 ace TASK: switch to sphere for shield and gravity
13:44:24 ace TASK: impulse evaluation
13:44:22 ace TASK: better add rim lighting
23:06:32 ace TASK: bug: ship gets impulses when not spawned
23:05:05 ace TASK: creeps can force thru a deflector, reset position when deflected
15:27:17 music TASK: bel instrumental till evelina
19:20:01 ace TASK: comments on constants
13:18:46 ace TASK: deflector membrane shader
19:40:02 ace TASK: bullets inside deflectors no effect, outside bounce
19:39:58 ace TASK: bubble physics on deflectors
22:19:20 ace LOG
Deflector time to live.
22:19:20 ace CLOCK: 00:00 hours
22:19:13 ace TASK: hitpoints or time to live on deflectors
21:09:02 ace TASK: brake asteroids down to max speed (for level) when no warp is active
21:07:27 ace LOG
Adjusted modelToWorld transforms so everything is mapped to screen correctly.
Creeps and ship now reflect off the playfield edges at radius distance, not zero (from center).
21:07:27 ace CLOCK: 00:33 hours
19:09:08 ace LOG
Non-creep roids now brake down to max speed (for level) when black hole is off.
19:09:08 ace CLOCK: 00:01 hours
17:41:08 ace LOG
Deleting local replays of wrong format.
17:41:08 ace CLOCK: 00:00 hours
17:40:48 ace TASK: delete local replays of wrong versio
19:52:30 prio TASK: jonas access to ace tasks with retire button
01:21:28 prio TASK: retire and unsort should retain current label filter when reloading
01:07:51 prio TASK: changing a task label should unsort the task
00:58:35 prio TASK: priodev to prio, fix the main bugs
00:58:08 prio TASK: bug: sorting a single task of a unique label (nothing active with that label) leaves the model in a bad state
00:57:45 prio TASK: unsort all should be per label
00:23:40 prionews LOG
I have implemented label based prioritization of tasks in prio.
This basically means that everything that has to do with tasks is filtered by label; viewing as well as (most importantly) prioritization.
This feature has evolved as a direct response to certain users request for a kind of heirarchy. While my original idea was that people should simply put every single task into a single pile and prioritize them, I realize that some people need to be able to separate for example work tasks from spare-time tasks (or any other split they might require). As a result, label based operation is now a part of prio.
For myself, I will be using labels to enable something that I've been missing from prio, namely the prioritization of tasks within a single project. While earlier everything was in a big pile, now I will be able to have a label called for example 'main' which represents tasks that are themselves projects, and then have a label that corresponds to each project which I use for each task in that project.
The big win here would then be that I can sort project tasks against each other, while all projects (tasks with the label 'main') can be sorted against each other. This is simply my personal take on how I will be using prio, and replaces my need for a separate todo-list per project.
I expect other users to use the labels feature in any number of creative ways; no single way is more right than any other.
00:23:40 prionews CLOCK: 00:07 hours
00:10:35 prio TASK: prio task filtering by label
19:01:33 ace TASK: turn off brake when thrusting
19:01:29 ace LOG
Ship brake is always off when thrusting. Still on when firing.
Fixed Asteroid warp update to not be active when the game is over (no mans).
19:01:29 ace CLOCK: 00:00 hours
18:49:45 ace LOG
TimedPowerup now runs on timestamps.
18:49:45 ace CLOCK: 00:01 hours
11:30:36 ace TASK: test powerup gui
10:44:42 ace LOG
Deflector powerup, spawns a sphere that deflects roids.
10:44:42 ace CLOCK: 00:01 hours
16:29:41 ace TASK: support for alternate asteroid meshes
16:28:12 ace TASK: plan remaining dev with jonas
15:17:29 ace LOG
Drone didn't work too well, but spawned ideas about a decoy instead.
After some tweaks on how it should move this worked out pretty well.
Not sure where to put the difficulty selection; as an option or each time you start? In any case now it is hidden when you are in game, i.e. the options menu is tweaked.
15:17:29 ace CLOCK: 00:01 hours
21:19:54 ace TASK: remove autopickup option