Categories
Geek / Technical

Where Good Ideas Come From

I’ve been reading about intelligence and learning, and I was fascinated with the idea that the conscious mind can sometimes get in the way of full-brain thinking. If you’re reading a textbook for class, for instance, you might read in order, word for word, trying to analyze and memorize and understand everything as you go. The problem is that you are so busy trying to piece things together on such a small scale that you miss out on overall patterns and the meaning of the entire text. One suggestion for reading is to go in layers. Start by paging through and picking out headings and bold words. Within minutes, you have some ideas about how the textbook is laid out conceptually, and then you can start going deeper as you gain curiosity. It’s like reading in layers, and it helps aid your comprehension.

One big part of this kind of learning is the idea that your subconscious mind needs time to let things sink in while you aren’t thinking about the topic. You sometimes get the most insight into a textbook after you wake up in the morning. In the following video, there’s a mention about taking time to let hunches and ideas incubate which I think goes along with this idea.

The video argues that exposure to lots of ideas and thoughts is the primary driver for innovation. Not all of this exposure leads to good ideas, but “chance favors the connected mind.” Having all of these various thoughts in your head, you might get overwhelmed thinking about them purposefully and actively, but incubation time, getting away from problems, seems to help. I’ve woken up from a good night’s sleep with awareness of program bugs I introduced into my project before I went to bed, and usually the fixes for those bugs came along as well. B-)

I think I’m focusing much more on the incubation aspect than the video did, but I believe spending time away from a problem can help solutions develop in your mind and develop good ideas.

I think I’ll go for a walk now.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Stop That Hero! Ported to Win32!

I’ve updated my LD final entry page, but I wanted to let you know that I finally created a Stop That Hero! Windows port (2.2MB)!

Now you have no excuse not to play! Well, assuming you don’t use a Mac. Or some other OS. Then you have an excuse.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Stop That Hero! Development Time Lapse!

Here’s the time lapse for my 72 hours of development on Stop That Hero!

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Stop That Hero! Is Finished!

I apparently needed sleep and a third day to get this game completed, but here it is!

Stop That Hero! is finished

So far, the Stop That Hero! Linux version (1.6MB) is all I have. I just started using CMake for my build scripts, so please let me know if the game won’t run on your computer.
Get the Stop That Hero! source

I’ll work on a Windows port, but for now, I’m going to relax! It’s been a grueling 72 hours!

UPDATE: Windows port (2.2MB) created and available for you!

I also updated the Linux build. It’s the same code, but the build was done on an older Linux-based system, so it should run on more systems without a problem.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: I’m In the Home Stretch

I’m at the final iteration!

The home stretch!

Basically, the tasks I have left:

  • create instructions screen
  • add sound effects
  • package this baby up!

In the last iteration, I was play testing and balancing as best as I could. I decided that the bat was too expensive, so I moved it down in front of the slime in terms of costs. I lowered the starting health of the Hero and gave him fewer lives. I also tweaked the level design a bit to accommodate the AI’s inability to see too far ahead. There are also victory and defeat screens now.

I finally got the AI working well enough that I realized that I wasn’t just debugging the program anymore. I was playing the game! And it’s actually not that lame! B-)

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Let’s Keep on Jammin’!

I missed the deadline for the main compo, but I can still submit my game to the Ludum Dare Jam. The deadline is 24 hours after the end of the compo, so I have until 9PM tonight to finish this game.

After a good night’s rest, I woke up with bug fixes. Seriously, I was lying in bed, slowly waking up, and I thought, “Oh, yeah, I implemented cooldown for the entities after they attack, but I forgot to ensure that cooldown ends.” I fixed a crash bug which also prevents the creatures from trying to leave the world map. And I improved the exploration mode of the AI so that the entities should no longer wiggle or fidget. They pick a direction and go until they reach it. I found that the reason why the hero was getting stuck in place. It was due to the fact that I was checking if he had reached a very exact location, and with his speed, he sometimes overshoots it. When he tries to go back to it, he overshoots again, forever. I enlarged the collision detection box to compensate.

When I finished Iteration 4, I found out that accidentally implemented some stories from Iteration which deal with entities attacking each other. I’ve simplified combat so if entities are not in cooldown and are touching, they’re attacking. That implementation left Iteration 5 fairly moot. In fact, I decided to skip the remaining story in Iteration 5 which dealt with some nuanced AI that I’m not even going to look at, so I’m on to Iteration 6. You can see the backlog of skipped story cards under the Iteration card.

Iteration 5 finished quickly; On to Iteration 6

I’m pretty excited. It’s only 10AM, and I’m on the last two iterations. Iteration 7 is basically sound effects and packaging the game up, and frankly (and sadly), sound is optional at this point. B-)

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Missed the Deadline but Continuing On

I got to Iteration 3 by scrapping some of the art and animations I had planned for Iteration 2. Those story points go back into the backlog.

Iteration 3

Iteration 3 was a bear. It was where a lot of the advanced AI had to be implemented. I’ve never done A*. Most of my AI was very simplistic, which went with the simplistic games I’ve done before. This game was going to be different.

Or at least I hoped it would. Entities would bumble about, get stuck, and fly off the world map even though I explicitly told them not to!

I had a quick lunch which was easy to make while I continued to work.

Vegan pizza and applce juice

Unfortunately, the deadline for the main Ludum Dare compo passed when I finally figured out the A* algorithm (it turned out that there was a greater-than sign when there should have been a less-than sign, which is why the entities were moving so strangely). After the pathfinding, the entities still had to interact.

I had the Hero moving toward targets it sees nearby, although every so often I see that he gets stuck in a certain tile for some reason. Enemies seem to have trouble moving to the Hero like I expect, but they find him soon enough.

But with Iteration 4, they fight!

Iteration 4

Do you see how the Hero’s health is down?

See enemies put on the hurt!

That’s the first time it has been like that outside of arbitrary tests being conducted. One of the dragons did that! Good job, my babies!

Since the main compo is over, the only option I have left is to continue on. I can still try to enter the Ludum Dare Jam, which gives me an extra 24 hours before the submission deadline.

For now, though, I’m going to bed. These last 48 hours have been grueling, frustrating, and exciting.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Good Morning, Ludum Dare!

Good Morning, Ludum Dare!

I went to bed after 5:30AM after getting some rudimentary AI in. I don’t know why the ground-based characters have no second-thoughts about going through the trees and mountains. If anything, they should want to avoid them. I’m sure there’s a bug in the implementation.

Watch them move!

I woke up feeling fairly crappy, but I know what will fix that!

Let's wake up and get this game done!

Yeah, OJ! Oh, and, yeah, sure, I suppose Banana can come along, too.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: My, What a Fancy World You Have There!

My, what a fancy world you have there!

What you see is the game’s rendering of a small 50×32 image, blown up below:

The Tile Map

Besides creating a world tile map, it also figures out where to place towers, chests, and the castle. The black spot is the hero’s spawn point. Red squares represent chests with health in them, and yellow ones represent chests with weapon upgrades.

The tile map will also help the AI figure where and how it can move. I need to do some trickery to make sure it deals with towers and castles correctly. They’re larger than a single 16×16 tile, but the AI should act like there is an impassable wall where it looks like there is one. Also, I need to make sure the hero knows how to get to the entrance of a tower or castle.

UPDATE:
Iteration 2 of 7 started with a little over 20 hours left in the compo.

Iteration 2 of 7 starts with 20 hr 15 min left.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD18: Lots of Work Left and LD Is Halfway Through?!

I had some fig bars as a snack as the evening wore on.

Fig bars

My fantastic and amazing girlfriend made me a taco dinner, which was so delicious that my taste buds were fist-bumping each other.

Taco Dinner

I went to a party my friends were hosting so I could take a short break and get some much-needed social time, but I came back home shortly.

Looking at The Big (Cork) Board, I can see that I’m almost done with the first iteration of work.

Almost done with the first of seven iterations

Unfortunately, I still have 6 more big iterations to do, and a lot of it is doing AI path-finding and other AI things I’ve never done before.

There's a lot left to do

And the deadline is looming.

The Deadline is Looming!

I’m feeling pretty screwed.

I'm screwed, aren't I?

Wait a minute. I think I have some Red Bull shots in my fridge…

Oh, yeah, I forgot I had these.

I don’t drink caffeine usually, but desperate times call for desperate measures.

This Might Help

Bottom's Up!

Let’s roll.

Let's Do This