Programming, Work

Busy baby hours

The last month has been mostly focused on tending to my 4 week old baby boy. It started of easy but gradually grew in demand and work as he is growing fast and needs more attention and time.

I can change diapers blindfolded at this time, but I don’t think that I would try and prove that. Mixing milk bottles is becoming second nature and setting up routine so the boy can get some regular sleep.

We gave the boy a name as well. Tinni Hrafn.

Those few hours that appear in between feeding and all the rest I am able to jab at the computer for a few moments. I am still a bit ecstatic about being able to finish all the complicated building stuff before the baby was born. The features I am involved with at the moment don’t take as much time to get done or progress through. I am basically rewriting a lot of my old editing logic to fix all the shortcoming I spotted with the prototype that I had around a year ago. Making the basics intuitive and simple, easy to manage and easy to maintain.

framedropfill

I added alignment lines to follow the cursor so it is easier to align with tiles in the scene. Also a dark centre for the plane the give any tiles a level below a darker tint for more additional navigation and painting hints.

The above gif is basically just the most basic painting feature with any blocks filled in between samples. So if you move your mouse fast enough, it fills in the tiles between your two valid hits.

twosidedpainting

Made sure that when painting on the grid, it will paint on the side that is facing you.

translation

Made sure that the translation of grid is tied to a keyboard button as well as mouse movement, along with having the centre area the translation control to grab and manipulate. The angle to the translation grid will also affect the amount of translation you can do or disable completely so that you don’t make large jumps at sharp angles.

Added gradation to the grid graphics during transition and rotation so that they don’t get in the way or look jarring.

shiftalign

Made sure the old school shift align painting still works.

gridalign

Tied the space bar to grid alignment so that you can set the construction plane to the desired plane.

focusedgridalignment

With a focused grid alignment as well, so that you can select a point on the grid and align the construction grid to that point.

Also put some effort in making the transitions for the grid and painting as snazzy as possible. But I have not made the focus grid tool quite the way I like it as it does not show you the active plane your mouse is over as you switch. Needs some simple highlighting graphics to make that apparent. And in the cases where the selected grid ends up on a sharp angle with the camera, a small camera rotation to align a little bit towards to new target construction grid.

So, it is not much that I squeezed out in the last 4 weeks. But, getting that user experience a lot better will make the tool a lot better to work with.

One thing this little tool of mine will not have, is an Undo queue. There will be a single undo/redo, where the last added shapes will be placed into a temp shape and displayed with a highlighting border and allow you do un-commit your change so to speak. Flip back and forth to see if it is something you like. But, there will be no history for you to traverse backwards and forwards. Undo queues open up options for bad working habits and enforce a huge engineering burden on the application and the programmers. Stability through restrictions and simplicity.

A couple of minor things to work for this bit still, but the next bit would be to spit the geometry into my old mesh builder which collects the tiles into larger monolithic pieces to have as few game objects and draw calls as possible for the constructed geometry with other additional benefits.

Well, best make use of the few minutes until my son wakes up.

Tata

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s