Sunday, November 18, 2018

Murdered Out Jreepad

I feel accomplished. I did something that is probably kind of nerdy. A few years ago I had tried working with the Jreepad source code, to tweak a couple things that bothered me. At that time I was overwhelmed. But after making a bunch of Java apps and games I'm fairly familiar with how to define the manifest and compile scripts etc.

So the other night I took the Jreepad source and gathered all the source files into one dir and wrote the manifest and build script. So I can edit it and build it without the need to use an IDE like Eclipse etc. So I can edit it in VIM and build it with my .sh script. No Maven or IDE or other forms of 'cheating'.

It actually builds! I still need to learn how to implement the lang properties files in the jar. Currently all the labels are hard-coded.

So it was time to start making it look like a console app. First I defaulted the dumb green bar setting to not visible. Not sure why that is even there. I also defaulted the toolbar to not visible. Eventually - assuming the hotkeys still work - I may even hide the menu. I want to make the whole app hotkey driven (At that point the lang support would be moot).

I replaced the JEditPane with a JTextPane (Even though I believe it's a bit more resource intensive) so I could make the background black and the text white. I turned off the splitter border and gave the split pane a dim gray background. So the splitter is now just a perfectly flat barely visible gray bar.

Boom! I now have a murdered out version of Jreepad. I'll have to post my hacked code somewhere - for anyone who might want it.

Monday, November 5, 2018

Recording

I use Tests (macros) all the time while I'm authoring games in my IF engine. The problem is defining tests involves remembering all the commands you want it to fire. Until last night. I added command recording. It's an admin tool that records everything the tester enters i to the game. If the tester fires another test as part of the recording session that test's commands are not recorded. When the recording is turned off the recorded commands are output so they can be copied and pasted into the desired test's commands list.

I've already used it once and it made life SO much easier. The further I get into defining the game the more invaluable this new tool will be.

Fun Again

After taking a break from my WorldWeaver IntFiction engine, and IF in general, I've come back. I'm working on a new iteration of the NetSplit cyberpunk/hacker game. And for the first time writing IF games I'm actually really having fun. Usually it starts out exciting - a good story/game idea etc. But soon becomes tedious. I spend hours defining mundane buildings and rooms. I start to wonder if the game - after all my hard work - will even be fun to play.

I'm not sure this game will be fun either but so far it's still fun to author. It may be that I'm learning how to use my own engine more effectively. I've been able to conversations, puzzles, and traps. I've also been able to code 'hacker commands' and time-based events.

I'll be updating the WorldWeaver site with the latest builds and WIP copy of NetSplit soon.

Monday, October 22, 2018

I Don't Have What I Need

I was minding my own business, taking code that scans images and outputs ASCII characters and converting it to code that scans images and outputs arrays of Color objects. This would allow me to recreate the image in Java code... Don't ask.

I copied the image to ASCII scanner code verbatim. And boom. Fail. Although it has no problem getting color values and picking the character to represent that pixel, doing the same thing and creating a Color in the right spot in an array utterly fails. Every color I create is black. I spent two nights trying different tweaks, filtering the image, setting its color mode, and more. Still get an array of black pixels.

Then, after giving up and doing something else (While the bruises on my forehead heal), I decided to just use the images themselves, like any other NORMAL human being would. It was fun showing off how neat my ASCII solution was, it resulted in really good looking arcade style images. But it just isnt practical for a game that will have a growing library of object images etc.

So I just need to be very careful in managing how many images I'll be loading/showing at any given moment.

Saturday, October 13, 2018

I Have What I Need

I was minding my own business, eating my Cream of Wheat, watching One Lone Coder when it hit me. I have been sitting on the answer for months. All the pain and torment for nothing. I can't believe I hadn't noticed.

Some time ago I wrote a class that converts an ASCII art file into an array used to draw pixels. I did this because The Swarm game seemed to have a hard time with using images as opposed to just drawing everything. The ASCII solution was to make this task easier. And I have been able to do some graphics stuff that still amazes me. The converted ASCII looks so good. But it is extremely cumbersome. Adding simple graphics takes far longer than it should.

I grabbed a code snippet that made the ASCII solution a bit easier, it allows me to convert images to ASCII, but in a way geared toward my purposes. Even with this helper I still have to go through and define what each ASCII character means colorwise. That means I'm sitting there attempting to map ASCII characters to pixels within the original image.

But wait! I'm converting images to ASCII. Why!? I have everything I need to convert images into an array of information that I can use to draw its pixels in Java. I can cut out the middle man. So the image file is read once, after that I can just use the array. No need to kill myself trying to map and define ASCII character meanings etc. I can just point my code to an image and let it load once, use later.

I have some coding to do!

Tuesday, October 9, 2018

Game or Story

I'm taking a break from the arcade style game I'm making to return to game authoring for my intfiction engine. I've restarted the NetSplit cyberpunk game. This time around I want to get more creative with it. Last time it felt too mundane. I would spend weeks defining run of the mill apartment complexes etc. Now I want everything to have a cyberpunk twist to it or secrets hidden throughout. There are touches of Tomorrowland inspired retro future scenes, but these are in the middle of a modern simulated Net world.

I am building it more like a game than a book so the descriptions are short and the story is somewhat sparse. I'm describing things very much like narrating someone playing an FPS. It will have an emphasis on exploration and problem solving more than fighting opponents. The 'more game than story' style isn't anything new, what I've played of Zork is like that. But I wonder what most of those in the niche crowd of IF fans prefer.

Choose your own adventure, or text-based Duke Nukem?

Tuesday, September 18, 2018

You Hate Me Don't You?

Dear Firefox,
Was it something I did? Why do you hate me? Although no one I know uses you, I do. When people talk about Chrome and the extensions they use for work stuff, I mention you and what you can do. But apparently you are trying to make me break up with you.

I came back to you a few years ago, because in the age of Chrome with its locked down interface and restrictions on what plugins could do, you still allowed extensions like Vimperator to do whatever they wanted to you - hide tabs, footer, menus etc. I really just wanted to use Vimperator. But I came to really like you.

Then you took Vimperator away. I guess no one wants to customize the look of their applications, or use plugins that do all kinds of crazy fun stuff to them.

But I still stuck by you, Firefox. Even though I couldn't hide your tabs anymore or use you like VIM. Your bookmarks were far better than anyone else's. Keywords and notes... perfect. I could take notes and access them even at work thanks to your bookmark sync.

Then you took bookmark notes away. Seriously. What is your problem. Why does everyone keep taking things away? Visual Studio took macros away (Absolutely ridiculous), Windows keeps trying to take away the desktop for big Duplo blocky nonsense. Our cell phones are taking away our headphone jacks. Apple nearly took away the caps lock key.
We can't customize our software, we aren't allowed to have admin rights on our own tablets and phones.l, we can't use our headphones without a special adapter (So we can't charge our phones while listening to them via said adapter).

As ugly and crazy as it was I miss the days of customization and MySpace.

Introduction to WorldWeaver

A New Iteration  I've been working on the second manifestation of my Interactive Fiction engine - WorldWeaver - for about a year now. I ...