Re-Starting Fundamental Algorithms

I have been looking into how to do the fundamental algorithms that run Re-Hoard:

  • Some way of generating a maze
  • Some way of drawing a maze
  • Some way of directing the opponent’s movements whether they be patrolling or hunting while respecting collision
  • Some way of generating fully-functioning opponents

Though I looked for several maze generating modules already written in Lua, especially accounting the tight restrictions the Pico-8 has, I ended up coding the Recursive Backtracker algorithm that Jamis Buck wrote in his presentation on algorithms. (What really confused me way how to iterate over a 2D table in Lua.) However, I still needed some way of implementing queues in Lua. I ended up with the Deque module. I only put the specific functionality the game needed, though. I ran the code, but I ended up stuck today on some odd syntax error when dealing with this line:

 if dungeon[(current_cell.1) - 1][(current_cell.2)] == nil then

current_cell holds a table (a list, actually) that simply holds the “current” coordinates ({x, y}). Out of some reason, though, Pico-8 keeps saying:

‘)’ expected near ‘.1’

…even though I already put a closed parenthesis.

Thankfully, I already made a quick code that draws the map, which is actually a table full of “true”, “false”, or “nil” values.

On the opponent AI, Scathe at the Lexaloffe forums suggested repeatedly directing the opponent to a specific point in the map. His posts use a Pac-Man-style algorithm while the Pico-8 Zine used the A* algorithm, instead. I picked A*. This requires some careful attention from me, though I realized that the pathfinding algorithm also solves the issue with collision: pathfinding algorithms are designed to find the shortest path to a goal while avoiding obstacles, that is, the same obstacles that motivate me putting in collision detection in my game!

I already have the actual collision detection algorithm fully understood and coded, by the way.

On actually generating these opponents, I found Entity-Component Systems which not only promise to be more efficient but also do away with the need of object-oriented programming (in theory), making them a good fit to Lua, which does not have native support of OOP.

I would push these changes to GitHub, but I put all these algorithms on a separate cartridge because I want to focus on understanding and testing those algorithms specifically.

Advertisements

Reckless Foresight

When I formed my goal of releasing Re-Hoard and Reckless Abandon on September 10, I was thinking only on coding, graphics, and music.

I realized recently that there are more steps after that.

I am not only talking about testing or even translation. I want to give these games their own mini websites, advertising (with stellar art), and, in all, a proper release. That requires not only more programming, but also skills in how to use CSS, how to draw skillfully, and so on. I would also have to make the websites fascinating yet skillfully coded and designed. I would also have to add new features, including a guestbook and privacy policy.

In all, I need to give the games the respect they deserve.

I knew that making September 10 a mere goal instead of a promise was wise.

Release goals of Re-Hoard and Reckless Abandon

Please excuse the news blackout. Since July, I needed to rest, first. Afterwards, I got a new computer that replaced my old one which had a malfunctioning keyboard. After that, I spent my time setting up my computer to my liking and getting used to a new keyboard layout based on the 2nd ANSI Keyboard variation of the DH Colemak mod.* I am still yet from fully used to this layout, but I am reasonably competent here. Besides, I should not be putting off development of my games so long.

How does September 10 sound? I am not making any promises, but I should be getting back to work.

Reckful Spriting

I managed to do almost all of the graphics of Reckless Abandon. I was actually out of ideas by the time I stopped, but I thankfully got almost everything done there. Other than that, I still have to do the bonus exhibit and a secret or so.

I stopped temporarily because I both wanted to rest and celebrate. I wanted the ideas to come, but that needed me stepping away from the game. Even coding would not give the rest my mind needed in gathering ideas.

I think I got almost all the ideas I needed since then now.

I feel accomplished that I did so much. I hope that I can release both Reckless Abandon and Re-Hoard by the end of this month.

A Human-Sized Wall

Recently, I started working on Reckless Abandon again. Weirdly, my problem was that I had trouble figuring out how to draw humans in sprite form. I think the reason behind my hesitation was because I am going to do a big number of human-based designs in both Reckless Abandon and Re-Hoard, yet in theory, there are several ways of drawing humans. There is a lot hanging on this base concept.

I decided to take my time in loosening up my human designs.

humans

The one I like the most is the purple design due to its reasonable compactness while still being recognizable and animatable.

Abandoning a Reckless Pace

Neither Re-Hoard nor Reckless Abandon are going to be released by Comi-Con this year.

Ever since my last post, I took my time both recovering and considering my needs. I realized that I would not be able to deliver a good product (or maybe any product) by that deadline. My health and other kinds of energy trump any business opportunities.

That does not mean that I would stop. I just needed to recover from the deadly pace I took. In fact, a couple of days ago, I reoriented myself on listing what both games still needed.

However, I fear that, given that this is my second delay, I am setting up an image of lazy unreliability.

Reckless with my Energy

Yesterday, I was stuck on how to represent the countries when designing the exhibits. Thankfully, I got the ideas going at night. I think I just needed to let my brain work out this stuff by itself and respect the time my brain needs on working on stuff in general.

The problem is that I had little energy for working on the game today. I do not have the will of working on stuff immediately after I wake up; I need to “buffer”. I only start getting that will at noon, but, even after 1:00 PM, I still had no desire to work on this. I played some electronic games, thus recovering my emotional energy. I then slept, yet, 3 hours later, I still felt tired. I decided to just work anyways. I added enough notes and started drawing the props. However, I just… want to sleep more. Besides, I am typing this sentence at 10:33 PM.

I want to get this game out before Comi-Con, but my health may require me to postpone those plans.

Recklessly Stuck

I am surprised and embarrassed on being stuck in this game. The coding itself did not give me problems this time, but the content did. Worse, I thought that I had developed the idea thoroughly, but I have problems finding out how I should do the exhibits. I got a general idea, but I got trouble turning that idea into specific exhibits.

…I do not like stopping here, especially since I want to have both games done by Comi-Con, but I feel that I need to do more research beforehand. Besides, this is just a temporary detour.

…at least I hope that this is just a temporary detour…

Not Recklessly Abandoned

I owe you some explanation.

I actually worked on Reckless Abandon today and yesterday.

After I took my time taking a better look at how the API and Collide demonstration cartridges worked, I started yesterday. That day, I experimented with some code and did a couple of dummy tiles while adding to my notes. Today, I made the iguana character, a key, and a few tiles, the carpet tile replacing a dummy tile (that was a light green that had a dark-green outline). I also got down the rhythm and length of the main song.

I am surprised at how much I have progressed already… especially in the coding part. Then again, the Pico-8 was meant for this quick stuff.

72 hours…

I earlier mentioned that, because both Re-Hoard and Reckless Abandon are half-developed, I can follow eevee’s lead on developing these Pico-8 games in 72 hours.

The issue is that eevee developed her game in 72 dedicated hours (save necessities, of course).

…I can dedicate myself that much, though, to some extent, but this is a flash of perspective that I missed when I wrote my last post.

I should get to playing around with the demos today.