FormulaProc: France+UK+Belgium

Work continues in FormulaProc in anticipation of the 2022 Formula One Championship starting. For this update, we have contributions from Esteban Martinez over the narrative front. Check out formulaproc.com for full info.

Simulated Events

I set up and ran the events for France, United Kingdom, and Belgium Grand Prixes and their qualifier sessions, each event has had something new as detailed below. Esteban continued providing the foundations of the narrative, presented as news articles on the main website.

Visuals

The most visible addition is, of course, the overhead view of the tracks and the cars running through them. This is a jump we had to take in order for the races to feel less abstract; I found out the people who like this kind of content are very attracted to the visual aspects so we had to break from the “flat” type of race we were showing.

Of course, this meant I could no longer spread all the cars side by side, and instead I had to put them over the road. For this, I created a system of “lanes” or “tracks” taking inspiration from slot car racing with the exception that cars here can switch lanes after surpassing.

I reused a lot of what was coded for the minimap, adding rotation to the equation and doing a lot of work to make setting up the scale of things more easily instead of trial and error.

In order to provide a sense of depth, I also added a layer drawn over the cars (currently used for things such as bridges and tunnels).

I created a short video detailing the process of setting up a track under this new system.

Simulation

Added a “Flying lap” qualifier system, the cars to a warm-up lap, and then all of them stack in the starting line and start their flying lap at the same time, retaining the speed and acceleration they had. This means all of them have the same chance of having a quick lap.

I also scaled the acceleration values so they are more realistic, cars were moving just too fast in the track (and this was hard to visualize in the linear view, but was much more noticeable in the top down view)

Cars also now fly past the finish line when the race ends, as them staying there was no longer needed with the introduction of the positions table, and it looked weird for them to stack there in the new overhead view.

User Interface

Improved the format of tables, and removed clutter from the HUD over the cars since most of things were now redundant with the driver info box and didn’t look good in the new overhead view.

Camera

First steps to make an automatic camera; before this I had to manually scroll thru the race, trying to find interesting moments to record; now the camera warps automatically to ongoing combats or drivers approaching each other, so now there is no human intervention in the creation of the videos! this still needs more work to be less instantaneous and maybe also allow replays or parallel cameras.

Artificial Intelligence

Tweaked the AI to have something of a state model, entering a braking phase before a corner based on a calculated risk, and sticking to it until close to the corner. This is in contrast to the model before where such evaluation was made every AI cycle, which led to very erratic gas/brake behavior.

Pixal – Day 246, it’s been over ten years

This is something I’ve wanted to do for a long time; over the past years, I’ve complained repeatedly about how I worked so much on Pixal, and then I lost the direction of the project and it all went to hell. Well, it’s about time to fix that.

Let me introduce you to Legends of Kramora: The Golden Age of Ibaran – A prequel to Wrath of Kramora (otherwise known as Ananias), this story takes place years before the great serpent arose from the underworld to destroy the world; fighters from all around the world travel to Ibaran, to compete in the tournament and gain fame and fortune.

The first task (besides making sure this beast works fine in modern infrastructure) is to remove the World Browser – It’s worth months of work, and yet the scope creep it brought killed the project around 2010. I’ll focus instead on providing fun combat and tournament mechanics, making an entire game around it.

This will take a little bit; for good or bad, the SVN history of the project was lost, so there’s no way to automatically revert the months of work that went in; instead, I have to manually restore things that I had changed already with the idea of them working in a less abstract way, tying them to “buildings” and locations inside the world that you could navigate with your Expeditions (for instance, the Colosseum was a building there, so I have to manually restore it into a list in the profile page)

In any case, I feel happy that I was able to revive this project and it didn’t take a lot of time. I’m hoping some people will still find it interesting after these years; I myself still look forward to playing a light browser-based game in the dead times of the day.

Of course, another important thing I’m doing is adding a light narrative to this and tying it to the rest of the Kramora series. I believe this is important since the original Pixal didn’t have any setting and was maybe a bit too abstract.

It’s also amusing how much of how this codebase works I am able to remember; I already had to fix a bunch of 10 years old bugs that lay dormant in the code.

A public beta version will be available soon!

Aprox. Work Time: 246 days, 727:00 (725:00 + 2:00)

Novamundi 0.35 – Trailblazer

NovaMundi is available on Steam Early Access! GET IT NOW (or wishlist it) if you like what you see!

The last development update was from October 2021! It’s not that there was zero development in these months, but I certainly took some time to work on other projects to take a bit of fresh air. Now we are back to your schedule!

Let’s talk about the new version, 0.35 – Trailblazer, here are the major changes but as always there were smaller bugs fixed along the way.

A new combat unit, the Spanish Trailblazer, has replaced all other Spanish units (at least momentarily) to fit with the new visual style of the units and our latest research. These lightly armored European warriors are armed with steel spears and appear along with Panche raider groups in the mid to late days of the invasion.

The Muisca units were also improved with knives added to the Explorer unit, and new animations for the Guardian’s staff attack.

Deer hunting was also improved with them now having proper run animations, and with some tweaks on their behavior.

The text of the intro was completely remade to reflect on our latest developments of the theme of the game, mainly adjusting the portrayal of the European force as much less of a deadly invasion force while still a dangerous threat.

The texts for the dialogs of the wayfarers where they describe surrounding animals have been localized, as well as the names of the animals and their description when you find one.

In the media front, the interview with “Congreso and Sociedad” for the TV channel of the Colombian Congress was finally released on YouTube; some interesting points were discussed.

Finally, just for fun, I mocked up how would Encanto town (from the Disney movie) look inside the Expedition engine, using some assets from the previous incarnation of the project which I don’t rule out reviving this year in some way (as a separate game).

FormulaProc Dev Report

Ok, here’s what has kept me busy lately.

Thru this last month of dev, the project graduated from a ProcJam entry into an official Slashware project with contributions from QuietGecko, Simernio and Esteban Martinez. All the current stuff can be reached from formulaproc.com

Simulated Events

I set up and ran the events for the Spanish, Monaco and Azerbaijan Grand Prixes and their qualifier sessions, each event has had something new as detailed below.

Check them out at the Youtube Channel

Main Simulation

The first thing I improved was adding the circuit map; this was critical for players to get the feeling of being there. It was implemented with some basic trigonometry allowing to locate the markers alongside a polyline (only straight segments, no curves for simplicity, so long curves in the circuits are just a lot of small segments which works good enough)

Gecko created an upbeat music track for the races, and sound effects for the events such as new lap, surpass, and countdown. We also worked together to create the engine sound which was something critical to get the feeling of the race; it was an iterative work which required tweaks on the simulation itself so that the dynamics of the RPM and the gearboxes on the vehicles matched the variations in pitch we needed to get just the sound we wanted.

I added a couple more visual indications too, first off I added “combat notifications” to let the viewer know when a car was trying to gain a position and when/if he was successful; that ended up being super confusing and useless, and was later replaced by indicators in the newly added “intervals table”, which is a permanent indicator of the positions in the track and the difference in seconds between the drivers.

I also worked with Simernio to fully redesign the appearance, and added a box with the stats of the race leader.

Discord Bot

Along with the creation of FormulaProc’s discord server, I developed a first version of the bot using discord.js (including persistence to mongodb with just its native nodejs driver) and deployed it to DigitalOcean.

Right now you can use it to place a bet on a driver for the next race, buy virtual mechandise and event cast spells over the drivers to affect their performance in the upcoming races.

The Intro

I commissioned Simernio to create a new logo for FormulaProc itself, along with logos for each one of the teams and a full blown animated intro taking all this together. It wound up amazing.

Content

Worked along with Esteban to create a page for the teams and pilots with extended descriptions, incorporating the new logos as well as generating portraits for all of the drivers using Unreal’s MetaHuman creator.

I also created a Calendar page listing all the events of the season and their winners, and another one for the current standings. I still don’t know if I’ll have enough time to simulate all of them before Season 2022 starts.

We have also been trying to give some life to the FormulaProc universe via articles covering the qualifiers and the races. We plan to maybe add more content such as interviews, driver profiles, and events happening in this world besides the Grand Prixes.

The Future?

So far we haven’t managed to get much traction, and the amount of work that this has required is not small. For now I’ll release the gas pedal a little bit (will continue releasing the simulations but don’t feel like I should put much more dev into it, especially with the upcoming release of NovaMundi and our secret lighting project.

In any case, if you haven’t done so, please subscribe to the channel and join the discord so you don’t miss the fun and the chance to see this evolve 🙂

Slashie’s 2021 Rewind

And so, 2021 is over. Another year of awesome game-dev. Here is the story.

All in all, there was a lot of work in NovaMundi, now with a clearly defined theme, its Early Access release, and subsequent efforts to polish it and fill it with quality content for a full release, ultimately failing to perform it as motivation fell and project complications happened during the end of the year. OpenArthurianX6 also saw some important progress with three more milestones completed tho it is still not finished. Roguenet also saw further development and I even ran some events growing in attendance numbers using it. Rainy Day and FormulaProc were created and are likely to see future development.

I participated in 4 game jams (7DRL, js13k, Cultural Heritage, and ProcJam), had a lot of interviews mainly related to NovaMundi but no structured talks, and participated in just 2 virtual events (GDC21 and DevCom 2021). Switched from JS to Unity2D for a lot of my personal projects.

Slashware Interactive continued operations, supporting the development of NovaMundi and focusing on our main client (Zynga).

See also rewinds for 201420152016201720182019, and 2020.

January

After all the turmoil from 2020, I finally chose to focus on a single theme/scenario for NovaMundi: “The Spear of ChaquĂ©n”, which would be about joining the Muisca territories to foil the plans of European invasion.

Work was done in preparation for the Steam Game Festival Winter 2021 including procedural generation fun creating Andean valleys (which I don’t think I’ve seen in lots of strategy games), and also in the placement of the towns, as well as their appearance and its populators. The models for the units on the map also got a facelift.

February

NovaMundi’s first public release was in the shape of a free demo for the Steam Game Festival Winter 2021. This got us our first coverage from Nookrium which didn’t go very smooth but was useful, along with feedback from all around else, to plan for improvements.

The UI was remade, the onboarding was improved, and lots of facets of the game evolved including forest exploration, units leveling up, battle loot, and equipping blessings. Also included some critical roguelike-like elements, like finding huts scattered around giving gifts to the expedition (akin to items in the dungeon) and being able to hire units in other towns.

We also worked to improve the rendering of the rivers and their procedural generation, finally settling on a way to represent them re-using the “Ocean” plugin we were using for the sea before. In general, we also took a pass over the lighting of the game, doing a lot of tweaks that greatly improved its appearance.

Finally, worked in the less flashy but still needed Save/Load mechanics, something I thought was critical to have working perfectly for our planned Early Access release.

March

I completed Milestone 7 of OpenArthurianX6 after a streak of live-coding sessions and also participated for the seventeenth time in the 7DRL Challenge creating a great entry, Rainy Day, along with QuietGecko (and produced a couple improved versions afterward).

For NovaMundi, continuing preparation for the Early Access release, I worked along with PixelRiverPR in an effort to increase our reach and let more people know about it. It’s hard to measure this kind of effort but I believe it was well worth it, with the press release making a lot of places, and creating a good base of searchable content for the game. We also created new cover art and a trailer for the release.

Beyond the PR work, there was a lot of development, of course, improving the procedural generation for forests and adding a new biome (“páramos”, which I always struggle to translate into English, “high mountain tundra” comes close), a new type of location (caverns), and overall making the game “winnable”, and more accessible.

A first roguenet event was organized, featuring some of the games from the 7DRL challenge. Used this to test a bit how it would work with multiple people in, it worked fine.

April

NovaMundi was released to Steam Early Access, including an intro sequence and further UI improvements. We finished adding the páramo biome and game saving/loading and made important changes such as random chatter to make exploration feel less empty, balancing of numbers, procedural generation of lakes and wetlands, changed the appearance of the automap for it to look like a Muisca painting on stone, and improved combat so you could check the stats of your enemies and have your units start in a formation based on their stats.

Furthermore, the Spanish translation was released, also opening the possibilities for other future translations.

May

I attended the virtual Game Carnival 2021, which opted-in this year to use a streaming service which I think worked great. Looking forward to seeing how it evolved for 2022. I also won their Razer laptop giveaway 🙂

Development of NovaMundi continued with so much stuff that it’s hard to summarize, but it included rewards given by quest towns when they joined the alliance, consolidation of barter as the only mechanic to trade, using story points to hire people instead of “gold value”, small towns ravaged by war if you take too long to reach them, a new unit (crossbowman), the removal of time compression which was a huge deal, and many small actions of game balancing, phew!

In addition to all that, I created a roadmap for the project, and Jose Manuel joined the team as an advisor which would shape a lot of what we would do in the next months. We also created a new cover art of a Muisca expedition crossing a páramo, and there were a lot of interviews and local media coverage for NovaMundi.

June

More NovaMundi work with improved placement for vegetation and rocks, as well as in the rendering of forests and plains. A new unit was added as well (conquistador cavalry), and many optimizations were done.

The “compress time” command was added as a much-needed gameplay element, and there were even more interviews and media coverage.

I also overtook the hosting for Roguebasin, and updated it to the latest Mediawiki version to make it blazing fast and cool.

July

Manuel’s first batch of work on NovaMundi was finally integrated, replacing the names of the units and characters with the results of his research, and adding new dialogs including tooltips for words in the Muisca language. We also started improving the fauna displayed in the game to further match the one of the Muisca territories, adding the Andean Condor and Pumas.

Along with the pumas came the “wandering mobs” in general, so the overworld map feels less lonely and cool. UX improvements and optimizations continued, of course, and we also started a new batch of work in the Audio which was a bit neglected.

We had another playthrough by Nookrium which went slightly better but still didn’t manage to generate a lot of interest (indicating we are still missing something). And there was also an interview with Semana (one of Colombia’s biggest written magazines).

I also participated in the virtual GDC21, pitching a project as a new entry on the “NovaMundi series”. There was some interest in it from publishers but ultimately all the possibilities fizzled (not without leaving important lessons).

Roguenet revived as I organized two events using it (a celebration for the 7DRL Challenge 2021, and a roguelike fans party happening alongside GDC). With important usability improvements/experiments for the conversation mechanics.

August

For NovaMundi, August was July powered up, with more changes to adapt the content to historical research, a new slew of dialogs integrated, and even more fauna (spectacled bear, solitary eagle). Wandering parties of enemies were added replacing completely random battles, giving even more life to the world, and we started the revamp of the visuals of the units, which started looking weird in their low-poly appearance they’ve had from since about two years.

Two important interviews were made for Divulgark and Congreso y Sociedad; the first one grabbed the attention of Jorge Gamboa, Coordinator of the Instituto Colombiano de AntropologĂ­a e Historia – ICANH, who provided me with important insights that would further shape the theme of the game based on recent historical research on the way the Spanish and European culture spread on the Muisca territory.

I started the development of Distant Friends, my entry for the js13k.

September

While flying to Virginia to fetch a new computer for client projects, I finished the development of Distant Friends for the js13k; was pretty happy with the results: a fun little arcade game with bits of story here and there, I don’t make a lot of games like it.

Tried to take one week off to Disneyland but some client-work stuff happened. Both things helped NovaMundi’s development slow down, but I still managed to integrate the improvements on audio made by QuietGecko, as well as the new realistic models for units.

Devcom 2021 happened, we participated but frankly, there wasn’t a lot of action… maybe GDC’21 was just too close.

October

The last stretch of work done in NovaMundi for the year included integrating stuff from the rest of the team such as new fauna (King Vulture), new characters, hairstyle variations, updated European units, and audio for animals.

The biggest chunk of work, however, was implementing different quests for each one of the towns, as designed by Manuel, so that instead of just discovering the towns you had to do something for the cacique. This was long overdue.

I was invited to a panel on IndieXChange 2021, where I talked about all we’ve done in NovaMundi, and how to fund the development of a game from Colombia.

Milestones 8 and 9 of OpenArthurian were completed, including the “chunks” world model so you can now in theory create really huge maps and explore them seamlessly.

Roguelike celebration was organized again virtually this year, and was pretty fun with nice talks! I had a surgery so I’m glad I didn’t submit a talk this year which would have required a stronger involvement during the weekend.

However, I managed to organize a fourth 2021 event in roguenet, which included a good chunk of development including private chat areas, inventory, buying stuff, examining people, environment audio, and a first version of the roguelike museum.

November

Out of nowhere, I did some work in the ages-old Elite International Detective game, critical fixes and UX improvements based on some feedback I received.

Along with the same persons working in NovaMundi (plus a new person from whom you may see some work in 2022), I worked in the Cultural Heritage Game Jam producing Muyscamuy (plus a greatly improved version). It’s a single-screen strategy game/tycoon, themed around the Muisca culture. Pretty happy with the results as well.

December

Participated in Procjam for the first time with FormulaProc, a procedural formula-type racing show with ongoing development. The idea with this is to simulate races and have “fans” engage with the simulated tournament. Expect to see more development of this in 2022.

Development of NovaMundi resumed partially (not still in full strength), integrating some of the visuals that had been produced in previous months, and planning for the definitive release in 2022.

FormulaProc – ProcJam

I’m creating a procedurally generating Formula One-style racing show! Check it out at https://formulaproc.com, here’s the story so far.

The Story So Far

After many years of wanting to, I jumped into ProcJam for 2021. There was always a reason not to do it, since it’s in December and I’ve commonly run out of jam-power by the time it happens. That was no exception this time, worsened by the fact that it happened almost back to back with the work I did for the Cultural Heritage Game Jam with Muyscamuy.

However, I decided to get off my head this idea that had been haunting me for years of making a spectator-sport kind of thing powered by procgen; not a game, but a kind of show around which people could build stories and create fandoms. It has had different shapes in my brain: soccer, cycling… but my renewed interest in Formula One this year made me think on a good balance between the level of abstraction vs. the amount of excitement that could be provided visually with such a simulation.

The marathon “Special Event” of Gold Medal Challenge’92 for the NES, another possible source of inspiration.

I had been talking for some weeks with Simernio and Gecko about this idea, and while we plan to have something more structured and elaborate in the future, I figured it could be a good idea to put the idea to the test at a smaller scale.

A clear inspiration was the F1 Visualized channel: “Formula 1 results and stats visualized using pixel art. Rewatch the latest races in minutes, without missing any part of it. Keep up with any of the drivers to see the race unfold from their perspective.“.

However, their visualization is much higher level (understandably so, since their idea is to compress a long F1 race into something you can watch much quicker), I wanted to create a somewhat abstract visualization of a race, not seeking to be a representation of the race itself but rather of how the race unfolded, leaving the players to fill the gap in usual roguelike fashion.

The main work in the implementation of the simulation happened from December 6 to 12 (when the jam ended). The jam encourages post-jam work for people not to stress (ha!), but we all know the entire point of a jam is to generate stress so that you produce something complete by a fixed end date, so I ignored that and pushed forward to have something solid by the end of it.

But wait, is this procgen?

I figure this may not be considered a “normal” procedural content generator; for procjam you’d more often expect something that creates things such as maps, level layouts, buildings, worlds, or maybe even something that awkwardly tries to come up with a written narrative or story.

What am I creating here? my intent is to create some facts, events that happened, and around which you can build stories and maybe even a community. And the main tools I’m using for this are physics simulation and artificial intelligence (both at a very, very simple level)

I shared the question in the procjam discord: can something like this be consider procedural generation? There was an interesting discussion about it, in general most people agreed the complexity or level of detail of the algorithm used to generate the content shouldn’t affect whether something is procgen or not.

“PCG is the algorithmic creation of content with limited or indirect user input”

from “Procedural Content Generation in Games”

As always, nothing is completely defined in the field of procedural content generation; but I would say that as long as you are generating content relying on algorithms and there is (pseudo) randomness involved (and you can be genuinely surprised by the results as the author), it IS procgen, and don’t let them tell you otherwise.

How it works

At the core of everything is an abstraction of the circuit based on its corners and the speed needed to transverse them safely; this is derived from the telemetry data of the drivers of recent races and is a bit loose because I’m not looking for a super accurate simulation but rather something that feels good enough.

The circuits are one-dimensional, and the racing is simulated based on both the stats of the cars affecting their acceleration, braking deceleration, gearbox efficiency, max speed, and the drivers having different reaction times, gearbox proficiency, and profile risk. There is a qualifying mode where the cars don’t interact and it’s all up to the performance of the driver and the car, and a race mode that adds more variables into the mix with the interaction between the drivers.

In order to provide the illusion of speed, some bars are placed on the track every 300m. In addition to this, an important aspect of the theming of each circuit is the name of the curves/corners, which are also placed as bars and provide visual feedback of the places where the cars brake.

I also added a kind of “minimap”, scaled-out version of the track, to make it easier to have a glimpse at the status of the entire race especially when the lead cars were too quick and left slower cars behind.

FormulaProc.com

The jam was just the start… while I delivered a complete simulation that could be parameterized with track data and would provide different results every time, I decided to have a single so-called “exhibition race”, happening in the Spa-Francorchamps circuit, be the published “results” of the jam.

But my plan was to build a complete series of this. I thought it would be cool to have the fantasy races happen on par with the real Formula One races, but the F1 2021 season had just finished (Go Max!), so I decided to start with the rebuild of the 2021 season, incrementally building the simulation quality along with the visuals and stuff based on the feedback of a hopefully growing community.

I set up a YouTube channel, a WordPress website, and a Twitter account for it, and started recording some more videos. So far I’ve done 4 races and posted about them in the official newssite. It still hasn’t had a lot of reach but that’s fine because every video is sligthly better than the last one, as I add new stuff to make the races more exciting!

The Portugal race, for instance, added non-critical accidents, allowing for much more varied stories that still felt believable, and the next race will feature some awesome soundworks by QuietGecko.

There is still a long way to go to make this feel more engaging; one of the things I’m already experimenting with is giving the drivers some visual shape so that people can relate to them; Simernio had the idea of using Unreal’s Metahuman Creator which has already yield some interesting results; for now we are just testing but it might be a good idea to make full use of it and render the characters in a fully controlled environment, as well as including more appropriate racing attires.

Biskup T., driver for the Queenscape team in 2021

As always, I’ll keep working on this until I run out of steam… hopefully when we catch up with the F1 2022 season we’ll have something more engaging and fun! in the meantime make sure to follow and subscribe 🙂

Muyscamuy DX released!

A new version of Muyscamuy is released! You can play online at https://slash.itch.io/muyscamuy. Don’t forget to go full-screen using the lower-right corner button!

This is v0.9, the first one after the CHGJ. Here are some of the things we have done!

First off, the most visible change is the Full HD mode, this is something I should have done for the jam version, but mistakenly thought it would go against the accessibility of the web build and make it harder for the jurors to check out the game 🤦 in the end I think it worked in detriment to the experience and perceived production values of the entry. You never stop learning. (then again, this was my first Unity WebGL project so I guess I can be more forgiving with myself)

Second, the game is now multilanguage with a Spanish translation, which means it will now be enjoyable for a much bigger audience (in Colombia mainly)! Using Unity’s localization tool was an interesting experience. Took a bit to set it up but in the end it was worth it to easily push and pull from Google Sheets and keep the strings sync easily with the rest of the team.

There was a lot of Content work beyond (and in constant interaction) with the translation; we did a complete pass over all the game text revisiting it under the lenses of the muisca culture, adding many more words in the muisca language of Bogotá (muysccubun) to the in-game dictionary (accessible via the tooltips in the game events). Great work by Esteban and Manuel.

Also worked on improving the visuals of the game along with David, including a visual for deforested land, building in progress, a building for the depot where the villagers store the food, fixing the placement of the workers in the fields to accommodate to the isometric perspective, adjusting their scale, and displaying them in different jobs. We still want to improve how farms are displayed.

Improving the user experience was another thing we put a lot of work on, making the UI more readable and reorganizing the UI. It’s an ongoing effort. We still haven’t added proper nice visual UI elements to the game.

QuietGecko also put a bunch of work in the audio, adding a lot of UI SFX, improving ambient sounds, splitting SFX in different buses, and doing several mix passes.

I think that’s it for now! there are some things I didn’t manage to include in this version,but we wanted to put it out there (especially because of the HD visuals and the Spanish translation!) for people to enjoy it.

Also, the jurying period for the Cultural Heritage Game Jam is over; we didn’t get our email so it’s likely we didn’t win, but we still our greatest victory was to be able to create this and share with people that really values the muisca culture being represented in this media, for people of all ages and places to be able to learn about it.


The story of Muyscamuy continues, subscribe to the blog and follow me on Twitter so you don’t miss this epic adventure!

The Making of Muyscamuy – Part 3

This is the third part of a summary of the development of Muyscamuy, our entry for the Cultural Heritage Game Jam 2021. You can play the game online here. Read parts 2 and 1 if you haven’t!

Saturday, November 20, 2021

I integrated the content designed by Esteban (events, onboarding tips, and intro), making the game experience more complete.

Also experimented with a change in the UI to select an area first, before adding or removing people into it. In the end, it was a bit confusing and I decided to remove it. One thing that did make it tho, was automatically returning all workers to the community center when it no longer made sense for them to stay idle somewhere (like when they finished working a farm or building a building.)

Gecko improved the AudioManager and added sounds for events such as adding workers to buildings or farms and depleting a forest.

Finally, worked on adding the tooltips to the conversation window, which involved setting up TextMeshPro, migrating the Text elements, and replicating and adapting some of the logic we have set up for NovaMundi.

I did some calls for testing; initially, we had planned to have something more complete ready to test on the 17, but of course, it didn’t happen. I wonder how realistic these plans can be in a short game jam like this. Still, even at this phase, we got useful feedback regarding the flow of the game and for improvements in the onboarding.

End of the day the game still looked pretty plain and incomplete, but that’s fine because David told us he was working full strength on the visuals, and we still had a couple days…

…or did we?

Sunday, November 21, 2021

Woke up thinking we still had one day and a half day and planning my Monday schedule to work towards completing the game. Alas, I was wrong. A 4am notification at the ggj discord channel warned about the impending deadline. Change of plans I guess… I started working early, we had until 3PM.

I let the team know about this (gecko was already aware). Up to this point, we were still pretty behind on the integration of the new visuals; David was still working on these, and he had to push forward quickly in order for us to make it in time.

I went on to implement a generic component for tooltips backed by a Dictionary and attached it to the components in the Events panel. Also added an “inventory” of the Tunjos you had made already, so the player could know which ones he was missing. Improvements in the onboarding and reintegrated the events data as Esteban continued pushing for it.

I figured out the ending text was still not integrated, ideally, we wanted to have better visuals for it, but time was just too short for that, we’d be lucky if we managed to integrate the basics.

This is when I got a notice from Edwin that he wouldn’t be able to jump into the project. By now that was kind of expected (and I didn’t even tell him we had one less day!) so I removed all the temporary UI and we were left with semitransparent flat color overlays.

Gecko implemented the missing sounds for UI and buildings and mixed the sound a bit.

David was finally able to send the long-awaited updated assets for the world. So it was time to integrate them! There was a lot of back and forth as we set on the best way to put them given the short time left until we finally settled on a way. I added the graphics and altered the scene to match the new layout.

Then I broke the game.

Clicking on the areas no longer worked. The clock was ticking, and stress built up in this fine Sunday I never intended to be working on, it was meant to be a family Sunday.

After much desperation, I found the cause: A single setting when importing the asset to be used as a mask for the click area threshold. Unity strikes again.

Spent some more time doing small UI tweaks, integrating the last changes in the audio made by Gecko, and updating the tooltips dictionary with last-minute additions made by Esteban. Did some final tests where I found the endgame was not being triggered (nice), fixed these, and we were set to submit.

The games were streamed a little bit after the deadline; they used the gameplay video you had to send along with the submission (which I became aware of 30 mins before the deadline, OBS to the rescue) and optionally a team member could talk a bit about the project. I was busy setting up Christmas lights so Esteban had to cover.

We managed to submit a worthy entry, in time, but this would not be the end of the Muyscamuy project.

November 22

After the rush of the jam, it was time to think about the future. I wanted to have an HD version of this game, and also take the time to polish and increase the content within it. So we set the plan for it. The whole team was happy with the results and we knew it just needed a little bit more love to really shine.

Another important thing on the list was the translation to Spanish (and possibly other languages in the future); Esteban suggested the use of Unity’s built-in translation system, which we had avoided so far to reduce dependencies, but maybe it was worth trying (especially since he mentioned it has a built-in integration with google sheets, which may reduce a lot of manual work we do currently for NovaMundi hmmm).

Manuel has started sharing the game in his channels (he is well known for his content about Muisca culture), and it has had a great reception (in spite of being English only for now!).

I also took the time to check the jam entries; I found out there were a couple more submissions from Colombian teams including Abya Yala, Oro, Guatika, and Norte de Aventuras. Interestingly, some of these were student projects for which the teacher had set up a matching jam.

So far our jam entry seems pretty solid; other than the fact that you can screw up by building two of the same type of building (you cannot tear them down) thus making the game unwinnable, and some audio bugs, I haven’t been reported anything game-breaking.

November 23

I talked with Nookrium, who was in the middle of a “Free Games” month on his channel. He said he had already noticed the game and it looked interesting… maybe he’ll take a look (hopefully by the time the HD version is public!).

I was contacted by Canal Trece; they thought the project was interesting and decided to write an article about it.

November 24

I did some progress in the HD version. Damn, this is how we should have shipped it for the jam, it was not a lot of additional work and it’s still completely web-accessible, but it looks 100x cooler.

HD version compared with the original jam version :/

November 25

The team met again for a retrospective. We agreed we need to push forward an improved post-jam version. Some of the top priorities we have on the list:

  • Increase the use of Muisca language
  • Improve use of wood as a resource, and add negative effects for destroying the forests
  • Make the effects of low favor more clear
  • Show how farms grow every turn.
  • Add more weather effects and plagues for the farms.
  • Come up with a fix for the unwinnable situation of building two of the same type of building.
  • Improve display of resources being used to build or craft.
  • Improve the underwhelming Game Over and Victory.

I went on to tackle some of these, producing a version with an improved user experience.

Manuel and Esteban are also now added to slashie.net

November 26

I decided to upgrade to Unity 2020.3 so we could use its fancy localization tools. It was not super smooth, but mainly because of a weird bug in Unity that causes issues when updating the dependencies while you have your IDE open. That was hard to catch!

I managed to start working in the localization and even did some tests with Japanese (just for fun). Stumbled against the issue with TextMeshPro requiring some work in order to support non-latin characters. It wasn’t a simple fix so I discarded that for now (we’ll meet again when it’s time to add Japanese)

The thing that pushes and pulls from google sheets works really well, so I guess it was worth going thru the hassle of upgrading. Esteban and Manuel are now able to work in the texts and translations, and the flow to integrate their changes is much quicker.

We keep discussing some ideas to improve the visuals of the food values, including the addition of a new building where you can see it.

Esteban completed the translation to Spanish for the onboarding.

November 27

I implemented localization for the events and extracted some of the data (it’s a lot of text!). Esteban said he will continue the work and do the translation to Spanish as well. Gecko worked on improving the audio for the weather effects and a lot of other small details.

November 28

I put a new version up on the unofficial website (from the perspective of the jam). We’ll update itch.io with this one once the jurying is over.


The story of Muyscamuy continues, subscribe to the blog and follow me on Twitter so you don’t miss this epic adventure!

The Making of Muyscamuy – Part 2

This is the second part of a summary of the development of Muyscamuy, our entry for the Cultural Heritage Game Jam 2021. You can play the game online here. Read Part 1 here if you haven’t!

November 14

Worked in the “Craft” system, which is really pretty simple (once you’ve built a forge you can select what item you are going to build, and it consumes resources daily towards its completion).

Using input from Manuel, further defined the “favor” system and the actual rituals to be performed at the temple, as well as further establishing the preparation for the “biohote” or ritual celebration, as the victory condition for the game)

Despite still being tangled by his final university exams, Esteban has started writing some events to happen inside the game, with different levels of rarity and choices, and defined as sequences. Gecko has also started his ideation process for the audio.

November 15

I started the day doing a livecoding session with the addition of being able to Make Offers in the temple, based on the design made the previous day.

After the stream, I implemented the effects of the rituals (increasing favor and increasing the yield of farms as they are growing if blessed). Also worked in the weather system (or rather, the “Storm” events) and its relationship with Favor and the ritual to stop them.

Added simplified Trading in the town center, where you could exchange resources for the gold you need to build the Tunjos.

Other important additions were a victory and a game-over condition, thus completing a playable game that could be tested. Some initial tests led to balancing some stats including the initial food value, harvesting rate, and forest resources. I released this version for the team to give it a look, receiving some feedback mainly on User Experience, but also some ideas to include “fishing” as an additional source of food (that one didn’t make it either)

I continued improving the UI and added some more placeholder graphics to the scene (forests and buildings) to continue building on the feeling of the game.

One element we were not sure how to integrate was the “Climate Change” part. I researched a little bit and found this article about how global warming is affecting the “páramo” ecosystem (Andes high-mountain tundra). These places also happen to be sacred for the Muisca, so that was a possible angle: I thought we could add an activity where the player could visit these paramos to get important gameplay bonuses, but these would not be available in the “Climate Change Challenge” hardcode mode (which would also feature more harsh storms and climate). Unfortunately, we didn’t end up implementing any of that in the jam version due to lack of time.

This day we also had a feedback meeting arranged by the jam organizers, where the teams could display their progress and get valuable input from experts. There were lots of interesting entries, and for our entry, the experts recommended we thought on 3 possible takeaways people would have after playing the game, what makes the Muisca different from other cultures and why was Maize so important for them; these didn’t have to be big lessons, just small things people would know after playing the game.

The qualities of the other games in the jam are very varied; some of them look pretty basic while others seem to have mid to high production levels. Made me wonder why the jam was not more clear about the assets you could use. I opted for us to only use assets created during the jam timeframe, but it’s clear some other teams made extensive use of acquired assets, which doesn’t seem too fair but was still legal under the rules of the jam.

Esteban and Manuel continued interacting so that the narrative elements we created were spot on with Manuel’s knowledge about the Muisca culture.

Gecko sent his first revision of the ambient / music track, which I believe ended up being used in the game almost with no modifications. It is awesome but what else can you expect from The Gecko.

I implemented a basic “rain on the camera” effect, inspired by a game I saw sometime in the past (I think it was Frostpunk). Also started working in the support for the in-game events that Esteban was writing.

November 16

Added support for events, and loaded as game data all the ones that Esteban had created so far (knowing in advance they were bound to change, but needed to make sure we were supporting all that was required).

As Esteban and the team continued working on adding new types of events, I kept updating the engine to support what was needed.

Manuel was finally able to review Gecko’s track and he loved it.

November 17

In-between dead “adulting” times, I’ve been reading Jordan Mechner’s fabulous “The Making of Prince of Persia”. Maybe someday this devlog will be similarly interesting. I still haven’t made it to the point where PoP hits success. It’s fun to see his back and forth between glorious 80’s indie gamedev (was he an employee of Broderbund? I gotta check that) and movie making.

Another live development session, this time focusing on the design and implementation of the “onboarding”. I cannot stress how important this is even (and more so) for jam games. I explored and designed it out of the dark, and did a quick implementation.

Set up a Trello board (long time no use Trello!) to coordinate work mostly with Esteban, since both Gecko and David seemed to be knocked out of action by other stuff.

David was finally able to send some more art! I increased the base resolution of the viewport to 960×640 (bigger, but still good for web embed)

I also worked on something I was trying to about so far: being able to define a “mask” for clicking on UI elements in Unity; this is not supported by default and had to wrangle a bit with it (You need to use Image’s alphaHitTestMinimumThreshold, and the texture you use needs to be imported following some parameters). This was needed so you could place isometric areas side by side and for the player to be able to click on one of them even if the enclosing rectangle overlapped another area.

After the streaming, I completed the onboarding, and worked in the Events module to filter out options and events out of reach because you didn’t have the required resources.

Esteban continued working on the narrative as we wondered how abstract it should be, or if we should incorporate a more structured plot. There was a lot of back and forth mainly between him and Manuel, as the events were further polished.

November 18

Continued improving the UI, fixing reported bugs, and implementing support for the new effects as they were designed. Also implemented a stunning title screen.

Esteban is working on the intro and ending; we are still deciding if we want it to be addressed to the player (like “This is a game about the Muisca, you are going to learn about them, your mission is to do this…”) or be more of an “in-universe” thing. We chose to favor the second idea.

For the first time, I sent the playable build to a close circle of known testers, to get their feedback and bugs.

November 19

Today, Half-Life (1998) is now as old as the first home version of Pong (1975) was when Half-Life came out. As pointed out by idspi.

I didn’t get to work in the game today, but Gecko committed his first changes to the repo, adding basic audio support and some sounds, while Esteban reported the intro and ending were written as well as another revision for the onboarding; he also finished writing a nee sequence of “Negative” effects, based on the interaction with the Spanish and other tribes.

Seeing that we were running out of time and the UI visuals were still lacking, I tried to incorporate an additional artist into the team but the notice was just too short and we failed to onboard any of three different options I had in mind:

  • Paul Pereda, who did a lot of art for the Expedition project, had a lot of work and couldn’t help.
  • Mapedorr, fellow gamejammer who was already working in 3 gamejams at the time I contacted him
  • Edwin Saenz, a graphics designer with whom I worked years ago in the Flash version of ArcherFire, initially was going to participate, but in the end found out he couldn’t make it either.

So I had to take that role myself, which means we ended up with a minimal UI in the end.

Another important development made today regarding the theme and based on discussions with Manuel was how we were going to portray the game on the angle of cultural heritage conservation, since so far what we were doing was displaying some elements of the Muisca culture but not really putting them under the lense of being at risk of disappearing. We decided to highlight the role of the XVI Century catholic church in the persecution of the indigenous practices as one of the factors that contributed to them being almost completely gone. The game then serves as a tool to help that cultural heritage remain in time.

Continue to read Part 3, the grand finale of our journey!

The Making of “Muyscamuy” – Part 1

This is a summary of the development of Muyscamuy, our entry for the Cultural Heritage Game Jam 2021. You can play the game online here.

Here’s a sneak peek of the final results, but read on to learn about our adventure!

October 19, 2021

I received an email from the Global Game Jam newsletter announcing the “Cultural Heritage Game Jam”. I don’t have any time for jams, of course. Still, I label the email with a Star and move on with my life.

November 5

As I check the “starred” emails, I wonder if maybe it’s worth participating in this jam. I share info about it with the SlashwareKnights ring (cool people that have done projects with Slashware), to see if there’s any interest. David Florez, the lead artist of NovaMundi, gets excited and thinks this is a chance we cannot miss. Some initial ideas included minigames ala WarioWare, as well as something around Muisca crafts like goldsmith, mantle making.

It seems we are going to jump in, so I come up with a name for the team: “Nyiaoque” (grabbed it from NovaMundi’s dialogs created by Manuel, it means “Figure of Gold”).

The jam has officially started, but we are far from jumping full into it.

November 6

Juan Carlos “QuietGecko” seems to be interested as well. I met with Manuel to discuss some pending tasks for NovaMundi, but I also pitch him the idea and he was very interested, a potential ideal would be making a game around the tradition of the “chicha”, a traditional fermented corn beverage whose preparation could be traced back to the Muisca. It seems we have a team.

November 8

The team meets. Initially, I had the idea of leaning more into the educational and narrative aspects, but David thinks we should shoot for a game with deeper mechanics and gameplay. We decide to go for a strategy/simulation/tycoon game where you lead a Muisca community toward a still unclear objective. All we know for starters is it’s going to have some farming, building, and crafting elements, that we want to teach about the Muisca culture and language, and that we will stick to a single screen map with mouse interaction, for desktop.

November 9

Deciding what technology to use for the game. Based on the constraints we set, the short time of the jam, and the technologies I’m more familiar with, I considered JS + phaser2 (very familiar with it) or phaser3 (gotta do a project using p3 someday), or Unity (which I had used to create the board game prototype for Expedition, a lot of past 2D client work, and NovaMundi of course).

Another thing to consider was accessibility; since this is a jam I believe it’s always important to put as few barriers as possible for both the jurors and the players, so browser-playable was a must. My experience with Unity’s WebGL player was limited, but I figured if I kept the game simple, it should work fine (I recall I’ve seen people try to use it for huge games over 200MB).

November 11

I decided to go for Unity, and it was only 4 minutes into dev that I had to do my first StackOverflow lookup. Hit a wall with the rendering order of things in Unity2D, since it is decided by default by camera distance instead of the order of the components in the hierarchy, which was quite a shocker at first but then made total sense.

I ended up using a complete Canvas/UI-based approach, which worked perfectly well being similar to the scene hierarchies in phaser or DOM; since we were not using cameras or any kind of movement, this was a good fit.

On this first day of development, I added areas where you could put people, and the foundations of the day-based simulation system with the effects in farming, lumbering, food consumption, as well as a simple construction system consuming wood. Most of what the core of the game was going to be in the end, was set from the first day.

I also talked about the jam with Esteban Martinez, a narrative designer who will be joining Slashware next year, he said he was interested to join but was unsure how much time he could invest due to his final university exams.

Captain Toonhead, a VR game created by Colombian company Teravision games, was out today.

November 12

Another team meeting! Esteban joined for the first time and we continued polishing the ideas for the interactions to be had in the game and the way we were going to handle the narrative aspects. We also reviewed some references for graphics and gameplay.

Following Manuel’s suggestions, Esteban read a transcription made by Clara InĂ©s Casilimas and Eduardo Londoño, of a procedural document (see what I did there) done for a Spanish trial against the Muisca chieftain of Ubaque. “[…] a key item which shows the Muiscas adopting another culture, religious repression, and the forming of a new identity in what is today the centre of Colombia“.

From there, he extracted some ideas for the setting, the types of events that could happen through the development of the game, some possible ways the “religion” system could work, and the final goal of the game being the preparation of a great celebration.

November 13

We briefly discussed the idea of having continuous instead of day-based simulation, but that would have been a costly experiment and may set more expectations from the players of seeing animations and more “real-time life” in the portrayal of the world.

David sent the first assets for the phases of the maize farms, which were promptly integrated. I also changed the test background to something closer to the perspective and appearance I visualized for the final game, so that communication with David could be easier and the team could get a better idea of where we were heading.

I also added the “area inspector” bar, uncluttering the map so that the info of a given area was displayed on the bar instead of all around the HUD, and did a lot of UI tweaking.

Continue to read Part #2 of our journey!