Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Page Mage

A topic by innomin created Mar 03, 2019 Views: 672 Replies: 9
Viewing posts 1 to 8

Hey folks! This is my first time participating in 7DRL, and I'm planning to adapt a puzzle game I made last weekend in Alakajam#5 into a more roguelike design. Here's a gif of that project so you can see some of the mechanics I plan to explore:


Note that this image and game is just a reference for me, and I will be doing all new art and code in a completely different framework (Pico-8) for this challenge. I just liked how the mechanics worked out, and think there's potential in the concept for an expanded, somewhat puzzle-y roguelike too. Wish me luck, and I'll keep this thread updated with progress shots as I go. Starting my jam at the top of the hour...

If I learned anything on the last project, it's this: Don't cut corners on your font.


Is this readable for everybody? (Also, I'm loving the gif exporter on Pico, it's really easy to show progress now!)

Very readable :)

(1 edit)

Making progress on map generation.


It's a really cool approach I saw someone mention on the Pico-8 forums a while back, where you use a random set of unfilled rectangles to generate hallways and rooms with interesting obstacles automatically. For my game, islands are also a bonus feature, because continuity is not required when you can lift the water to make more land.

This algorithm is optimized by drawing rects directly on the screen with a special fill pattern, then copying that region to map memory for a direct tileset render (you can see that the CPU usage at the top never ticks to even 20%!). Up next is orthogonal screen connection and permanence, by calculating seeds from the current screen's x,y coords in the global map, to keep save data low (I'll need most of it for spell storage later).

looks awesome! Can't wait to see more

(1 edit) (+1)

Oh shit guys! It's a persistent world, with fancy screen scrolling:


Yeah, I need to get those room entrances to move all the way to the first solid, but they are connected and preserved to the random seed for each area. Levels are randomly generated by the starting seed plus their grid location, so saving the seed in persistent data means they'll load up the same every time. There's also a pretty sophisticated 32-bit hash function scrambling adjacent room seeds, so regions of the map don't ever become samey if you hit the same seed in two different games...

The screen scrolling is a fancy memcpy effect of the old screen data to its new position. Since the vertical scrolls only have 14 tiles it wasn't a nice even number of lines per frame like the 16 across was, so there's a little crazy math moving it 3 or 4 pixels depending on how far the next draw will be. Was it worth it? I think so!

Probably my last update of the night, but this has been fun so far! I'll be back for day two after a good night's sleep. =)

(+1)

 

Connectivity is much smarter now. Starting work on an ice spell...

very cool! I like that a lot

(+1)

Hey everyone, long time no update! I've been fighting off a bad cold and trying to take it easier than I probably should for this challenge, but making some steady progress all the same. This will likely turn into 30DRL Challenge for me, but I'll take the loss here and keep working anyway...

  

Since I was reasonably comfortable that I knew which colors were background reserved, I made the main character next. She has color options for her clothing so the game can unlock other starting books with different spells and play styles. Animations are compressed into 24x24 pixels of the total 128x128 spritesheet, so there should be plenty of space left for enemies and content, and maybe a fancy hi-res main menu too.

 

Building the basic object framework was next. The player is just a special version of an object, so she draws in the correct order with everything else. As you can see by that flickering top bar, turn order is in, and enemies would get a turn after every movement action, but not every direction-changing action. When there are no enemies on screen, walking around is seamless unless you cast a spell, which also has reserved turn order to finish its full action.

Also, I settled on raincoat witch as the main color scheme, because she is adorable. Works better with the blues in the background, too.

(1 edit)

Working on a particle effect engine today, for the spells:

   

Each of the effects is encoded as a single string of hex codes representing the color gradient, and a separate draw function. These demos cover the three styles of effects I need: simple trails that follow a path via a circular queue, time-based positional movement with randomness, and multi-trails with a pre-defined movement and non-random separation, for the wind effect.

I still need to do water, ice, and earth spell effects, but they'll probably be variations on one of these three styles with different gradients, so it should be easy enough. Also, since I'm planning to continue this WIP after 7DRLC ends, should I move this devlog somewhere else?