Entries in game development (344)


Illustration - Herbs and Spices

I drew 4 of the 40 herbs and spices I need for April's game. Here are some annatto seeds, basil, bay leaves, and cayenne pepper.

Game Development - Loot Drop Table

In my upcoming game for April I had to create a loot drop table for the 40 herbs and spices a player could get. I didn't want to simply initiate a random number, but instead lock certain herbs and spices to different months and times of the day. So maybe basil is pretty easy to find between 6am and 6pm in March, but impossible to find in July.

What I did was for each herb and spice to generate 12 random numbers between 1 and 12, which represents the months January through December. Why 12 random numbers? No real reason.

The spreadsheet then finds every entry for every herb and spice that equals the month I'm currently looking to populate. I then copy all of those entries and put them in the appropriate array in the game. Each entry is actually a reference to a specific herb or spice. So if the "January Day Time" array has a lot of "Basil" entries in it, then the probability of finding that entry is higher since the game looks in that specific array and randomly chooses one.

Game Development - Adjacent Card Study

I was thinking about a game design that would be part solitaire-ish card game and a small city builder. I've played with the idea of a small grid where you place buildings, each turn being a year in the city's life, and adding up bonuses based on each card's adjacent cards. I have a game called Neighbor Solitaire that tackles this type of mechanic, but I wanted to do more with it.

One of the main challenges was how you create a small enough deck while being able to communicate the information you need on each card. What you see above is my initial take on it. The issue I ran into was that I couldn't produce a card that provided the right data without being confusing. The idea would be you have a card of a certain color and it would have extended arms of different bonus values on each side. Only if the adjacent card matches that arm do you get the bonus.

The problem is the way it is laid out makes it confusing. It's not clear the top-left green card should receive the bottom-left blue card bonus, for example.

I then thought it would be better if the player played the cards that go between the established cards to calculate points. In the example above, the player plays the cards with the triangles and the solid colored cards is your starting board. Now it's clear that adjacent colors of the same color give you points.

This is just a quick study I did over lunch. I may pursue this game for my May 2016 Patreon game. My April game is already spoken for. :)

7DRL 2016 - Spice Digger Complete

Download: Itch.IO
(Note: The game is currently only available as a Mac download and Android APK. It's pending review on the iOS AppStore, so a few weeks until it's available there.)

My game Spice Digger is complete! I think it took about 10 hours to build, from concept to completion with all of the art. Overall I feel like it was a really good experience for me. I kept things within scope based on the time I knew that I had and I was able to complete a project that captured what I wanted to do with it.

I was able to take these few pages of writing and turn them into the game I released. This makes me very happy.

I decided to boil down the Roguelike genre into the most basic pieces I could muster: turn-based movement, every step you take decreases your health, enemies will only move when you move, maps are procedurally generated somehow, and you are trying to complete your mission or get the highest score possible. The parts about generating a map and turn-based movement was easy enough. The difficult part was to do procedurally generated levels without simply relying on "random" to give you a map since you need something somewhat smart so you don't get stuck with an exit placed behind walls you can't reach.

How I decided to handle the procedurally generated level was that in the 5x5 grid I would have the computer figure out a path, moving only orthogonally, of 16 nodes. The game would place the player spawn at the start of the path and place an exit at the end of the path. The game would place a random number of treasures, relative to how many floors you've completed, on the path. Then the game would place a random number of walls in all the remaining spots.

What this would ensure would be a path where you would be able to reach all of the treasures as well as the exit. This meant any given level would have anywhere from 0 to 9 walls, forming a relatively interesting looking map to traverse.

I also decided to add "highlighting tiles for a bonus" mechanic because it would allow every single floor to be "solved". If you highlight at least 15 tiles, your health would be increased by 15 points. This mean if you played a perfect game, you would be able to traverse down 100 floors, collecting upwards of 10 treasures per floor. So instead of just running to the exit, a thinking player could extend their play.

The last piece was adding an enemy the player would try to avoid. Since the game was designed about collecting spice and avoiding conflict, having an enemy that could actually corner you to attack wasn't something I wanted to implement. Instead I thought the ghost would be a good one since at most it would be a hinderance, potentially forcing you to rethink your path.

The ghost has a very simple movement mechanic that's four moves long: stay on the space, disappear, appear at a new spot with half transparency, appear in full. If the player enters the same square as a ghost when it is staying on the space or when it transitions from half transparent to full opaque then they will suffer 5 damage. It's pretty easy to avoid the ghost.

The art direction changed quite a bit. I wanted to make sure that the characters would fit in my upcoming project Adventurer Needs Food Badly, and that would be characters I previously created in the last decade or so of comic drawing. Here we have Elite and her companion robot, Ritz, as traveling spice salespeople.

I also have this weird fasciation of creating new devices that buttons, knobs, switches, LEDs, whatever, and an appropriate screen. Since manufacturing new hardware is not something in the cards for me, drawing it to be used in mobile is the next best thing. I've been designing my most recent bunch of games in this fashion: geared for mobile, yet spending a lot of screen real estate to illustrate physical buttons that aren't actually there.

It was a fun time to work on this game and I look forward to other game jams I can participate in the future. My current design mentality is what I call "inside the box". I want to create a game that is simple to play, offline, simple in art direction, and something that can generate its own levels until a player is ultimately bored with the mechanic.

7DRL 2016 - Generating a Usable Map

Game now can randomly generate solvable 5x5 maps. There is also an exact 15 step path the player can take to get to the exit. A level bonus of 15 Battery is given to the player when they cross over 15+ spaces on the map.

7DRL - Generating the Grid

My first official day on the 7DRL (7-day roguelike) game development challenge and I ended up cleaning up some old mental cobwebs on how to generate a grid and a player spawn. The challenge ends on Sunday, so I have a few more days to work on this guy.

The concept is simple and within the constraints of being practical. Practical, in this case, is being a dad of two young boys and working full-time. Outside of an hour at lunch at ~40 minutes on the train, I don't have much more time to work on things.

Now I need to figure out how to generate a random number of walls and treasure spots. While I could simply randomly pick a different x and y, there still is the possibility the same spot gets called on multiple times and overrides the previous value.

Game Development - Catch 'em All UI Progression

I've been toying with the UI for my upcoming "Catch 'em All" game. I wanted to try to do something simple like the "1000 Word Quest" game, but ultimately decided it needed some more Pokedex love.

Game Development - Spinner and Rarity

I was able to create the ability to start the spinner, stop the spinner, generate the little delicious pies based on a rarity value (example: 50% rarity means only half of the pies show up), and for it to check if you stop on a pie (meaning you caught the thing).

Time to work on adding a collection page and I should be good to go.

Game Development - Catch 'em All

This image may not mean much without context. I've been on a recent kick on finding a game mechanic I enjoy and trying to recreate it on my own (and for others for mobile devices). This is essentially the bug catching and fishing game mechanic from Yo-kai Watch.

Every creature has a "catch" ratio. This is represented by little pie slices around the disc. Then a spinner spins around the edge and you hit the action button to stop the spinner. If the spinner lands on a visible pie slice, then you catch the bug.

What I don't like about the Yo-kai Watch version is that they use deceleration. That deceleration amount is somewhat random, meaning when you click the action button it will stop somewhere around where you clicked. This always rubbed me the wrong way.

In any case. I've been able to recreate this mechanic and will setup as many creatures to catch as I can muster. I'm going to add some different "appear conditions" like the bugs and fish from Animal Crossing.

Hondenkat Engine - Experimental Idea

I've been toying with this idea of using my Hondenkat Engine to provide a game experience that's different from its original design (puzzle-based-star-collecting-game). I wanted to see if I could apply the turn-based movement with the dialogue of a narrative driven experience.

Here I'm illustrating one of the beginning scenes from the movie Office Space. I'm having the player control Peter where he leaves his cubicle and shows up at Samir and Michael's cubicle. He then asks them to go to Chotchkie's for coffee.

I guess someone's having the case of the Mondays.