Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1368078 Posts in 64195 Topics- by 56129 Members - Latest Member: Fatervakin

October 21, 2019, 05:47:17 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)RetroBlit - A fantasy console inspired game framework
Pages: 1 [2]
Print
Author Topic: RetroBlit - A fantasy console inspired game framework  (Read 2863 times)
dafu
Level 0
**



View Profile
« Reply #20 on: December 04, 2018, 06:27:56 AM »

Version 2.0 is now available! FES is also renamed to RetroBlit!

This major version update is significantly bigger than previous updates.

New
--------------------
  • 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

Bug Fixes:
-------------------
  • 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
Logged
cykboy
Level 2
**

ye


View Profile
« Reply #21 on: December 04, 2018, 02:11:29 PM »

i'd be impressed if it wasn't in unity Sad
Logged
dafu
Level 0
**



View Profile
« Reply #22 on: December 04, 2018, 05:55:47 PM »

i'd be impressed if it wasn't in unity Sad

I can understand that sentiment. However, RetroBlit only ties into Unity at a very low level, to push vertices to the GPU and then draw them. RetroBlit is a code only C# API and does not use the Unity editor beyond the point of pressing the "play" button to run your game. RetroBlit workflow is nothing like a standard Unity project. You can also attach to your game using Visual Studio Debugger so debugging is very nice.

The reason I picked Unity as the base is simply because it takes care of deployment to all platforms from PC to Mobile to Console, it has more complete cross platform support out of the box than any other solution I'm aware of.

Logged
cykboy
Level 2
**

ye


View Profile
« Reply #23 on: December 05, 2018, 06:06:45 PM »

i'd be impressed if it wasn't in unity Sad

I can understand that sentiment. However, RetroBlit only ties into Unity at a very low level, to push vertices to the GPU and then draw them. RetroBlit is a code only C# API and does not use the Unity editor beyond the point of pressing the "play" button to run your game. RetroBlit workflow is nothing like a standard Unity project. You can also attach to your game using Visual Studio Debugger so debugging is very nice.

The reason I picked Unity as the base is simply because it takes care of deployment to all platforms from PC to Mobile to Console, it has more complete cross platform support out of the box than any other solution I'm aware of.



do you think there is a native possibility? cross-platform dev is pretty easy these days, the only thing imo that unity does better is console integration (switch, ps etc) since they arent really open to the public.
Logged
dafu
Level 0
**



View Profile
« Reply #24 on: December 05, 2018, 06:52:08 PM »

Quote
do you think there is a native possibility? cross-platform dev is pretty easy these days, the only thing imo that unity does better is console integration (switch, ps etc) since they arent really open to the public.

Console is a big deal, vast majority of other engines don't provide console support due to the various console dev kit requirements. But besides that, on Unity it is just one click to compile for any of those platforms, on some other solutions there are makefiles, libraries, and make tools to maintain for each platform.

Anyhow, native as in C/C++ is not likely to happen for RetroBlit as it would be a large rewrite. I was considering however putting a platform separation layer between RetroBlit and Unity, and adding the ability to then re-implement the minimal Unity APIs in a different framework, like SDL on C#. I haven't scoped out the work enough to make sure I can do this cleanly yet, so I'm not making any promises, but in theory it's doable. Personally what I would want out of this approach would be RetroBlit on SDL C# for development due to better integration with Visual Studio and therefore a nicer workflow and debugging experience, but in the end I would still deploy/release using Unity for the cross-platform support, and some other free features like monetization implementations on Unity.
Logged
InfiniteStateMachine
Level 10
*****



View Profile WWW
« Reply #25 on: December 21, 2018, 07:28:21 PM »

Have you investigated monogame? I've had a lot of luck with multi-targetting on it. It has its pain points but these days it's a lot more mature.
Logged

dafu
Level 0
**



View Profile
« Reply #26 on: December 22, 2018, 03:29:00 PM »

Have you investigated monogame? I've had a lot of luck with multi-targetting on it. It has its pain points but these days it's a lot more mature.

You mean Monogame as a base for RetroBlit? Yeah that's a possibility, but it's not as cross-platform friendly as Unity. Also Unity upcoming ECS and Project Tiny will align quite well with RetroBlit I think. These are available already in preview form but I haven't had the time to dive into them yet.
Logged
darkhog
Level 7
**


Dragon Agent


View Profile
« Reply #27 on: December 25, 2018, 10:45:57 PM »

Great work mate. Seems to be worth the price!
Logged


Be a computer virus!


I cannot C well, so I stick with simpler languages.

There are no impossible things, there is only lack of skill.
dafu
Level 0
**



View Profile
« Reply #28 on: March 15, 2019, 02:58:18 PM »

RetroBlit 2.1 is out now!

This update adds support for Sprite Packs! You now have the option of storing folders full of individual sprite images and then letting RetroBlit stitch them together into Sprite Packs for you.



If you're considering using RetroBlit but would like to evaluate it first then please send me a private message.
Logged
dafu
Level 0
**



View Profile
« Reply #29 on: June 19, 2019, 05:35:29 AM »

RetroBlit v2.2 is out!

This version has re-written documentation with now over 9000 lines of API docs alone!

NEW:
  • Added Unicode support to built-in and custom fonts!
  • Added Multitouch support, up to 4 touch points can be tracked with RB.PointerPos.
  • RB.BTN_POINTER_ABC renamed to RB.BTN_POINTER_ANY, RB.BTN_POINTER_D added.
  • Added RB.NativeScreenToDisplayPos for translating native screen coordinates to RetroBlit display coordinates.
  • Added RB.NO_ESCAPE_CODES flag for Print to ignore RetroBlit string escape codes and print the raw string.
  • Rewrote and vastly improved documentation, including over 9000 lines of API documentation!

BUG FIXES:
  • Fix music not stopping and audio not cleaning up when switching games with RB.Initialize.
  • Don't let sprite sizes be bigger than sprite sheet size.
  • Fix sprite clipping when using RB.ROT_90_CW.
Logged
Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic