You've reached the end of the game as it is right now:)
Recent community posts
Version 2.0 is now available! FES is also renamed to RetroBlit!
This major version update is significantly bigger than previous updates.
- FES is now named RetroBlit! See http://www.pixeltrollgames.com/RetroBlit/docs/namechange.html
- Tiled TMX support reworked!
- TMX files are automatically converted into a RetroBlit binary format for faster access.
- Added support for TMX map, layer, object, and tile properties.
- Added support for TMX objects, with support for object templates.
- Added support for TMX infinite maps, and chunk by chunk loading.
- All TMX compression formats are now supported.
- Significant performance improvements, sprite benchmarks are up to 2-3x faster.
- Allocation garabage generated in RetroBlit from frame to frame is reduced from 500-2000 bytes down to 40 bytes. No Garbage Collection hiccups.
- Added FastString class, a zero-garbage replacement for strings.
- Added a set of 30 easing functions for interpolating values, vectors, colors and more!
- Added ability to render into any sprite sheet, as well as creating blank sprite sheets which now replace offscreen surfaces.
- Added new Clear(color, rect) method for clearing only a section of the display or sprite sheet
- Added DrawTriangle and DrawTriangleFill primitives.
- Added new Wavy and Shaky text effects
- Added ability to change text font inline
- Added a flag for ignoring inline text color changes (you can use this to render drop shadows behind text with inline color changes)
- Added ability to retrieve RetroBlit rendering surface so that you can render it manually, see the new OldDays demo scene!
- Added OldDays demo
- RetroBlit can now be reinitialized at any time by subsequent calls to RB.Initialize and should no longer cause trouble if the Scene is reloaded. It's also possible to switch between different RetroBlit games by calling RB.Initialize for a different game.
- Removed Indexed Color Mode support and all related APIs. See rationale here: http://www.pixeltrollgames.com/RetroBlit/docs/indexmode_removal.html
- Removed Size2i, now Vector2i also has width and height members (which are aliases for x, and y)
- Removed ColorRGBA, use Color32 or Color instead
- Removed HelloWorld demo, improved MyGame template instead
- Fix SpriteSheetSize() returning wrong values
- Fix sprite sheet not loading if only tilemaps are being rendered
- Fix rendering of primitives on some old hardware
- Fix bad default audio compression on audio import
No, RetroBlit will run on any version starting 2017.1.1. It sounds like your input settings have changed, RetroBlit is a complete project, you should let it keep it's own configuration after you import it.
Feel free to email at the support email address if you're still having trouble!
FES 1.5.0 is out now. This release includes fully commented source code to a new demo game, BrickBust:
Try BrickBust out at: https://pixeltrollgames.itch.io/brickbust
Or free on Google Play: https://play.google.com/store/apps/details?id=com.mcietwie.brick_bust
- Added BrickBust complete brick-breaker demo game!
- Added FES.Ticks and FES.TicksReset APIs
- Fix game FES.Effect.Slide not clipping to FES.Display bounds corrects.
- Fix FES.PaletteSwapGet not return the same value as set by FES.PaletteSwapSet!
- Fix Tilemap rendering issues when -FES.HardwareSettings.MapSize is not a multiple of the internal chunk size (16)
FES is now at v1.4.2. It has seen a whole slew of improvements since the original release, but not as many adoptions as I would like to see! Today I'm putting it on a 100% sale (free) for a week only, in hopes of spurring some new interest! I hope you give it a try and find something in it to love!
v1.4.1 is now out. This is a small bug fix release.
- Added FES.BatchDebugEnable and FES.BatchDebugDisable which shows how many batch/flush operations are being performed and why
- Fix tilemap chunks not being clipped at an early stage in the pipeline if they are completely out of clip bounds. This should improve tilemap rendering performance in some scenarios
Some more updates recently,
- Redesigned the look of existing dungeon proc gen, new floors
- Added exterior forest map which kinda ties into the title screen! For fun I added clouds that fly by on this map
- Added cave map which at the moment is pretty similar in layout to forest map
- Added support for animated tilemap tiles, used right now to animate water and lava
- I consolidated all the existing UI into the side bar, so now the inventory and equipment is visible all the time. I initially resisted this idea but I think it is significantly better and more user friendly, at some cost of screen realestate
- You can now drink potions! The UI mechanism for this is currently experimental. When you pick up a potion from your inventory the character portrait changes expression and a little "DRINK" label bounces on top of the portrait, you drink the potion by dropping it on the portrait. Its a little gimmicky, but at the same time works very well on touch devices, which I'm always keeping in mind as I design the UI
- While messing around with procgen I added a Unity Editor extension that lets me dump maps in ascii form at various stages of their creation. This is purely for debugging purposes, but I thought it might be interesting to share. Unity lacks a good monospaced debug console, so I might develop this console further and add it to the FES offering in future releases
v1.4 was just released! It brings custom shader support and ability to specify which and when post-processing effects are applied.
v1.4 February 5th 2018:
- Added custom shader support! Shaders can now be applied in pixel-perfect space when drawing sprites/primitives/fonts, and also at post-process effect time. See FES.ShaderSetup(), FES.ShaderSet(), FES.EffectShader()
- Added FES.EffectApplyNow() API which specifies when post-processing effects should be applied. This is very useful if you want some drawing (eg GUI) to be affected by different post-processing effects (or none at all)
- Added FES.PaletteColorSet() overload that allows for setting colors directly from another palette file, rather than manually one at a time
- Added FES.SpriteIndex() overload that takes sprite sheet index as a parameter, previously FES.SpriteIndex() only worked for current sprite sheet
- Added Unity Crash Course to the Documentation to help new Unity developers get started with FES
- Fix incorrect clipping region on Offscreen surface of different size than FES.DisplaySize
- Fix Tilemap cell not updating when only the Tint Color or Flags are changed
- Fix some Tilemap chunks becoming invalid and unsuable if all tiles set manually set to empty/invalid with FES.MapSpriteSet()
- Fix some Tilemap chunks not rendering on Offscreen surface of different size than FES.DisplaySize
- Fix Tilemap rendering when using the Offset parameter, some chunks were not rendered
- Fix Tilemaps leaking Meshes
- Fix built-in font not rendering properly if there is no sprite sheets loaded
First broad balancing passes will probably be based on play through, then I might try doing some kind of simulated play. I will need to add a few more things like ranged combat before any serious balancing efforts make sense.
Recently I worked on inventory/equipment, you can now equip items. Still need to add special handling for 2H weapons. Equipping items also has no actual effect yet...
- Added minimap
- Added a simple healthbar
- Added outlines to characters and items to make them pop a little more, I found that previously they were blending with the background too much. I would really love some feedback on this change!
Monsters now drop any items that they're carrying upon death. Since crates are a type of monster they drop items too!
Currently they drop a crazy amount of items, as part of a loot & inventory test.
When dropping an item the surrounding 3x3 area is checked and the "most empty" tile is chosen. This helps to prevent too much item stacking. If there are too many items in the area they are stacked and upon stepping on a stack the player can pick which item from the stack to grab.
The inventory screen mostly works, it lets you organize items and drop them on the ground, can't equip anything yet though.
Thank you! A lot of these are planned in fact, the game is just nowhere near being feature complete yet.
Diagonal movements I'm not sure enough. I wouldn't want enemies to move in ways that player never could, and I don't want diagonal movements for players because they are hard to pull off accurately on a gamepad (without moving orthogonally when you meant to go diagonally and vice versa)
Second level is good actually, the game is completely unbalanced and it's far to easy to die at the moment.
Thank you for your constructive feedback, it's very much appreciated!
Do you mean individual UI elements are too small to interact with comfortably, or that there needs to be more UI like minimap? There will be a minimap, health and status info on the screen.
There will be melee and ranged combat, along with various skills for both instead of just "bump to attack".
Yes every character moves at the same rate now, but a system is in place to allow some characters to move faster and slower. I imagine there will be atleast some monsters that move twice the speed, and some that move half the speed of the player.
I'm working on a new roguelike project called Merl. I'm a big fan of dungeon crawlers and RPGs in general and I'm very excited to be working on this project. It is still very early in development and a lot is still undefined, but clearly there will be dungeon crawling, and looting, and there will be 16bits!
You can already play a very early version of Merl in WebGL, Desktop, and Android formats:
Merl is made using the FES Retro Game Framework:
Just added a basic Unity guide for those who have never used Unity before. You only need bare minimum knowledge of Unity to create a FES project. The guide is at: http://www.pixeltrollgames.com/fes/docs/unity.html
thanks! It's really not like using Unity at all, it's just piggy backing on Unity but the work flow is code only and completely different. It's a very simple no-nonsense api akin to what you can see in Fantasy Consoles.
I'd like to introduce you all to RetroBlit Retro Game Framework:
RetroBlit - A Retro Game Framework is a different take at retro game development in Unity. RetroBlit aims to provide a simple hassle-free API for a frictionless pixel perfect environment in which to develop 1990s era true retro games. What makes RetroBlit different is that it does away with the Unity IDE almost entirely, opting out instead for a code-only classic game-loop based environment. There is no scene management, no game objects, no fiddling with camera and asset importing. With RetroBlit you don't need to worry about how to cram that perfect retro feel into Unity, retro is what RetroBlit does. RetroBlit has its own rendering pipeline, and its own audio and input APIs.
Here are some of RetroBlit features:
- Pixel perfect rendering
- Primitive shape rendering, lines, rectangles, triangles, ellipses, pixels
- Multi-layered tilemaps with extensive TMX file support which includes support for infinite maps, objects, and custom properties
- Rendering to and from sprite sheets
- Text rendering, with text alignment, overflow settings, and custom pixel font support
- A set of 30 tweening/interpolation functions
- Custom shader support
- Sound and music APIs
- Simplified input handling
- Optional wide and tall pixel support (think 1980s computer games)
- Post processing and transition effects, such as scanlines, screen wipes, screen shake, fade, pixelate and more
- Garbage Collection aware code, for smooth play without hiccups!
Here is what a simple "Hello World" app looks like in RetroBlit:
public class HelloWorld : RB.IRetroBlitGame
public RB.HardwareSettings QueryHardware()
var hw = new RB.HardwareSettings();
hw.DisplaySize = new Size2i(320, 180);
public bool Initialize()
public void Update()
public void Render()
RB.Clear(new Color32(128, 128, 128, 255));
RB.Print(new Vector2i(137, 80), Color.white, "Hello World");
If you're interested in developing Retro games then RetroBlit may be for you. If you think fantasy consoles are great but wish they were more commercially viable and portable then RetroBlit is definitely for you!
Never used Unity, don't want climb that Unity learning curve? No worries, you only need the very bare minimum Unity knowledge to create a RetroBlit project, and I've got you covered with this guide: http://www.pixeltrollgames.com/RetroBlit/docs/unity.html
But that's just words, have a look at the link above for a live WebGL demo, and a number of stand-alone builds for various platforms!
I mean the collidable platforms. You can see them in the screen shots. For example the screenshot with "27" on top has a black horizontal platform in the middle. Looks odd to me eyes, like you accidentally just didn't render there.
This is great. Plays well, and looks good. My only suggestions would be to have some kind tile art for the walls, as is they're just black and my first reaction was that it was some kind of drawing glitch:)
This is such a neat jam, I wish I've heard of it earlier.
While I haven't participated I'd like to say thank you for reminding me of the Amstrad CPC days, and I'd like to share that Wide-Dot jam directly inspired a "wide pixel mode" addition in the new release of my little retro game framework FES (scroll down a bit for wide mode):