Localized Font Textures in Monogame

For Monogame devs that want sprite font textures which only contain the characters used in your localized text. Created especially for small pixel fonts that might need manual editing of the texture.

Download it here:


Version History

  • - 11/10/208 - UI now saves your previous settings (including text files and output path). Fixes some bugs with texture rendering and the content pipeline.

  • - 11/9/2018 - Initial Release


You may have discovered that the default font processor in monogame degrades in quality as your fonts get smaller, especially if they are detailed CJK type characters. So next you look into using font textures, but these require you to make an uber gigantic texture with all possible unicode values (I tried making such a texture and indeed even Photoshop would not open it).

So I grabbed a copy of Microsoft’s old TTF2BMP and modified it so that it can read your game’s text files and output only the characters that you use.

I also added a content importer and processor to let the Pipeline tool / MGCB be able to turn these into a working .xnb.

It is not especially pretty or elegant, but it will do what no other tool I’ve found can do. And now you have the source so you can make it better. (Sorry it’s not in Github or the like, but feel free to upload your own copy)

How to Use

  1. Download the TTF2BMPPlus.zip and unpack. There’s a visual studio solution in there.

  2. Add references to Monogame.Framework.Content.Pipeline.Windows and Monogame.Framework.Windows, wherever those my live on your machine. It needs them because it subclasses the default importer/processor.


3. Build and run it. You may recognize the old TTF2BMP interface, but now there is “Choose Text Files” button. Click it and choose whatever files you are using to store your text.


4. Click Export. It will ask you where to save the output bitmap … BUT it is also saving a .txt file of the same name that lists all the unique characters in your game’s text. You need to keep this text file around (add to perforce, etc.) so that the content importer/processor can match up the glyphs to the characters.

5. Go ahead and edit the texture, just don’t move any of the glyphs out of order. Chances are some characters still rendered wonkily, but now you can fix them in photoshop.

6. Open up the MonoGame Pipeline Tool and your content.mgcb file. Select the root node, and at the bottom, add a reference to the ttf2bmp.exe you built earlier. It’s not a dll but you can still add it if you browse by All Files (“*.*”).


7. Now Add the bitmap you just made to the project.


8. Under Importer, choose “Texture Importer - Localized Font”, and under Processor choose “Font Texture - Localized”. Set the ‘FirstCharacter’ field to 0; it remains since we subclassed the default Font Importer, but the default value of ‘space’ gets serialized to an empty string, which causes MGCB to believe it “NeedsRebuild”, unless you change it.

9. Build your content and you should be done with this part.

10. To use the font in game, it works exactly like any other sprite font; just do contentManager.Load<SpriteFont>(fontName) and it should work as usual.

Axiom Verge Retail Launch!

It’s every game developer’s dream to see their creation on a store shelf, right alongside the Marios, GTAs, and Calls of Duty of the world. The retail launch of Axiom Verge represents a huge milestone for me personally, and I’m grateful for all of the support my fans, friends, and family have given me during this journey. I’m really looking forward to being able to walk into my local Target, GameStop, Walmart, or Best Buy and see Axiom Verge on the shelf TODAY! (Apologies, Europeans. The launch in Europe will be coming a bit later…)

Even though I’ve been working with BadLand Games to publish this, it was still a significant amount of work to get this out. Murphy’s Law was in effect every step of the way, from the timing of getting age ratings (because why use the age ratings for the digital version? That would be too easy!), to re-certification by the platform owners, scheduling production, tracking the shipments of the cartridges and discs often across continents and multiple time zones, etc. So it was not without a little emotion that I watched these videos that the packaging company sent me:

I’d seen and approved of all of the proofs. I knew on an intellectual level that the Switch cartridges had arrived at the packaging facility from Japan and were being assembled into cases, but it was all in email and spreadsheets. Seeing finished product coming off the line and being packed into boxes made it feel real in a way it somehow didn’t before. And just on Friday, I finally got my own advance copy!


In case you haven’t been following, there are going to be 5 different versions (or “skus” as they say in the retail biz): 3 different platforms (Switch, PS4, and Vita) x 2 different editions (standard and Multiverse). The reason it’s not 6 different versions is that Vita will only be available in the Multiverse Edition flavor. The difference between the Multiverse Edition and Standard is that the former includes a behind-the-scenes documentary made by 2 Player Productions – the guys behind all of the Double Fine Presents videos, as well as an art book, and a double sided poster. The Nintendo Switch version is a bit more expensive than the others due to cartridge costs, so we’re including the game soundtrack on CD with that one.

If you’re interested in picking up a copy, there’s a good list of retailers here. One favor I’d like to ask: I’ve heard that retailers are more likely to make the game visible if people ask for it by name. So whether you’re planning on buying it or not, if you happen to be in a store that sells games, please be sure to ask for Axiom Verge!


Before I go, I’d just like to take a moment and give a special shout out to the publisher, BadLand Games. As you may have seen elsewhere on my blog and Twitter, I’ve tried to be pretty open about my son Alastair’s health situation. In short, he was born healthy, but the doctors failed to treat a routine case of jaundice during a critical period when he was just days old. The result was a life-long condition called Kernicterus that is characterized by severe neurological damage which robbed Alastair of much of his motor control and hearing. The reason I mention this is that after we decided to move forward with BadLand Games as the publisher, they offered to donate 75% of their share to a special fund dedicated to Alastair’s ongoing health care costs. They didn’t want to publicize it, since none of us wanted to be seen as trying to use my son’s suffering as a marketing tool for the game. I hope this doesn’t come off that way. I just wanted to thank them for their generosity in offering that up, since it was definitely something they didn’t have to do.



Off Topic: Automakers, Please Stop Packaging Features With Leather

You know your dream car is completely covered in leather and furs.

You know your dream car is completely covered in leather and furs.

Based on the amount of gratuitous creature-shooting featured in Axiom Verge, you might be surprised to learn that I'm a vegetarian.  I have been for over 20 years.  It's not something I discuss a lot or even encourage, because it's mostly a pain in the ass I have to put up with since my conscience won't let me do otherwise.

Case in point:  Automobiles.  From what I understand the glues and such in cars are made from animal bones/hooves/blood/muscle so there's no such thing as a 100% "vegetarian" car, but since I know it takes 2 or 3 dead cattle to fill an SUV with their skin, I try to avoid doing that. But for some reason it's considered luxurious and better to trim cars with cow hides, so the faster, better, and more-tech filled a car is, the more leather.  Personally this kind of feels like when home electronics used to have fake wood paneling - I guess to make people feel like they were classy furniture - but whatever, if I understood people, I probably wouldn't be a game developer.

So anyway, now that we have our first child - one who is disabled and will need a wheelchair to go with him wherever he goes - we've been investigating various 3 row family haulers.  But as soon as we think we've found the perfect car, we discover that you can't have this or that feature without getting leather seats.  Usually stuff like navigation, collision sensors, parking sensors, power hatches, sun roofs, better engines, hybrid trims, etc, are packaged with leather, leaving you only with crappy bare-bones options.

If I'm to believe Quora, about 5.2 percent of the world was vegetarian (in 2015), though the 500 million vegetarians in India is more than 5.2 percent of the world, so...who knows where the numbers come from.  And there's no telling how many of these people buy cars, but doesn't it seem like a substantial number that could matter for profit?

Because I was already making a list of 3 row family cars, what features we miss out on by not having leather, and how much they cost, I thought I would share it here.  Maybe someone buying a car in early 2017 will find it useful.  Maybe an automaker will read it and be all, "huh, we could make more money than we do" (but they won't, because because).  We still may end up having to get leather just for safety features (maybe I can buy some cows to offset those that died?), or we may just have to make due with our 2014 Wrangler and its manually controlled everything.


3 Row Cars Standard With Leather Seats

Most luxury SUVs only come with leather,  so this is sort of a no-brainer.  But it really hurts that the safest, highest rated, most family friendly vehicle - the Volvo - is among them.

Acura MDX $44,050
Audi Q7 - $54,800
BMW X5 - $55,500 (Note that the 2 row version of this can be had without leather)
Cadillac Escalade - $74,590
Infiniti QX60 - $42,600
Infinit QX80 - $63,850
Land Rover Discover $42,440
Land Rover Range Rover Sport $64,950
Lexus GX $51,680
Lexus LX $88,880
Lincoln MKT $43,370
Lincoln Navigator $63,195
Toyota Land Cruiser $88,825
Mercedes Benz GLS 550, AMG GLS3
Volvo XC90 - $53805


3 Row Cars That At Least Let You Get the Lowest, Crappiest Versions Without Leather Seats

Here I'm listing the features you CAN'T get without leather seats, since that was the most useful for us to rule out different cars.  Also I put the amount of money automakers lose for each vegetarian/vegan who could have bought them.

Chevy Suburban - power liftgate, power sunroof, heated seats,  navigation, power telescoping steering wheel, power release 2nd row, front and rear parking assist, keyless start, heated power mirrors, 2nd row bucket seats, driver information center, heads up display, adaptive cruise control, power retract steps ($17,990)

Chevy Traverse (2017) - power mirrors, blind spot alert, seat memory, forward collision alert, lane departure warning ($7,790)

Chrysler Pacifica - plug-in hybrid ability, panoramic sunroof, heated seats, 3 zone temperature, 7-inch driver information digital cluster, built in vacuum, better looking front end, touring suspenssion, 360 degree surround camera, adaptive cruise control, break assist, collision warning, lane departure, rain sensitive wipers, power doors & liftgate ($6,715)

Dodge Durango - V8, adaptive cruise control, advanced break assist, blind spot and cross path detection, collision warning, Rear seat entertainment, 2nd row storage, lane departure warning, power liftgate  ($5360)

Dodge Grand Caravan - heated seats, rear dual-screen blu-ray, blind spot/cross path detection, rear park assist, rain sensitive wipers ($5,600)

Ford Explorer - Turbo v6, enhanced park assist, adaptive cruise control, front 180 degree sensor, lane keeping system, power folding mirrors, memory driver’s seat, power tilt/telescoping steering wheel, power adjustable pedals,  2nd row bucket seats($6,196)

Ford Expedition - 10 way power driver’s seat, power heated mirrors, power liftgate, 3rd row powerfold seats, driver memory, remote start, dual zone hvac, dual headrest DVD, voice activated navigation, 2nd row bucket seats, power running boards ($12,980)

Ford Flex - Turbo v6,  multipanel sunroof, Navigation, 10 way power heated and cooled  front seats, cross traffic alert, driver memory, power adjustable foot pedals, 110 volt outlet, power liftgate, power mirrors, active park assist, adaptive cruise control, collision warning, powerfold and tumble 3rd row, power tilt/telescope steering wheel  ($13,345)

GMC Acadia - Navigation, hands free liftgate, Lane keep assist, forward collision alert, safety alert driver seat, low speed automatic breaking, front pedestrian detection, 8”navigation, driver memory, drive rode selector, front park assist, follow distance indicator, continuously variable damping, surround vision, adaptive cruise control ($11,905)

Honda Odyssey - Forward collision warning, lane departure warning, auto dimming mirror, heated seats, power monroof, power liftgate, driver memory, blind spot information  ($11,375)

Honda Pilot - Power panoramic moonroof, navigation, 2nd row USB chargers, Heated seats, rear entertainment system ($10,740)

Hyundai Santa Fe - panoramic sunroof, multi-view camera, 8” navigation, auto dimming mirror, LCD multi-info display, blind spot detection, rear traffic, power mirrors, push button start, 2nd row captain’s chairs, power passenger seat, rear parking sensors, smart cruise control, pedestrian detection, lane departure warning ($10,000)

Kia Sedona - 8” navigation, surround view, usb ports, blind spot detection, heated seats, push button start, 3.5” meter cluster, dual power sunroof, lounge seating, power height adjustable liftgate, smart cruise control, forward collision warning system, lane departure warning system, automonomous emergency breaking  ($13,225)

Mazda CX-9 - Power moonroof,  8” touchscreen Navigation, multi information display, driver memory, Power liftgate with programmable height, auto sensing door locks, blind spot monitoring, rear cross traffic alert,  lane departure warning, lane keep assist, radar cruise control, heated mirrors, rain sensing wipers, keyless entry ($9420)

Mitsubishi Outlander - V6, Power driver’s seat, blind spot warning, rear cross traffic alert, lane change assist, power liftgate, multi view camera, forward collision mitigation, adaptive cruise control, lane departure warning, heated steering wheel ($4,600)

Nissan Pathfinder - Panoramic sunroof, around view monitor, driver memory, ac outlets, moving object detection, motion activated liftgate, intelligent cruise control, forward emergency breaking , rear entertainment $46,400 

Nissan Armada - Around view monitor, moving object detection, remote start, power moonroof, tri-zone entertainment, intelligent cruise control, emergency breaking, blind spot warning, collision warning, distance control assist, 2nd row captain’s chairs  ($12,020)

Toyota Highlander - panoramic moonroof, 8” navigation,  multi-information display, heated front seats, blind spot monitor, cross traffic alert, parking assist,360 camera,  ($12,820)

Toyota Sienna - Power dual moonroof, power liftgate, parking assist sonar, blind spot monitor, rear traffic alert, touch lock/unlock, power passenger seat, power folding 3rd row, driver voice amplification, rear entertainment system, 4.2 inch multi info display, rain sensing wipers ($11,372)


3 Row Cars That Don't Sacrifice Anything Without Leather

Very short list  here - Teslas are made by tree hugging (yet lead-footed, torque-loving) hippies, while Mercedes has something called MB-Tex that perfectly mimics the sweaty, thigh-burning discomfort you know you crave.

Mercedes GLS 450 - $67,050
Tesla Model S - $68,500
Tesla Model X - $80,100


No Reset Marathon

First and foremost, Happy Thanksgiving!

It’s been a while since I’ve sent a message out to everyone who signed up for this newsletter. I’ve been so caught up in the daily drama that is my son’s medical condition that there hasn’t been much time to focus on much else. (In case you have no idea what I’m talking about, I wrote about it in some detail here.) I’m glad to report on that front that Alastair recently had a successful (if very unpleasant) surgery for a cochlear implant, which means that he is now able to hear some sounds in one ear. It’s a start.

My wife, Chloe, and I feel strongly that Alastair’s condition, called Kernicterus, should not isolate him from the world. We’ve both been pretty open about what’s going on in our private life on social media and in press interviews.

One of the world’s leading Axiom Verge speedrunners, Dimitrios Lianopoulos (who goes by the handle GVirus), has been following our story and decided to leverage the strength of the speedrunning community to help support research into a cure or treatment of Kernicterus. He organized a charity Metroidvania speedrunning marathon which will kick off on Black Friday (today) – 11/25 – at 5pm ET/2pm PT and run for 48 hours! If you live in Montreal, you can go watch it live.

If you want to stream it, you can watch it at https://www.twitch.tv/noresetmarathon. All funds raised will go toward the Kernicterus Research Fund at the Kernicterus Center at Children’s Mercy Hospital in Kansas City. I’m immensely grateful and moved that GVirus thought to do this. Kernicterus is a relatively rare condition, so any awareness and research money that can be raised will be enormously impactful. Please see the attached flyer for more information.

I hope you can join us for the marathon and donate to this worthy cause!



P.S. If you can’t watch the stream but want to donate anyway, please click here. To designate your gift to the Kernicterus Center, go to “Gift Designation”, choose "Other, Specify below" in the dropdown menu, and then write underneath in the “Comments” field “Kernicterus – In honor of Alastair Happ”.

alt : NoReset.pdf

Achievement Unlocked!

At long last, I will finally be able to say without any caveats that Axiom Verge is playable on your favorite console. I will soon be able to say that whether your primary platform is Steam, PS4, Wii U, or now Xbox One, Axiom Verge is available. When will I be able to say this? The final piece of the console puzzle, the Xbox One version, will launch on Friday, September 30 – a mere 2 weeks from now! Mark your calendars and tell your friends! Like with the other platforms, it will be $19.99, but it will have a 10% introductory discount through October 10.

There’s a certain irony that Xbox One is the last console to get Axiom Verge. When I started development almost 7 years ago, Xbox 360 (in particular, the Xbox Live Indie Games service) was my target platform. Like many indie developers, I vastly underestimated the scope of what the game would eventually become and the time needed to achieve my full vision, and by the time I was ready to launch, the development framework I was using (XNA) was no longer compatible with Xbox’s latest system.

For anyone interested in a history lesson, XNA was developed by Microsoft as a free set of APIs for independent developers to use to create games for consoles – without the need for expensive development hardware. At the time, this idea was revolutionary. Consoles were always the domain of large companies with big budgets. Development kits ran tens of thousands of dollars, so hobbyists, or even small studios, could never afford to develop games for consoles without a publisher who could provide the necessary hardware and software. XNA made it possible for anyone with access to a simple PC to develop games that could be released on a console.

But it was often more than that. Although consumers probably saw a lot of low quality shovelware clogging up XBLIG (opening the floodgates does let some sewage through), to XBLIG developers, it was about community and developers helping each other. A lot of talent cut their teeth on XBLIG. Ska Studios first achieved notoriety with their title I MAED A GAM3 W1TH Z0MBIES 1N IT!!!1. Now you may know them better as the developer of Salt and Sanctuary.

In fact, James Silva, who was the sole member of Ska Studios until his wife Michelle joined him and turned it into a 2-person company, wrote a book about making games with XNA. James Petruzzi and Tim Dodd used that book to learn how to make games for XBLIG. In case you’re not familiar with James and Tim, they’re the people behind the upcoming metroidVANIA, Chasm. (Incidentally, Chasm and Axiom Verge share something else in common. Dan Adelman is handling the biz dev and marketing for both games, and we often show our titles together. This was our setup at PAX East – sorry for the potato quality.

(If you’ve already played  Axiom Verge  and enjoyed it, you may want to sign up for the   Chasm  newsletter  and start following it too. But I digress…)

(If you’ve already played Axiom Verge and enjoyed it, you may want to sign up for the Chasm newsletter and start following it too. But I digress…)

XNA and XBLIG were part of Microsoft’s deep commitment to indie development during the Xbox 360 years, but unfortunately the decision was made to shut both of these down during the Xbox One years. The market had changed, and I suppose Microsoft concluded that there were plenty of reasonably priced tools for small developers to use to get access to consoles, so that tech no longer filled a vacuum.

Bringing Axiom Verge to Xbox One

Many XNA developers needed to make a change when Microsoft discontinued support. Fortunately, open source versions of XNA called MonoGame and FNA stepped into the void. I was able to convert Axiom Verge and continue development. Unfortunately, these weren’t supported on Xbox One… until now. Thanks to the popularity and quality of games using Monogame, Microsoft made the decision to have Monogame ported and officially supported on Xbox One!

Now, porting an entire development framework is a lot more complicated than just porting a game. There are few people who could tackle such a complex task, but Tom Spilman from Sickhead Games is kind of a wizard. He was able to port MonoGame to PS Vita and took up the challenge of porting it to Xbox One as well. Since he was already familiar with the code base of Axiom Verge, he decided to use it as the guinea pig for getting the framework up and running. Although the MonoGame port still has some rough edges to polish up before it’ll be trivially easy for all MonoGame games to move to Xbox One seamlessly, the Axiom Verge port is great. I’m proud that of all of the XNA games that originally targeted the Xbox family, Axiom Verge will be the first to have a native version running on Xbox One… with hopefully many more XNA games to follow!

The Indie (Special Needs) Dad

Alastair at the PAX West Nindies Lounge

Alastair at the PAX West Nindies Lounge

With the Wii U version of AV released and the XB1 version in certification, I thought I'd take a moment to talk about my son, Alastair.  It's not something I talk about a lot because, basically, I don't want to make you depressed.

Over a year ago I posted, over-optimistically, the Alastair had returned from the Neonatal ICU mostly unscathed.  I was very wrong.  I don't want to deluge you with details, but, to put it in simplest terms, my son has Kernicterus, which you get when your doctor doesn't treat newborn jaundice on time.  His mind is completely functional but his motor control is extremely damaged, so his movements are either super stiff or super random. He can't sit up or crawl, and it's doubtful he'll ever be able to walk.  He might be able to play video games one day with eye tracking software or the like, but probably not reflex intensive games like Axiom Verge.  He can eat but can't pick up food or even bring his hands to his mouth unassisted.  He will eventually be able to hear - after a cochlear implant surgery he's undergoing in a few weeks - but everything's going to sound like an 8-bit NES sound sample.

There are basically no approved treatments for Kernicterus in the US, which leaves unapproved treatments.  He received a bone marrow stem cell transplant in Mexico (your stem cells become classified as a drug by the FDA once they leave your body, hence why it's not allowed here).  So far if we've seen any improvements, they're very minor.  Nothing like you hear about celebrities like Gordie Howe,  John Brodie, or Bart Starr who could walk after stem cell treatments.  There's no way to know if this is because Kernicterus is just that much worse than other brain injuries or if it's that I would need to bump up to embryonic cells, which can cause tumors, and which they won't use on children even in Mexico. We also got him a hyperbaric chamber which, according to recent studies, leads to improvements in patients with cerebral palsy, though kernicterus is rare enough that it's not part of those.  We've also heard of other children using thc/cdb oil with a lot of success (in 2 cases even restoring the hearing of all things), so we've begun the process of applying for a medical marijuana card.

None of these things are covered by insurance (which, being an indie, I need to pay for in full), so you can imagine how thankful I am that Axiom Verge can support the tens of thousands of dollars this is costing.   We have also begun a malpractice lawsuit - but this is a years long process that is just in its infancy, and may not really cover the overall costs anyway.

Alastair's First Birthday

Alastair's First Birthday

I wish I could reciprocate what Axiom Verge and its customers have done for us.  But I don't get that much time to field questions in the comments, Steam forums, or Facebook.  To be honest I don't even get to work a full 40 hour week, even though I work at home now.  We regularly see a number of therapists and doctors - a physical therapist, an occupational therapist, a speech therapist, a feeding therapist, 2 audiologists, a neurologist, a GDI doctor, various surgeons - as well as the associated scans and tests.  It's hard to stay focused on anything for very long with so much going on.  I've become that flaky person we all know who agrees to do something but then never replies to urgent mail about how the deadline is tomorrow and nothing's been done.

A lot of people say, "don't worry about work, focus on your son" - but bear in mind my work is directly correlated with my son's well being. Rather than just being a hobby, Axiom Verge (and whatever else I do in the future) has now become necessary for supporting him and his medical needs for the rest of his life. 

Thanks for understanding.


Feels Like Coming Home...

I’ve been waiting a long time to be able to say this: Axiom Verge will be coming to Wii U on September 1 in both the NOA and NOE regions!

When I first announced Axiom Verge about 4 years ago, there was tremendous excitement from Nintendo fans who had been waiting for years for a true 2D Metroid-style action/adventure/exploration game. Because of some technical issues, however, I wasn’t able to launch it on a Nintendo platform straight away. Some people were understandably upset:

The Nintendo games of my childhood are what inspired me to make Axiom Verge. Metroid is probably one of the more obvious influences, but it’s actually a lot more than that. Axiom Verge actually started out as an exercise in game design. I wanted to deconstruct my favorite games from my youth and see what would happen if I took the best elements of each and put them together. The Bionic Commando’s grapple hook and Rygar’s Yo-Yo in the setting of Blaster Master and Shatterhand. I wanted to see what would fit together – and just as importantly what wouldn’t work.

You can still see some of those influences:



Axiom Verge

Axiom Verge

Blater Master

Blater Master

Axiom Verge   

Axiom Verge


But the influence of the olden times doesn’t end there. Remember glitches that would show up in the game if dust got in the cartridge? Remember Game Genie?

I used to love playing around with that thing. I used to love seeing what would happen if I started up one game and then swapped out the cartridge. It used to fascinate me as a kid that I could walk through a glitched wall into an area that was never intended to be seen. Or I could make enemies behave in strange ways. Sometimes it would freeze the game, and sometimes it would do something useful, but I just loved being able to experiment with all of that stuff. So I included glitching as a primary mechanic in the game.

There’s also another deep connection between Axiom Verge and Nintendo. Dan Adelman, who’s been working with me on the business and marketing side of Axiom Verge for almost 2 years now, was the one who started up the indie games business at NOA about 10 years ago. He’s helped tons of indies get their start from World of Goo to Cave Story to Shovel Knight.

So for so many reasons, Axiom Verge truly belongs on a Nintendo platform. It was only because of Blitworks’ amazing technical skill that we were able to make that happen, and I’m grateful for their work on the pixel-perfect port. Even though the game’s been out for a little while on other systems, the Wii U version is probably the best one. It’s the only console version to support leaderboards for the dedicated Speedrun Mode. And the Wii U GamePad will allow people to have the world map viewable at all times without pausing the game – or to play Off-TV.

It’s been too long in coming, but Axiom Verge is finally home.