Jump to content
  • Advertisement

Denis Muratshin

  • Content Count

  • Joined

  • Last visited

Community Reputation

188 Neutral

About Denis Muratshin

  • Rank

Personal Information

  1. Denis Muratshin

    Font Effects generator and Editor

    new update: - added 2 new nodes: Distance Field Auto и Radial Fill, it should be used instead deprecated DistanceField+Fill - no need to set distance field rad manually, it will be calculated from attached children - Radial Fill have 2 params inner and outer radius, no need to control opacity by gradient - editor works for both java versions 32/64 bits - significantly improved SDK performance 2-3x times - improved SDK, new functions helpers - etc
  2. Usually, if you wanted to create a beautiful but complex font for your game, you would have to make a font atlas in photoshop (or similar), add whatever effects you want, save it and then use it in your game. So what's the Problem? Atlasses take up a ton of space on the disk and memory in RAM. It's also difficult to tell which ones you will need (for example, for numbers you may only need to create digits, so do you leave out all letters and symbols &%!$# ? What about diacritical marks?). Also, you need to decide what size your atlas should be (HD or low-res). Dealing with distance field fonts is a pain, so what can you use instead? Why FontEffects? FontEffects allows you to generate fonts on the fly in-game. Feed the library a picture of a letter in any size from FreeType and you'll get a beautiful symbol on return. All of this is done with only a couple of lines of code. The library is written in C++, is lightweight, available on the MIT license, doesn't depend on other libraries and has a simple C interface. How do I make a complex font? That's where the visual editor comes in. It doesn't use generic filters like Photoshop (Stroke/Glow/Fill), but instead takes advantage of a fully-featured graph editor that can create fonts of any complexity. YouTube video presentation Web Online Demo (Emscripten) Here is an example of a saved project in the editor (and the file that you load in the game): FEF2 #sigma size:100 distance:1.05 @nodes *1,1,0,0,0,10,10,0,0,0,0,0,0,0,0, *50,2,0,0,0,579,21,0,0,0,0,1,0,0,0, *3,4,0,4,4,144,166,0,0,0,0,0,0,0,0, 3,000000FF,0,FFFFFFFF,.7031,FF8787FF,1,1,FF,0,.5286,.8489,33.7156,1.6017 *3,3,0,0,0,145,10,0,0,0,0,0,0,0,0, 2,FF0000FF,.3691,00FF89FF,1,1,FF,0,0,1,0,1 *10,5,0,0,0,148,345,1.75,0,0,0,0,0,0,0, *6,6,0,0,0,360,258,10,0,0,0,0,0,0,0, *5,7,0,0,0,355,63,0,0,0,0,0,0,0,0, *3,8,0,0,0,533,247,0,0,0,0,0,0,0,0, 2,01B4FFFF,0,000000FF,1,2,00,.4707,FF,.5273,0,1,0,1 @edges *7,2,1 *8,2,4 *1,4,3 *1,3,3 *1,5,3 *7,6,2 *3,7,1 *5,7,2 *4,7,4 *6,8,2 Here's pseudocode demonstrating how to work with the library: https://github.com/frankinshtein/font-effects-lib/blob/master/test/main.cpp #include "fe/fe.h" ........... // load effects from buffer into memory fe_effect_bundle* bundle = fe_bundle_load(buff, size); // get the effect by name (the file may contain different ones) fe_effect *effect = fe_bundle_get_effect_by_name(bundle, "sigma"); // get the final node fe_node *out_node = fe_effect_find_node_by_type(effect, fe_node_type_out); // get the source image (parameters below are taken from the FreeType structs) int bitmap_left = 0; int bitmap_top = 0; int src_width = src_image.w; int src_height = src_image.h; int pitch = src_image.pitch; const void *data = src_image.data; FE_IMAGE_FORMAT src_format = FE_IMG_R8G8B8A8; //use FE_IMG_A8 with freetype int font_size = 100;//FT_Set_Pixel_Sizes(_face, 0, font_size); fe_im result; // key lines, apply our effect to the image bool ok = fe_node_apply(font_size, bitmap_left, bitmap_top, src_width, src_height, src_format, pitch, data, out_node, &result); // upon return, result is a buffer with the image - you can now use it for whatever you need! Download Library: - from GitHub Download Editor (Java should be installed): - Editor for Windows - Editor for MacOSX
  3. Denis Muratshin

    Current most powerful cross platform 2D game engine?

    Check Oxygine  
  4. Denis Muratshin

    2D C++ Framework for Mobile and PC (free, open source)

    I just updated topic.  There are a lot of new features since last update. There are new extenstions for oxygine: https://bitbucket.org/oxygine/ - oxygine-movie for playing Theora movies with alpha channel - oxygine-sound ogg sound/music player with streaming - oxygine-freetype library - oxygine-billing for in-app-purchases - oxygine-spine for playing Spine animations - oxygine-magicparticles for playing particles made with MagicParticles
  5. Denis Muratshin

    Good open source engine 2d?

    Hi, did you see Oxygine?    
  6. Do you know C++? If yes then try Oxygine framework.  In the basis of the engine there is a scene graph, that is similar to Flash one. To be short, You can call this as Flash for C++, but more comfortable and way faster. Initially it was developed for mobile platforms (iOS, Android), but can be also used for PC games.
  7. Denis Muratshin

    Recommended 2d Engines?

    Try this one http://oxygine.org/
  8. Denis Muratshin

    Best Game Engine for Beginners?

    If you need 2D engine like Flash try http://oxygine.org
  9. Denis Muratshin

    2D C++ Framework for Mobile and PC (free, open source)

    Thank you :) Today I uploaded new update to engine - added big example-tutorial from 4 parts how to make game - added tga support - mac os x example - linux is working - reworked folders structure and other improvements
  10. Denis Muratshin

    2D C++ Framework for Mobile and PC (free, open source)

    Hi! a lot of new updates: - added Linux support - reworked atlas packing - reset/restore opengl resources - many minor improves   and new game released :)
  11. Denis Muratshin

    2D C++ Framework for Mobile and PC (free, open source)

    Hi! New huge update is available: - reworked android make files - reworked cmake files - fixed SDL Android build - fixed SDL iOS build - added filesystem - added zipped packs support - removed system folder from data - improved examples  
  12. Denis Muratshin

    Good read on Cocos2D-X

    you can do anything
  13. Denis Muratshin

    Can Pyglet or PyOpenGL make high quality graphics games?

    We did Jewel Quest 5 and Jewel Quest 6 on python. It was C++ engine with python bindings. Where 99% of game code was written on python. 
  14. Denis Muratshin

    Good read on Cocos2D-X

  15. Denis Muratshin

    Good read on Cocos2D-X

    try this 2d engine: http://oxygine.org/
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!