Have a clear success goal for your game, it doesn’t have to be money, it may be things like Social Impact (measured by feedback received by people on how your game changed their lives), or number of players.
Use your personal experiences to craft games that are different from the mainstream.
Indie games can focus on a single mechanic providing a shorter experience than commercial games which must provide enough content to justify a high price tag.
Before embarking on a game, evaluate you have the resources to complete it (don’t aim too high), and there is a public for it (aim somewhere).
Push technical boundaries, do things differently using existing technology (for example alternative controllers, or tweaking existing engines like Unity or Unreal in ways that are not commonly done). Take a license to experiment.
Get inspired at events like alt.ctrl at GDC, AMAZE, Fantastic Arcade
Look for alternative funding sources. Look for the niche that can support you. If your game has a social impact you can rent it to Art Expos or find persons that might be interested in sponsoring you.
This year, for the first time, Comic-Con Colombia was split into two events, the first one took place in June in Bogotá (Capital of the country), and the second part is taking place November 16 to 18 in Medellín (my hometown, fabled city of Eternal Spring).
I was able to assist there on its first day, aiming to attend some interesting talks based on their program. Given my previous year’s experiences with the talks I was ready to be disappointed with the organization; unfortunately, it went even worse than expected. One of the issues they had past years was people couldn’t find out where the conference rooms were; well, this year I was hopeful it was going to be better when I saw this sign at the entrance.
Unfortunately, the track ended abruptly ahead in the main pavilion, leaving you clueless as to where the talks took place. After wandering around aimlessly for a bit, I managed to find the rooms in a corridor outside the building, devoid of any indications.
After completing the quest of finding the rooms, I found out the first talk was not going to happen due to the rooms still being set up, and also because (unsurprisingly) only the speaker had managed to arrive (and even he had some difficulties). We were not alone in this, of course, during the day I saw stickers pasted on the program poster, asking for directions.
The second talk was also canceled for similar reasons which discouraged me to try to attend most of the other talks for the day. Almost by the end of the day I attended one about Science Fiction which was ok, and found out the other talk I was interested in was actually a writing workshop, which I was too tired already to take part in.
I discussed this with a friend and we agreed all of this “academic” track of Comic-Con Colombia is something they are keeping just for the “status” of the event, but they don’t put a lot of energies on it since all they care about is fitting more stores to increase their revenue. Not like this hasn’t happened in other comic-cons around the world, but I feel there’s a lot of room for improvement.
Some interesting discussion took place in the main stage tho; in one of them, Juan Camacho from UPB’s Digital Entertainment program and Andrés Gomez from lafinka.tv, discussed the current status of the animation and video games scene in Colombia.
The Artists’ Alley
Let’s go into the happier news with the Artists’ Alley which was pretty good this year and seems like the only reason I would attend the event again next year. I was able to see comic artists from Bogotá, Medellín, and Cali, as well as two professional cosplayers and a sculptor. I wish again this particular section was bigger since I believe it’s what makes more sense to check (the work of local artists). But of course, it doesn’t bring enough money.
Heroes Latinos by Mikealdi Comics is a saga inspired by Latin American countries.
The comics tell the backstory of each hero and how they come to fight reptilian villains disguised as familiar faces…
In “Buziraco”, from Dragón Negro Comics, the city of Cali is attacked by a demon in 1825. Two brothers, Franciscan friars, are tasked with defeating the demon with their holy weapons, but it will not be easy…
“7 Fábulas & Demonios” by Grecox and Santísima Daysi, is the story of how a group of innocent and happy animals becomes demons representing the seven deadly sins, thru the magic of living in “Maldita Fé de Bogotá”.
Jonathan Vélez Muriel (JVM Ilustrador) was also in the Alley showcasing his work, including compilations of his InkTober work, and some watercolors and illustrations.
The Zape Pelele guys were also in the event, drawing people and promoting their “New Zape” magazine.
The game area was bigger this year, including areas with different kind of games, organized tournaments, booths for Gaming Hardware companies and spaces where players could experience VR games. It was organized again by Gamers and Geeks and it keeps getting better every year.
UPB also had a booth again, with games made by their students including a bullet hell game I almost won.
The communities area was pretty sparse this year, I saw an area where the Mil Espadas guys were having a tournament, and they also had an archery range. There was another area for the Tolkien Fans community where you could take pictures with some monsters.
This creative studio is the creator of “Mariposas”, an animated short that received the “City of Annecy Award” in the Festival international du film d’animation d’Annecy. They were displaying their services portfolio, meeting other Colombian companies and having some talks about Mariposas and other topics related to the animation.
Of course, a big chunk of the event was devoted to the stores, including comics and manga, action figures, books, otaku-stuff and clothing.
Some of the interesting things I saw where hand-made rubber guns of different types, I almost bought one.
There were some positives this year, with higher quality for the exhibitors, and the game arena was much better organized from what I could see.
I already discussed the problems with the organization of the talks; they also missed again publishing the event program on the website baring a link on their facebook page that you had to dig really deep to find (and was not completely accurate). I wonder what will happen this year in this regard, will they get better at it or will it be dismissed for good?
Again, I wish the Artist’s Alley area would grow and more welcoming for local artists. Some of the things I also missed this year was a strong presence of special guests (I was there on Friday and I didn’t really hear anything from them) and a much-reduced number of cosplayer walking around.
Even so, the event remains a good chance to meet artists and geek friends, I hope they address the issues and make it better next time. Until next year!
October 23 to 26 2018. Colombia’s biggest technology-related conference (Official Website). Organized in Corferias in Bogotá, by the Colombian Ministry of ICTs (MINTIC), and sponsored by many organizations including SENA (National Learning Service) and Procolombia (Government Agency for the promotion of tourism, foreign investment, and exports).
The event served as an umbrella for different sub-events, including Bogotá ACM SIGGRAPH 2018 which was probably the biggest and could well be a stand-alone event. Besides the opening talk by Adrian Molina (co-director and writer for Pixar’s Coco), I didn’t participate in any of its other many talks. However, their guests were top-notch, I’m sure all of their talks and masterclasses were good.
More to my interest, there was also a “Business Showroom” organized by Procolombia / Colombia BringITOn. The format was a standard buyers/sellers match-making, categorizing the interests in two broad areas: “Animation” (including 3D Modeling, 2D/3D Animation, Visual Effects, Sound Engineering, as well as different types of coproduction / distribution / publishing deals) and “Video games” (with some overlapping categories but including development on specific platforms such as HTML5, Unity and Unreal, as well as publishing for PC, Console, Mobile and VR).
It ran for 2 days, with each participant having 14 slots for meetings, as well as a space for quick “speed dating” meetings. Overall the quality of the participants was very good, and the organization was great. Some of the companies that sent representatives were Turner International, 2K, Electronic Arts, Apple, Bungie, and Epic Games.
Right by the business room, there was a space to display the video games and animation products made by Colombian companies. The overall opinion of the international visitors I could talk with was that the level was very high, and the evolution of what Colombian studios are producing is amazing.
Another big part of the event was the conferences; there were tracks on animation, video games, music, entrepreneurship, media, digital advertising, cybersecurity, and fintech. Each track included conferences, workshops, and panels on the specific subjects.
The track of conferences I was more interested in was, of course, the video game development one, which covered topics such as UX, marketing, legal and workplace culture, and had several panels where developers of own Intellectual Properties, service providers and publishers shared their experiences and tips for success. I wrote a bit more in deep about one of these panels here.
A final part was the expo floor, of which I could only take a quick tour through. In there, there were local universities displaying the innovations on their IT programs, a showcase of apps made in Colombia (including a section for Agriculture focused ones), a bunch of local companies showing their products and services, and probably a lot more that I missed.
As with all good conferences, it was also a great chance to meet with game dev friends and make new friendships too; the IGDA Colombia Meet and Greet gathered a lot of the game development scene from Colombia as well as our visitors, stories were shared and new friendships were formed.
All in all, Colombia 4.0 is a great event for IT enthusiasts, containing a lot more than you can probably check in three days. Fortunately, most of the talks are recorded so you can check them out in their channel. Unfortunately, for the ones I was able to check the audio was dubbed to Spanish so that may be an issue if your Español isn’t very good, and no English translation seems to be available for the Spanish ones.
Here are some takeaways of the panel, moderated by Chris Wren (ExDev Producer at EA):
Providing development services is a great way for a new or growing company to get funding and learn a lot in the process, this doesn’t have to be a pain even if your dream is to create your own games… there are fun projects to be made for clients.
You have to make a game first. There’s absolutely no way someone is going to hire you otherwise. You also need the ability to build a relationship with the client, communicate using their language, and learn and assimilate their business culture.
Creativity is at the core of video game development, but in order to build a successful business around it, you need to establish processes that can be reliably replicated through different projects.
You are going to face a lot of challenges, every time you face a situation try to figure out why it happened to prevent it from happening again (again, use the newly acquired knowledge as an asset to enhance your processes).
To get your first contract you need luck in order to find a good opportunity, but you also need to be ready with a game to show and push forward against adverse factors without giving up.
Go to events and talks, introduce your work to industry figures and speakers, that will help you get connected with companies if they like you.
We started working in an existing engine and build upon it; the creators of the engine were impressed by our work and hired us. This first client has evolved into our current development partner. Building long time relationships often help.
Initial cash flow issues and technical challenges were common when we started. Some things that helped were having people specialize in specific project roles creating a pipeline to be more efficient.
One thing is planning to make a pipeline and another one is implementing it with local talent. We learned it takes time to build a working team. You need to provide the team with challenges and tools.
We doubled team size too quickly in order to have the capacity to handle incoming projects, just to lose some of them afterward while keeping the additional fixed costs we acquired. We fell into irresponsible growth, we recovered but was painful. To prevent this it helps to grow in small “cells”.
We are building industry so that newly formed developers can have a place to work. Look for companies at IGDA Colombia website, send your portfolios, companies are always looking for good talent and people that understand core concepts of development.
Not all developers are motivated by the same kind of projects. For some developers, it might be more motivating and fun to work in “work for hire” projects, which may be more straightforward than own IPs for indie games.
Stay true to what your company wants to be good at making, know when to say no to a project. We have less diversity of clients every time, but we feel being focused has great advantages.
Find the genre of games you like, work on it every day and show your work to the world.
If you want to work developing video games, take advantage of the current moment of the industry, there ARE places to work in Colombia. It is challenging to get a job but be up to the challenge, even if your plan is to have your own company in the future, you can learn a lot.
Don’t approach game development as someone eating in a restaurant, but rather as the passionate chef in the kitchen, working constantly and focused into making better food experiences every time.
After the panel, the participants were approached by students and developers eager to show their work.
Share your Gravestone page, including a screenshot of your journey, via twitter using the #ananias18 and #roguelike hashtags. (See here for a Gravestone page)
You are also encouraged to share it on reddit but it’s not required
You can submit your character any time before October 7, 4PM PST
Participate playing in any valid official 2.4.4 version of the game, including Android, iOS, Steam and Web. No Fellowship Edition required.
You can also participate playing in person in the Roguelike Arcade at the Celebration (but it’s not required)
Winners will be picked based on the standard scoring criteria (depth level, then kills)
You can use any class / pet combo
Money Prizes to be awarded via Paypal
Ananias Box and Manual – No diskette
T-Shirts available in limited sizes – To be awarded as available.
Sticker set will contain assorted characters as available.
Physical prizes will be delivered in person at the Roguelike Celebration on Sunday October 7. If you are not attending then they will be sent to you for an additional Shipping cost to be paid via paypal.
How can I get the gravestone page for my character?
Just create an account in the game, and then when your character dies or ascends use the “Gravestone” button
I wasn’t really sure what to do, I actually was wondering if I was going to be able to participate at all, but the weeks before coding I toyed in my head with several different ideas… one of them would be a mobile entry based on my Energy Radar project (which is inspired by Pokemon Go), running completely offline but allowing players to interact and capture monsters as a team. I decided against it because of it being maybe too big in scale.
Another one would have been an offline life simulator, someone living on the forest, fishing, something more of an experience than a game since there would be little stress, this would have been more heavy on the graphical side so I abandoned it (more so as the deadline was getting closer)
Finally, had an idea of a non-linear “Space shooter”, keeping some of the Energy Radar ideas on offline interactivity, players could fly from planet to planet; once in a planet, they would input a code from another player on the same planet, which would allow them to advance on the plot.
Knowing that I may very well wound up doing something completely different, but I had to start somewhere, I went with this idea.
At first, I tried to use source from Lost in Asterion (my js13k from 2017), but lost a lot of time. I went instead with a fresh copy of js13k boilerplate. I modified the example and was able to have a static starfield in little time.
Since this was going to be a non linear shooter, and I thought having a “lerping” camera effect would be cool, I invested a lot of time trying to make the “camera” work (again, based on Lost in Asterion). It worked, almost, since I wasn’t really tweening it but rather handling it as an object on-screen with acceleration and position, so it was hard to make it “stick” to the player once it reached him.
I also added simple keyboard input to move the “ship” around, and with the camera following it, it was a rudimentary space scene.
After giving it some thought in my head, and reading my postmortem from 2017, I decided to go on a different route. I would instead focus on making a simple arcade game, and use the 13K to add as much eye and ear candy as possible.
I ditched all the work that I had done in the camera since it was now going to be a linear game (and it wasn’t really working very well)
With a more clear vision of what the game was to be about, I implemented a lot of things,
Collisions between player and enemies.
Bullets killing enemies, increasing the player score.
Removing mobs when out of the screen (stars, enemies, bullets).
“Serial rendering” of mobs allowing potential complex representations.
Render score with LCD like display.
Since I needed something to test my “rendering” system, I decided to design the player ship, I based myself on the ship from the original ArcherFire made in QBasic in 2002.
Doing vectorial art, however, is something I don’t have any experience with. I can do _some_ pixel art, but this is a different beast. Plus I had to manually input the sequence of commands to draw each shape. I did the best I could with the little time I had.
In the end, this design is represented as follows in the code:
(Note that this is meant to be only half of the ship, the other half is drawn mirrored)
Since I was already drawing a scaled version of it, I figured I’d try to include a practical 3d looking effect when turning the ship, it did look pretty good.
Tried to build the game by the end of the day to see how I was doing with the size but found out there was a problem with uglify which didn’t let me thru.
Since I was no longer going for the “offline social” component, I wondered how to incorporate the theme. One obvious option was to provide hotseat multiplayer, and I ended up adding that.
Made enemies being able to shoot at the nearest player, and added the infrastructure to be able to create enemies given a set of parameters. Also added enemies cruising from left to right of the screen, and platforms with 4 mounted turrets.
Added explosion effects, since I didn’t have any tweening library and the rendering was being done manually, had to implement the explosion animation by drawing an expanding circle which would them be “hollowed” when dissipating. Drawing a “hollow” circle in canvas context2d was not as easy as I thought! I ended up using a weird trick to compose the path to fill: Draw the outer circle clockwise and the inner one counter-clockwise. I still don’t understand how that worked.
For SFX, I included again the good old trusty jsfxr. It keeps being useful even after years of not being updated. I added sounds for the explosions and the firing of bullets.
I saw that I still had plenty of space left so I began wondering how to include music. I tried minimusic, set it up and made it work inside the game with a test melody, but was unable to come up with anything half decent (guess why, I’m not a musician!). I left it there, asking a friend to see if he could maybe device something out of it.
Also designed one of the enemy ships (again based on ArcherFire 2002). I tried to implement some way to “rotate” its rendering but after spending some time on it gave up.
Finally, I added one first version of the “wave generator”, that is the thing that puts up new enemies on the stage as the player goes thru. After putting that I found myself with a rudimentary but complete game that someone might even enjoy!
Journey onward to Day 4 and 5, and then a detailed rundown of the game’s structure and some conclusions and thoughts!
The Roguelike Celebration is happening again this year, October 6 and 7. I will be flying to SanFran to assist and also give a talk about the History of Roguelikes.
Had an idea running on my head for a while to make a “trailer” for the event (no one asked me for it). At first, I thought of creating a playable classic roguelike using my JSRL roguelike template. I actually did create the foundations for it (as in walk in a predefined map), but it lacked the cinematic potential for a short trailer. In any case, I integrated the “torch” effect from the unicodetiles.js example into JSRL, which may be useful. You can check out the integration here.
Then I had another idea and I just couldn’t be at peace until I implemented it. I think it occurred to me a day while driving and listening to the Mega Man III OST. I thought I had found the perfect tune for it. So, even in a busy week with lots of work, I just had to do it.
The trailer features the awesome speakers’ lineup in a “robot-masters” NES Megaman stage selected style.
Of course, there’s little structure to the project since it was meant to be a quick job (and is also pretty simple). Most of the relevant logic can be found in a single Object, the Game state. I set up a stage with a black background and the gray strip, as well a Sprite object for the character and 4 text fields. I used a Megaman 10 font (I had found another one for Megaman 2 but for some reason, it could not be loaded as a web font), I performed a simple centering function based on each line’s character count to keep the characters as sprites in the grid (thus getting a bit close to being a NES “background sprite”?).
There was also a simple “particle” animation in the background, instead of stars they were small @ signs because, you know, roguelike. I used the same color palette used on the Roguelike Celebration logo for them.
Of course, the most fun part was doing the pixel art for the speakers. I used a bunch of Mega Man 2 robot masters as a base and then I proceeded on tweaking them for each speaker. The ones I know in person where easier, for the others I had to do a bit of stalki Internet research, I hope I managed to capture their likeness.
Finally, I reused the “Retro TV with scanlines” from Cat Cafe.
“Interaction” is a video game development meetup. They organize conferences in Medellín (my hometown) where they invite local developers to share their experience with both fellow and wannabe developers.
They are now an official Unity User Group, and they are planning to create bigger and better events. Interaction++ 2018.4 was the first of these events, where they had three talks instead of a single one as usual.
The first talk, “Introduction to Indie Marketing”, was given by Jorge Castaño of Amazing Soul games. It was an ambitious talk and it went well over its time limit, but it was pretty interesting.
Its first topic, foundations of marketing, gave an overview of some elements involved in the marketing of the game along with some useful tips:
Create a compelling synopsis/summary to convert visits into installs.
Have at hand your Unique Selling Points: What makes your game different. This may help change a first negative / neutral perception and make the player give a second chance to your game.
The biggest markets like Steam, Play Store and AppStore are extremely competitive and it’s extremely hard to be noticed, smaller stores can even provide help with marketing.
China is a very attractive market for mobile but the AppStore and Play Store are dead there. Tencent is the biggest store, but rules are different.
A clear target market is a must to create an effective marketing campaign.
Set a target to be in the top 200 of the store (it’s impossible to get to top 10 without +100.000USD daily marketing or a lot of luck)
A great target for a small company is 5000 USD / day for 1 month. It should cover the investment in the game.
They also dug into some of the tasks of a publisher:
Localization (not only language but also cultural) can drive a lot of installs. For example, Games in China must be properly localized, and including Dragons as enemies into the game may be perceived as offensive. For Japan, 80% of the players will only play the game if it’s in Japanese.
Customer Care: Retention, especially important for freemium games in mobile. Some publishers provide a support team.
Acquisition: It’s only part of the publisher task. Invest money to get more players.
Marketing: Material such as trailers, icons, screenshots, they often have a specialized team.
QA / Testing
Monetization: Make the game make money.
They also had some recommendations for Indie Publishers:
Adult Swim Games
Publishers will normally take 30% to 60% of revenue, and it’s currently hard for them to give money upfront.
Some advantages of using a Publisher:
Better distribution channels
They have useful contacts with the industry
Cross promotion, they will leverage players in existing games.
They assume part of the risk of investment
Years of experience.
If you don’t have a publisher, you must cover all the above by yourself to a certain degree.
This includes creating a marketing campaign to generate interest of the game even before it is launched.
Some things that help here:
Create a plan for your campaign with weekly goals and channels to be used every week.
Use analytics to update your plan. What is working and what is not.
Make a list of the websites, streamers or youtubers you want to cover your game. Start with the smaller ones, that will eventually bring interest to the mid-sized and the bigger ones if you are lucky.
Create a presentation template to get in contact with writers
Sucess doesn’t depend on money alone, being aware of all the different tools at hand helps greatly.
In the second talk the guys from Dreamhouse Studios shared their experiences building three VR products:
A training program for the Colombian Army FLIR program. (Infrared scanning)
A multiplayer tower defense Halloween game.
A training program for the local tram system
They mentioned their second game has provided them with some cash flow by renting it to be used in malls and events in the city. They shared some details of their development process.
Finally, the third talk was about the upcoming optimizations to appear on Unity to leverage on its Entity Component System to increase its performance greatly. This, in order to allow Unity games to run in lower-end devices, as well as extending its capabilities to manage a LOT of objects moving and interacting on screen.
All in all, I recommend their conferences especially to students or people looking forward to starting into the video game development industry.
Another year, another 7DRL. 14 of them now. Play it now here!
You are a Real State agent who visits an old abandoned mansion to assess its market value and put it on sale, but when you are inside, checking some of its ancient artifacts, you pass out and wake up in a room…. what surprises await for you in the mansion? Every time you play there will be a new adventure!
Design, Code and Integration by Santiago Zapata
Game Art by Giovanny Ramirez
Cutscenes by Bombillo Amarillo
Ambient Music and Sound Effects by Ashton Morris
I was only able to fit less than 2 hours on the final day (!). During the day I precompiled the list of things to be done in my head, to make the most of out the limited time I knew I would have. Here’s what I did during that final push:
Integrate the walking animation for the main character (!)
Add ambient music
Add doors opening SFX
Add intro sequence
Add endgame image and logic control.
Add losing condition (time limit, 20 minutes)
Fix issue with conflicting camera fades
As you can see, all of it was polishing, no new game content but I think it was worth it to provide a better end product.
I’m happy with the results this time. Following are the things I wish I could have included:
Slightly more elaborate puzzles: I wasn’t aiming for very complex puzzles, but hoped for more than just keys + doors.
Descriptions for objects in the mansion, including tying them to the (generated) history of the inhabitants.
More furniture and room types: Especially the beds, bathtubs, toilets and dining tables. I got some of them from Giovanny late on Sunday but it was too late to include.
A real mansion layout generator: A higher level generator which could decide the room types and positioning based on a general mansion pattern. (Sadly, right now rooms types are just randomly chosen).
Footsteps SFX: Time was running out and I couldn’t figure out a 5 minutes solution for this so had to leave it out.
Rooms of variable size with scrolling: Will probably require some tweaking to the engine since som many things are tied to the fixed size (had to do it because of the jam constraints)
Animations of the character walking up and down and a better walking animation.
On the other hand, this is a list of things I was very happy to achieve:
Setting the mood of the game, with the in-game art and the color palettes, as well as the awesome ambient track and SFXs and the intro scenes.
The engine for mansion exploration including item management (sadly couldn’t exploit it more)
The mansion layout generator, and tying it the engine which included transforming the 2D map into a logic structure.
The room generator which managed to create somewhat believable mansion rooms (and was pretty polished)
So far, only a couple bugs have been reported (and none of them seems to be a extreme blocker) which is good:
Sometimes you can escape the boundaries of reality and walk thru the background of the room
In some contexts, the game runs too slow. (Still trying to find out the causes)
I consider this is a complete game (go ahead and try to escape the mansion!), however I believe there’s potential to continue working on it. Here are some ideas I’m thinking on working on besides the ones already mentioned above (I’ll likely write a longer post about it in the future):
Getting close to a playable game, at least now you can roam the mansion and your advance will be restricted by locked doors for which you have to find a key. With some more efort we will have a basic game.
Coded the transformation of dungeon rooms into mansion rooms, effectively integrating the random layout generator into the engine.
Modified the Dungeon builder to generate sections separated by locked doors, and placing keys for the player to find, ensuring it’s solvable.
Splitting the mansion into sections, while not “realistic”, makes for a more interesting scenario given the time limitations. (Else there may be places worthless to explore, and determining the winning condition would be harder)
While on a boring adults’ assembly, started thinking on the theming of the rooms, based on the list of objects at hand. Ended up with some room type definitions
Used this to select the floor and wall types for rooms (as well as persisting the color selection).
Started integrating the content into the rooms, starting with some floor and wall decoration.