Monday, October 30, 2017
Firefox Killed Vimperator
Friday, October 27, 2017
Brittle Code
Thursday, October 26, 2017
Bunny Trail - Path Finding
Wisdom - 20171026
Wednesday, October 25, 2017
Cleanup vs Rewrite
You see the cellar stairs ascending into the light of the kitchen above.
You are in the cellar.
You descend the cellar stairs.
You descend the cellar stairs.
You are in the cellar.
You see the cellar stairs ascending into the light of the kitchen above.
But what if each object has a logic check in the look event, and maybe one of the object's look or travel events causes a state change? If the state changes after an object has been described, we have a problem. If a logic block does its thing after a state change, it may not evaluate as expected. Ah the wonders of IF. And I know it's not just me, I ran into this stack problem trying to use TADS to make a txt FPS.
Monday, October 23, 2017
Uh Oh. Trouble.
I have been working on the text based game engine for quite a while now. Coding it and building a large demo game for it. The demo game has been a great testing tool. It covers many situations that would come up in game authoring.
Everything was going great. I started a basic website for it in preparation for distributing it.
Then I decided to make a trap. A simple timed event. If the player is in the room long enough. DOOM. Things were bad from the start. After all this time, after all my testing I realized I was doing the timed event, time passage counting wrong. Ok no prob. Fixed.
But then when the player died, it kept describing the Room AFTER the die message. This was my first clue that something serious was going on.
There was a processing stack conflict. Events were being described first, which isn't incorrect, but dying was an event. So I stopped any further descriptions cuz the player was dead.
When I began work on NPC movement, since I hadn't tackled that yet, the real seriousness came to light. Player movement, NPC movement, object changes. Which should be done first? What if action needs to happen first and that action's description come last? None of this came up until the NPC movement piece was added.
So now I'm reworking all of the parsing logic. Breaking it up into pieces so I can choose which parsing is being done when. This is a complete reworking of the core functionality of the engine. It's gonna get real ugly before it gets better.
Sunday, October 22, 2017
NPC Movement in IntFiction
Causes the NPC to follow the player. Whatever room the player enters, so does the NPC.
Causes the NPC to pick a random connector to travel through.
Causes the NPC to go to the first Travel node location, then the next etc. When it is in the last defined location it stays there.
Causes the NPC to go to the first Travel node location then the next. When it is in the last defined location it works backward to the first, then starts back down. It repeats its journey from top to bottom then bottom to top as ling as it is active.
Saturday, October 21, 2017
Your Roots, Man! - FORTRAN
Example via AJMiller
INTEGER N, X
EXTERNAL SUB1
COMMON /GLOBALS/ N
X = 0
PRINT *, 'Enter number of repeats'
READ (*,*) N
CALL SUB1(X,SUB1)
END
INTEGER N, X
EXTERNAL DUMSUB
COMMON /GLOBALS/ N
IF(X .LT. N)THEN
X = X + 1
PRINT *, 'x = ', X
CALL DUMSUB(X,DUMSUB)
END IF
END
Wisdom - 20171021
- Anonymous
- Clifford Stoll
- Linus Torvalds
- Christopher Thompson
VIM Tips - I Never Knew!
Thursday, October 19, 2017
Cases for Cases
Wednesday, October 18, 2017
RM RF Shirts
Tuesday, October 17, 2017
Unassuming Debuggung
I was building an arcade style top down space shooter a few years ago. It's up on freeware files if you want to goof off with it. It was called The Swarm. I was coding the enemy ships and wanted them to stalk the player so that they were more of a deadly nuisance. I made a mistake and didn't account for their travel speed. The resulting bug was amazing and far better than what I had envisioned. The enemy ships would sweep sideways toward the player but over shoot them, then sweep back only to overshoot them again. The zig zagging ships would slowly hone in on the player until they were right over them shuddering as they came in for the kill. Their movements make them very difficult to kill and are the defining feature of the game.
2. Is the door already unlocked.
When the parser was translating the definitions into a game database, it looped through the logic sets, but wasn't clearing out the fail message with each iteration. Once I added the clear step, everything worked great.
Monday, October 16, 2017
Back to Your Roots
Sunday, October 15, 2017
Integrate Your Help!
Saturday, October 14, 2017
Cthulhu Awakens
Friday, October 13, 2017
Slacking on the Keyboard
No Lighter, No Problem
Just throw a few Bics in your bag/pocket.
Just throw a few Bics in your bag/pocket.
Thursday, October 12, 2017
5 of the Best Freewares Evar
I use VIM for EVERYTHING. Notes, development, everything. If I'm stuck on Dohs it's probably the first thing I install. On Nix, I make sure I've got the GTK variant so it interacts with the clipboard correctly. If you eschew VIM for NEOVIM etc, cool. Either one.
The very next app I install after a rebuild is Double Commander. I don't even know how many years I've been using this file manager. It's been a trusted companion for a very long time. It's snappy and has all the features I need. Most important, I can hide ALL of its UI elements, even the tabs. If I'm not doing file work in the console, Double Commander is what I'm rolling.
This powerhouse clipboard manager is fairly new to me but it has proven itself so far. It has replaced Ditto on Dohs and Klipper on Nix. It has far better organizing than Ditto and doesn't use that second clipboard in Nix, you know the one that stubbornly copies selected text etc.
I just recently started using the Java version of Treepad again for bookmarks / notes. I like its minimal UI and it's more powerful than using a browser's bookmarks manager. I like treeviews so Jreepad makes sense for me.
This one is also newer to me, but since I love VIM, a VIM web browser is a no brainer. And unlike Vimperator which is a Firefox plugin, its host isn't constantly breaking it.
To Plan to Plan
I get an idea and it consumes me. I must make it real. So I dive in and start coding etc. I know that there will be other all-consuming ideas coming up so I have to get this one done while I'm still excited about it.
But now the game is large enough that I can't visualize what I've already built, what is remaining, where rooms are in relation to others, where I hid puzzle pieces etc. Sure I left myself notes but yyeah.
I'll also be improving the tools in my game engine for mapping out what you've coded - this is challenging in a console environment.
KDE Or Go Home
The idea of running KDE on mobile devices is amazing. However I'm not keen on rooting my phone just yet. My tablet or watch, yes. Something as critical as my phone no. Maybe once I'm experienced in rooting and know its ins and outs. But when I do, I'm definitely going to give the Plasma mobile a go.
Wednesday, October 11, 2017
Learning to Love to Learn
I've always been interested in learning how to do new things. But it was always about making stuff, not learning. I figured out how to build .gif riddled nightmares of websites. I didn't care about HTML etc, I just wanted to express myself and have other people see it.
I messed around with Photoshop and Blender3D and figured out how to make creepy 3D pictures for my ugly websites. But I wanted my stuff to do more so I started goofing off with Visual Basic.
Fast forward many years and I'm a developer by trade. And something amazing has happened. After ALL this time I have finally learned to love to learn... for the learning and not just the resulting stuff. When I learn new things it feels like the aftermath of an intense workout and I'm ready to dive in for more.
I want to different programming languages (Even the ones I don't want to learn), but I also want to know how they are created, and how the source is compiled into machine language. And how exactly the machine runs the application, and how the machine's OS does what it does. And how OS's are created.
I have a lot of reading to do, a lot of videos to watch, and a lot of training courses to take.
How May I Help System You
- Getting Started
- Using This Help System
Tuesday, October 10, 2017
Push Yourself
Your Code Is So Stylish
{
System.out.println("Hello, Dave.");
}
System.out.println("Hello, Dave");
}
Sure this means my code has more lines but it seems readable to me.
Monday, October 9, 2017
Walk On Home, Boy
Taming Logic
Sunday, October 8, 2017
See Saw
Saturday, October 7, 2017
Maybe I AM a Robot
I watch Prometheus or Alien Covenant and my favorite character is David. I watch Terminator 2 and my favorite character is the T-1000.
You Can Do It, Linux
However when I made the switch from Windows there were three areas that were tough to adapt to:
I had to ditch Photoshop and learn Gimp and Inkscape. Photoshop and Bryce were the two apps that really got me stoked on computers. That's when my 'art' went from pencils to pixels. So it was a shock initially, especially given that at that time there was no single window Gimp. But I've never looked back, even when work-supplied fresh versions of Photoshop were available.
This was even tougher than graphics. I wanted to use native apps but VSTs were the problem, and immediately weeded out 90% of the offerings (Thanks, Steinberg. We'll have that discussion later). For a time I settled for trackers via Wine. But wanted to have better tools. So I ended up giving up on Linux and buying an expensive DAW and running Dohs. That was a HUGE waste of money. I later bought Reaper for a fraction of the cost, and never looked back. Now I'm back on Linux and running Reaper via Wine and it works flawlessly.
I am part of a band of ragtag aspiring game developers. Our chosen project is a Unity3D driven FPS. I've tinkered with Unity a little but nothing more that tutorial initial set ups etc. Unity doesn't port to Linux officially. They have Windows and Mac ports... Aaand a non-official Linux port. This port can be tricky to find, it's kept in a forum post. For the longest time all I could find was an outdated .deb for it. But the other day I found a very fresh port. This one installs and runs brilliantly. - I haven't yet been able to get the standard assets to show up, but it runs, that's a start.
Friday, October 6, 2017
Qutebrowser > *
I've tried Vimb but so far have been unable to get it to install - make whines about a missing req - I read up on it, try the various solutions people suggest... SPLAT same error.
In the past I've seen Qutebrowser mentioned in threads etc and I believe at one point I tried installing it. Apparently I didn't try very hard. I just got it installed and running. First impression: YES!
Changing settings are nice and painless, and inherantly persistant. This is really nice, even though it isn't very VIM-ish. In this regard Vimperator is much more 'in the spirit' but whatever, I'm lazy, I'll take it! Nearly everything is pretty straightforward for the VIM/Vimperator user. It did take me a bit to figure out how to open new tabs. It looked like :tab-clone was the only option. Thanks to IRC I found out you can to :open -t and leave the URL off.
Tab switching is different in QB, good old gt command is there, but it doesn't simply cycle through or go to the number you may have entered before entering gt, it requests a tab number from you, displaying your options. This is not a problem once you realize T will cycle forward through the tabs.
So far the only thing I DO miss from Vimperator is the bookmarking. Bookmarks were more powerful in Vimperator (From what I know so far and have seen in the docs). But no matter, I need to have my bookmarks synced anyway so I'll probably continue to use FF for my bookmarks.
Qutebrowser is amazing so far!
Working Better Than Expected
Thursday, October 5, 2017
For My 'Dohs People
Choose Your Keys, Any Keys
Wednesday, October 4, 2017
Chasing the Future
I love the optimistic visions of mid century futurism. Green, pristine suburbia with flying cars gracefully through blue skies. Martini parties in wood panelled houses with all kinds of flying saucer-looking technology everywhere. We had the technology and everything was perfect.
And we have the technology. Look at our phones, look at our smart watches. We are IN the future.
Learning By Suggestion
I remember when .NET emerged. My employer adopted it right away. At the time I barely knew old VB etc. I had to learn C#, and quickly. Fortunately Visual Studio shipped with the new-to-me intellisense feature. I learned C# entirely from those handy little lists of suggestions and Google.
Now as I move into the world of '... as a service' I am finding YouTube to be an irreplaceable tool and teacher.
The world of contributed content is truly amazing.
Tuesday, October 3, 2017
Teleportation in VIM
I use this alias all the time. It really makes life more enjoyable.
Monday, October 2, 2017
I am Benedict Arnold
I recently was having troubles with Klipper - actually it was Plasma's 'integrated' clipboard manager - so I decided to look around and see what was out there for Nix.
From Shotcut to Kdenlive
So I've been using Shotcut for a while now, for my YouTube videos... and music videos. I love the application. Slicing clips, doing fade...
-
I have been working on the text based game engine for quite a while now. Coding it and building a large demo game for it. The demo game has ...
-
I'm a fan of minimalism. I like the console, I like little to no GUI. Just give me the basics. Keep it light and flexible. Give me the ...
-
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 mini...