A small RPG & video game company

Name: Color Monster
Version: 0.0.0
Author: Dennis Payne
License: GPLv3
Operating System: Linux and TinyArcade
Website: http://identicalsoftware.com/colormonster/

Vacation Trouble

While on vacation I wanted to work on Color Monster but there was a problem. My wife had taken her tablet but it didn't load some of the sites she wanted to use or at least didn't run well. This led to her stealing my laptop. How do you do development without a computer?

I had a second computer in the form of the Pocket Chip. It wasn't as powerful and the keyboard was not as friendly for programming. Developing on the machine was possible but without any testing. The tinyscreensim required the glfw library for the user interface. The library needed opengl which was not well supported on the Pocket Chip.

Most of my games have used SDL or SDL2 for the user interface which worked well on the Pocket Chip if told to use software rendering. The first port of tinyscreensim was not checked in to git. All graphics code was ripped out and replaced with SDL2 equivalent. Once that prototyped worked I took the original code and added in #ifdefs to support both glfw and SDL2.

I mentioned that software rendering needed to be enabled. To simplify running the tinyscreensim created program, a "-p" command line option was created. This set all the values for running the program optimally on the Pocket Chip.

Color Patterns

For color monster, I started thinking about the enemies you will be battling. Storing full colored opponents would take a lot of space. Not to mention required painting all those creatures. My plan was to create patterns. An opponent would simply be a list of rules to generate the complete monster.

The rule specify the fill color in the original image to replace, the pattern to use, and two colors. The default is to simply fill the entire area with the first color. The first pattern was a set of lines. The second pattern added a scale design. The colors I added into the game were specifically designed for patterns like this. Colors were added in pairs with one darker than the other. The idea was that green and dark green would create a pleasant look together in a pattern.

Moving Forward

Color Monster seemed pretty static. To combat this, NPCs were updated to move around. My original plan was to make them have a higher chance of moving back towards their starting position the further away they got. While elagant in my mind, a simpler solution was implemented. NPCs had a maximum distance from the starting location. Once at the maximum they moved back toward the starting location.

For collision detection, I went with a simple solution. There is a collision map which says which squares the character can walk on. For NPCs there starting square is set to not passable. When they decided to move somewhere, the target square was set to impassable and movement began. Once they reach the square the original square was reset to passable. It was a simple solution which avoided checking if other NPCs are in the way.

The one wrinkle was the player character. Before the NPCs started moving, it needed to check if the player was already partially in the square. Since the player was not restricted to the tile squares, the player could be on four squares at one time by being in the middle. Adding a check to the NPC logic wasn't hard.

Talking to NPCs did reveal one design flaw yet to be resolved. The player has a direction he is going. This direction is used to determine who you are trying to talk to. The character icon doesn't give any indication which direction you are facing.

Title Screen

At the end of my last article about color monsters, I said finishing combat was the top priority. So why did I make a title screen? I was demoing the game to people and a title screen looks better.

For the title screen, I wanted to use half the screen for the title and half to display randomly generated color monsters. I tried to use gimp filters to create a logo but found the end result not satisfying. Instead I created the big bold letters for "Color" manually. The "Monsters" text was generated by gimp but then manually altered.


The randomly generated color monsters worked as desired. The results were usually rather garish but occasionally it generated a nice design. Some limits to the randomness might cause better designs and might be useful in the game.

Selecting whether to continue a game or start a new game proved more difficult than expected. Initially I wanted multiple save slots but settled on a single one. However "Continue" and "New Game" were too big to fit without expanding the selection box over the generated monster. I tried various text like "Run" and "Redo" but nothing was as clear. Eventually I decided I had to expand the selection box.

Pocket Arcade

The new round of demos had to do with the release of the Pocket Arcade. I enjoyed the Tiny Arcade but the Pocket Arcade was the kind of platform I wanted. The problem with the Tiny Arcade was the controls and size. It was a good office toy. Something you kept on your desk at work. But it was too big to carry everywhere and the controls weren't the easiest to use.

All that changed with the Pocket Arcade. The joystick became an easier to use D-pad. The size shrunk to be comfortable on a keychain. On top of that it was easier to put together than the Tiny Arcade.

That did not make it perfect. The screws on the back were sharp enough to catch in my pocket. With the previous Tiny Screen Video Game Kit, the nuts would become loose. I haven't noticed that with the Pocket Arcade. It may be because of the included "wrench" allowed you to tighten them enough to stay. (The "wrench" was an extra acrylic piece included with the product.) Overall I highly recommend the product.


No comments yet.

(optional, e-mail address only visible by admins)

Last modified: 2018-10-11, 21:02

© 2009-2022 Identical Games

powered by phpSQLiteCMS