Ancient Shadows now on itch.io

I will be uploading an #indiegame every week from https://slashie.net to @itchio. This week: Ancient Shadows, a point-and-click adventure where something pushes you to explore a creepy hilltop mansion. You can play online at https://slash.itch.io/ancient-shadows

Ancient Shadows has its origins in “Bird Mansion”, an entry for @tigsource‘s “Commonplace Book” jam created by @mossmouth. The jam was about creating a game based on the ideas of H.P. Lovecraft’s Commonplace Book.

The Commonplace Book was a notebook in which Lovecraft jotted down his various ideas, many of them disjointed and cryptic; most of these musings never became real stories, so I picked a random set of three of these ideas and made a… game that was not very playable.

The null reaction to the game made me delete it in frustration some months afterward. Come late 2011 I decided to revive the project. I teamed up with @B_AMARILLO‘s great artists and remade the engine from scratch in JavaScript with @jucarave.

We never got to complete the art for the game (likely due to an unclear way to monetize it), so it was left unfinished until I decided to make it playable to the end using placeholder art, in the hopes I could gather enough interest to complete the original art set.

This second art set was made by my sister, Valentina Zapata. Then we reused the game engine to create “Canela – Una Aventura Gatuna” (initially just “CatQuest”), which I already posted to itch some weeks ago, she made all the art for it.

So there you have it! the game should be completable if you can go around some of its rough edges. Let me know if you manage to win 🙂

Originally tweeted by Slashie (@slashie_) on May 27, 2022.

Slashware at Colombia 4.0 2022

The early 2000s were witness to the birth and first steps of the Colombian video game industry. A handful of indie game developers, packing more passion than knowledge, decided to venture into the unknown and laid the groundwork for the studios that came after them.

COVA is a group of Colombian video game companies seeking to provide an environment for collaboration in order for the industry to advance as a whole. As a member of COVA, last week we had the chance to have a booth in Colombia 4.0, the biggest tech conference in Colombia and one of the biggest in Latin America.

There, we had hundreds of people play NovaMundi and Ananias, providing us with a lot of feedback to improve them. There were many students that we hopefully inspired to follow their dreams to create their own games.

I also had a chance to finally meet Jose Manuel, the linguist with whom we have worked for many months in NovaMundi, and have a coffee with him and QuietGecko, an important part of the NovaMundi team (and who also helped out a lot in the event.

We were also interviewed by Canal13 Colombia (local TV channel) and Frecuencia Gamer, hopefully that helps more people know about our games and the things that are currently being produced in Colombia.

As always it was also a great chance to meet people from the game dev industry and build connections and friendships, even if this time I couldn’t attend any talks (and didn’t submit one this time, too busy!) or many social events, since I had to instead spend my time in the booth and the logistics associated with it. I got to at least spend some time with fellow indie dev 0xAFBF and part of the Indie Level Studio team in Bogotá.

However, I had the chance for some of the top speakers on the videogames track (including Mauricio Navajas, president of ADVA) to try out NovaMundi and give me their feedback on the pitch decks for upcoming projects. Carlos Rocha (dev of Cris Tales) also played for a bit and gave me some good ideas to improve the flow of the first minutes of the game.

And that’s it for Colombia 4.0, 2022 edition! maybe next time I’ll submit a talk and have a more relaxed time 🙂

FormulaProc – Season 2022

At long last managed to launch. We missed 4 races but we managed to run the Miami GP.

  • Dialog sequences with a lot of new dialogs based on the personalities of the drivers.
  • Add driver stats to the Dialog interaction.
  • New driver portraits including all of their expressions.
  • New car visuals.
  • Use initials instead of full names in the positions table.
  • Add friction deceleration.
  • Add “shock” when losing a position
  • Make the camera follow targets instead of teleporting
  • Add a new music track

FormulaProc: The End of Season 1

Here’s a somewhat late update on the events that happened at the end of Season 1 of FormulaProc. We ran 3 events before dropping the torch and going into hiatus as we missed the start of the Formula 1 2022 season because of running out of energy and having some external factors intervene, we have missed three races now but we want to jump in with some much-needed improvements.

This update is divided into two parts: The improvements in the simulator, and the details of the events we ran.

Simulated Events

We ran 3 events for the Mexican, Brazil, and Abu Dhabi Grand Prix. I continued trying my best to narrate the events, and we also made posters for Mexico and Brazil. When we reached Abu Dhabi we had basically run out of energy for promotion so there was no poster.

In addition to the main events, I also ran exhibitions for Mexico (winners of the Mexican Grand Prix, using the “war” mode) and Brazil (with the drivers of the Formula One 2021 season, extending the list of top drivers to 20).

Simulator Improvements

Mexico: Activated the “cinematic” events, but mixed with the top-down view instead of a full representation of the event both for budget and practical purposes of incremental improvements. This replaced the head-to-head stats of drivers and included having some “emotions” for the drivers, and some logic to make sure the viewer has some time to see each event amidst the chaos that a race can represent.

Some small but important changes were also done in the simulation, implementing a restriction for maximum speed, and scaling brake deceleration to try to obtain more down-to-earth results and more exciting conditions on the track.

The race intro/track info panel was broken down into a sequence of more readable screens as well. And new extended music tracks made by QuietGecko were included.

Brazil didn’t include a lot of changes; however, I gave a first try at the “dialogs”, displaying a speech bubble over one of the drivers, alternating to give the sense of a simple conversation as events unfolded.

And finally, for Abu Dhabi, there were not really any engine changes; the only difference in this race was using a “night mode” where the track is darkened to give the illusion of it happening at dusk.

Getting ready for 2022

After Abu Dhabi, there has been a lot of work in different areas although no new events have happened.

On the visual side, we have created our own hand-crafted models for our open-wheeled Formula-type cars; the designs also include the colors and brands of our first sponsors; I will be revealing these in the upcoming days. We are also revamping the portraits of the characters and their emotions, and creating a new title screen.

On the design side of things; we are giving each driver a different personality which will be reflected in both their driving style and their dialogs and interactions with other drivers. We are also designing new types of events that could happen inside the races.

And that’s it for today’s update! make sure to subscribe to the YouTube channel so you don’t miss the races!

The Making of SpelunkyRL – the 7DRL – Part 2

This is the second part of the story of the development of my 19th 7DRL: SpelunkyRL, a roguelike inspired by Spelunky. You can play it online at https://slash.itch.io/spelunkyrl

It has been some weeks already since I wrote the first part, and I’ve even done a release with improvements, but I feel like I should complete the tale.

The last time we left at the end of Day 5 of the 7DRL Challenge; there was a playable game being tested by friends already, what happened next?

Day 6

As testing intensified and I was addressing feedback as it came, I also decided to start working on traps because what is Spelunky without the traps? I should have started with that before, but it had to be in so I jumped into it. Initially, I added some basic “arrow” traps, hoping to be able to put in some variety afterward. This also justified the passive ability/advantage of the Spelunker to find and evade traps.

The idea, of course, was to make interesting deaths possible. It’s always challenging to prevent traps from feeling frustrating in a turn-based game because good reflexes and dexterity are out of the equation to dodge them, so you gotta replace them with careful planning and being prepared for the worst, and yes there will still be luck involved.

Another important thing happened on Day 6: Simernio, the artist for many of Slashware projects including NovaMundi and FormulaProc, sent out the cover art for the game which was lovely and made my eyes teary. It was spot-on. Some days before I had discussed my idea with him: To bring together the box art from Epyx Rogue and the essence of Spelunky as a fantasy archeologist’s adventure game, and throw in a couple of non-sense things in an 80’s videogames cover fashion. And he did it perfectly.

Perfection

Day 7

In spite of a generally positive 7DRL process (i.e. having a playable ready early in the week, and keeping it playable all along) it was impossible to avoid the final push on day 7.

I decided to extend the data to 8 levels. However, I stuck to my own advice from 2021 and left it as ONLY 8 levels, to keep the focus on an interesting smaller set of content. Still, it was a lot of work to juggle with data and make each enemy feel unique.

Of course, for things to feel unique and not just orthogonal, I had to implement some changes in the engine, including the ability for enemies to “hurl” you (and vice versa!) not a simple change at all! but then I decided to take advantage of it and include another type of trap: the deadly spring floor which will shoot you forward with frequently fatal results.

I mentioned before the challenge of traps feeling frustrating in this kind of game, in the case of spring traps, for instance, they can be fatal if you walk in one of them some steps before a chasm. Permadeath. Pain. BUT, if you are an experienced player, you will walk cautiously when there are chasms around; well aware that you may be propelled forward on your next step. And if you HAVE to, you’ll know you waged against fate.

QuietGecko also did a big push for audio work on the final day since he couldn’t invest work on the project during the week; I naturally left some time to work on audio integration.

I spent the final hours playtesting and resisting the urge to add more; the biggest thing I missed including in the original submission was a tutorial level; but it was just too much to remain sane.

Post Jam

Some days after the challenge’s deadline, and having recovered some of the energy, I decided to go back to the project to fix some rough edges that had been reported.

The most important addition was adding a tutorial level with tips to learn how to play, and doing some tweaks on the help screen. All of this was to make the game more accessible to players.

Other than that, this version contained a critical crash fix and some minor bugs with sounds and game flow.

Reaction

The initial reaction to the game was positive; people really liked our little idea and it was polished, stylish, and fun. As usual, people loved the sound effects and the music.

We even got noticed by Derek Yu, who mentioned “It’s come full circle”, just the reaction I was looking for 🙂

Another version was produced afterward, with even more usability and accessibility improvements.

And that’s where we are with SpelunkyRL! if you like it and/or have any ideas for improvement, please let me know! 🙂

ZeldaRL 0.8 released, after 15+ years!

15 years ago, I participated in the 7DRL challenge creating a roguelike version of The Legend of Zelda.

It worked, but there was something bugging me year after year: from what I saw, permadeath just didn’t work very well with this game since it really prevented the player from fully exploring the generated overworld; diminishing its value because it was just too damn hard to finish it in a single run.

This version brings is the complete removal of permadeath, along with the following changes:

  • Run by default using the Swing console mode.
  • Resize font when window size changes in Swing Console mode. 
  • Add support for win 64bit libjcurses.
  • Change appearance for shallow water 

You can find it at https://slash.itch.io/zeldarl. Here’s also a video of me playing and doing some work on it!

Ultima Castle Generator now on itch.io

Continuing my quest to upload one of my games from https://slashie.net to https://itch.io every week, I have published Ultima Castle Generator there, a procgen tool to generate castles like the ones you would find while roaming the Britannian countryside in Ultima V. Play with it online here.

I made this one for fun back in 2016, following a challenge from the procedural generation reddit. The process I did was based on examples, checking the maps from the game in order to dissect their structure. You can still find them here

Empath Abbey, from Ultima V

The generator works in three steps, as described in this blog. An intermediate step subdivides the space into utility rooms, which are then filled based on their utility. The source code can be found here in case you want to play around with it a bit.

The version at itch.io features some simplifications in the UI to make it look simpler and cooler, similar to the great generators by watawatabou. The legacy UI was kept at slashie.net including the intermediate generation steps.

Distant Friends on itch.io with improvements

Continuing the quest to post a lot of my games on itch.io for preservation and to raise awareness (…), our entry for js13k 2022 is now on itch.io with the following improvements.

  • Smaller ship and rockets.
  • Fix glitch on ship visuals.
  • Improved instructions
  • Remove dynamic asteroid fields, replace with fixed location mining field
  • Add booster tracks between planets.
  • Show elapsed game time.

Check it out here.

The Making of SpelunkyRL – the 7DRL – Part 1

This is a story of the development of my 19th 7DRL: SpelunkyRL, a roguelike inspired by Spelunky. You can play it online at https://slash.itch.io/spelunkyrl

Unlike previous years, this time I had complete clarity on what I was going to do and how I was going to do it, weeks before the challenge, and managed to stick to it until the end. That was very helpful to avoid wasting time going back and forth with ideas!

The Mine of Spelunky, a new sidescrolling adventure every time

My plan was to create a traditional roguelike version of Spelunky Classic, using my entry from last year (Rainy Day) as a foundation, including most importantly its procedural level generator, and its visual design overall.

This idea had been on my mind for a long time, probably since I happened to meet Derek Yu in the “Day of the Devs” event in November 2017. We discussed the idea of Spelunky as a traditional roguelike, and even though it seemed unlikely for it to work, I thought it was worth giving it a shot to experiment with how it would feel.

Roaming the dark roads of San Francisco on my way to the event

I even considered doing it amidst the many options explored during my crazy last year’s 7DRL entry, but I didn’t feel ready to tackle it as it deserved until now. For some reason, I think jumping into this project carries something of a responsibility to make it right, but I also thought I had the tools and knowledge to make it a reality this year, and most importantly that it was something that could be done in 7 days of development.

An important choice for the project that was solid and clear from the beginning was to go for a strictly monochrome, 80×25 amber terminal look; the reasons for this were I wanted to imagine this as a game I could be playing on one of the first computers I had a chance to use in school, back around 1993 or 1994 (old computers that had been donated by someone, most probably); a game that never was.

The other reason is I wanted to reinforce the traditionalness of the game, going back to the very first roguelikes that ran on terminals in the 80’s. Since the Roguelike Arcade, organized as part of the roguelike celebration 2018 in San Francisco, I knew I had to make a game that resembled these. (And I’m not alone on this, I know of at least one another roguelike developer that was enamored by how they played and looked).

There will never be an event like this any more.

I talked with my friend and development partner QuietGecko the weeks prior and he was on board, ensuring that even if I failed, his catchy audio would be there to save the project.

As the 7DRL challenge started,
I squinted into the darkness,
and thought of her one last time.

Day 1

The 2 hours I managed to put in were spent dumping the first batch of tasks that had been on infinite repeat on my head for the past couple of weeks:

... > clone Rainy Day > change color to amber > add entrance level > hook with random cave generator > clone Rainy Day > change color to amber > add entrance level > hook with random cave generator > clone Rainy Day > change color to amber > add entrance level > hook with random cave generator > ... 
Liberating!

With that out of the way, I proceeded with something I’ve always wanted to do: start with designing and defining the data of the enemies and items from the beginning, instead of a mad rush at the end after coding the engine.

In the meantime, QuietGecko worked on the foundations of the main music track we were going to use for the game. One possible idea I had discussed with him (but left him the liberty of deciding on it) was taking Spelunky Classic’s “Cave” track, as a strong influence for a “darker”/ more serious track, removing all chiptunes and making it feel a bit more Indiana Jones.

Day 2

Invested time in developing what would make the game different from Rainy Day (and give it its own identity, inspired by Spelunky Classic). Added bombs, destructible terrain, and the foundations for its combat system based on double movement speed, so you could, with careful planning, avoid melee combat for most situations to make better use of your ranged attacks or simply to run away towards the exit.

With a first revision of the audio track done, QuietGecko moved into implementing some audio effects for the game.

Day 3

More fun Spelunky-inspired engine stuff! I added chests with bobby traps, pots you can throw (including possible critters inside!), shops, and angry shopkeepers.

I also started considering accessibility, especially because the idea was to have an alpha test running pretty early, so I added a help screen I would continue building during the week.

Finally, I made an important decision about the display; in contrast to “Rainy Day” I decided to use a lot of codepage 437 special characters, making a great difference, especially for the walls (using full blocks instead of characters such as #).

QuiteGecko continued working on the sound effects.

Day 4

More fun engine features: the possibility to perform sacrifices to the goddess Kali, as well as allowing the player to stun, grab and throw enemies. Also continued improving the UI, and added separate “states” for the game prologue, the title screen.

Following up with the plan to have early feedback and QA, I created a first alpha version and shared it with the team for initial tests.

Day 5

With tests underway by a close group of friends, I was able to implement the variations between the 3 character classes/backstories, as well as ranged attacks, the tourist’s flashing camera, and combat-less conduct.

Next up: The final two days and the events that happened afterward!