Monday, January 27, 2020

Enlightened

I've tried yet another window manager, Enlightenment. I'm really not sure why I keep doing this to myself, I keep my desktop so minimal there really isn't much noticeable difference. I don't use taskbars or 'shelves' or widgets. I launch everything from the launcher and I keep my window decorations as minimal-themed as possible. I like the idea of tiled WMs, but they do really funky things when I'm working in Reaper or other GUI intense apps. I don't do everything in the console. And Plasma just works better. I've tried using the fstab to automount my USBs, so far to no avail. So that is a pain in non-plasma WMs. I use CopyQ for my clipboard manager and that never works quite right in other WMs either. It would be great if Plasma had a tiled mode. I actually haven't looked into that so I may be missing something.

The Bad
So far the pain points I have with Enlightenment are:

- Touchpad disabling when a mouse is plugged in.
This one is actually kind of a big deal. It is a huge pain, having the cursor moving around as I'm trying to type. And it inadvertently clicks on whatever it is above. I have a script I can run to disable it but that is kind of a pain. In Plasma, I can just set the option to disable it when a mouse is plugged in.

- Automounting USBs doesn't seem to work. This is another task I can simply set in an option in Plasma.

- CopyQ behaves... weirdly. In Plasma it launches on startup and behaves as it should.

Honestly these are the exact issues I've had with all the tiled WMs and lightweight WMs, and Fluxbox etc. Sadly so far it is just the big fellas - Gnome, KDE - that do everything I need as a terminal AND GUI user. As I've already stated I need to be able to work in Blender, Reaper, Inkscape, Gimp, and other GUIs. Unfortunately I can't do everything in VIM.

The Good
- It looks great.
I do like the look of Enlightenment. It feels like my whole computer is an audio app or virtual synth. I may need to tweak my Plasma config to look kinda like this.

- Speed.
The experience is really snappy. It just feels lightweight and not bloated. It's nice.


Even though I'm going back to Plasma, I feel like Enlightenment is worth a try, you might love it. Same with Fluxbox. Give that a try as well.

Friday, January 10, 2020

Faded

I am back to work on the arcade-style space mining game. I've ditched the 'teraforming' class for now. The planets are much more 80's retro now. They consist of a configurable surface color and grid color. Dotted over their surface are bases, spaceports, and enemy spawners. The planet surface levels are identical to the space level, but with different elements and slightly different behavior - all of which is configurable in plain text files.

I created a fade effect class. So when the player lands on a planet the screen goes black and the surface scene fades in. The black color, fade speed, and fade in/out are all configurable within the level's settings file.

The goal is to drive the game's elements by config files so users can 'skin' their own games and tweak how it plays solely through the game library files and settings files.

The spawners are next, along with the complex AI and collision detection. Then I'll code the building of upgrades using the gathered minerals.

Monday, January 6, 2020

Fighting Revisited

I have been doing some work on the NetSplit game again. Last night I decided that the game should be part action and part puzzle, as opposed to fully puzzle. It has been a long time since I've defined weapons and fighting scenarios. There have been some changes to the allowed syntax and single items no longer need to be defined in a parent group. So it will be interesting to see how broken the fight engine is.

So far so good. The player is able to punch objects. Before I had the damage messages defined in the weapon object. I may stick with that approach, as long as these messages work as expected.

It would be cool to make weapons that can be hacked, and therefore behave differently. Actually there should be lots of objects that can be hacked. In a previous game I had started, there was some hacking but not really behavior changing etc. I just need to be sure to keep the 'hacking' from being tedious. It is a game, after all - and needs to actually be *gasp* fun.

Saturday, January 4, 2020

Data Data Data

I have muscled through building a MySQL web service and a website to consume it. The site is still pretty bleh-looking, but it functions acceptably. I need to update it to be responsive so it looks good on phones and similar devices. But even more importantly I need to build up the data in the database. The whole idea is to construct an extensive wrist watch library. I want it to allow people to find watches using criteria that typically isn't available.

I'm often looking for things like watches that are time-only (No date, etc), or watches with a specific crystal material, or case thickness. Most sites allow users to filter on a couple of these attributes, but very rarely by all of them. So to make the service - and site - useful, I really need a massive library of watches with ALL their details and attributes.

I haven't yet thought of an automated means of doing this, and so far each watch entry takes a bit of time. I have to do web searches to find out specifications not outlined on the various sites selling them, or even the watch brands' own sites.

I have, however, just moved my insert code into procedures. Now I can call these procedures and keep track of the watch id associated with the watch attributes I'm inserting. So now, at least I don't have to hardcode the watch ids. I increment the watch id variable after calling the watch insert. So as long as I call the attributes inserts right after the watch insert, the ids will be correct.

This solution is still slow, but far easier than what I was doing before - and I can break up my calls to the inserts into any number of sql files.

5 VST Effects I Use in Every Song

VSTs are so great. I have a massive collection of free instruments and FX that I've tracked down. There are SOO many to choose from... B...