brent_hamel's Forum Posts

  • My idea was that you continue developing your game with just one default spritefont object (English). And you can add 30+ spritefont objects for other languages to a separate repository layout. In runtime, if the selected language is not English, you replace the default spritefont, spawning another spritefont in its place, and copying text/size/color and all other properties to it. You will only need one "EnglishSpritefont On Created" event.

    I appreciate your workaround, I have one that I've been using thus far and will continue to do so, at this point, I have about 5 different SpriteFonts for English alone: TitleText, SubTitleText, MenuText, NarrationText, and CharacterText (this I can change the colour of on the fly, so that's helpful at least) and they're all different based on context and mood. I'll be doubling a few of these with a PlainText font I've made, which is white or black on the opposite BG, used for accessibility purposes and people with vision impairment. Other languages will also need the same treatment.

    It's fine for what it is, for now, it just seemed like easy value to add depending on how the plugin is working compared to other graphics plugins like Sprite, Tiled Background, and TileMap... (which all allow swapping the visuals on the fly) its curious that 9-Patch is in the same boat as SpriteFont though, so perhaps it IS some kind of limitation rather than oversight?

    I don't know, I just know it'd make my life infinitely easier if these features were in place, and I suspect I'm not the only one. I'll leave the thread alone now and keep limping along as I am, thanks all for the input.

  • That's fair, the last thing I want is to cause problems. I've posted my needs as an official suggestion on the appropriate site. I just hope it's something feasible, as I'm sure that if it is, it's likely quite low on the priority list, as you guys are swamped with stuff to do I'm sure.

    I was more curious if the lack of those features was simply an oversight, or if there was some technical reason for their omission.

  • Even with the modified plugin, you will still have to add and manage images, character sets and spacing data for each language. In my opinion it's not much different from adding multiple SpriteFont objects to your project.

    You can create a simple system which will automatically swap English spritefont for a spritefont in another language in runtime.

    I understand what you're describing, but its not the way I'd prefer to do things if possible. My ideal setup would include the features I've mentioned, and then simply loading all of my external SpriteFont image files into project, and then having a textManager array that would contain all the information needed for each font. Then its a single function to swap fonts at any time. Be it different characters that use different fonts, different sections of menus, users choosing to disable styled fonts in place of plain white or black text on the opposing background for clarity, etc.

    I've thought of a few workarounds, but my whole purpose for questioning these features being available or not, was to get away from workarounds and start doing things more intentionally. Not having to spend wasted time having to load and manually set each font, which at this point is numbering 30+, in editor, hard setting properties for each one, then in code, spawning potentially 30+ text boxes for each separate element of text, when I could, in theory, have a MUCH simpler system that could hot swap them on the fly, using only a single opbject and its various instances, for the entire project.

  • My intention was to simply use them as reference for creating a second independant version. Not modifying the originals. I can fully understand the reasoning behind keeping them hidden.

    It's really just this functionality that I'm hoping for, regardless of where it some from.

  • Those settings are all exposed and accessible, while Set SpriteFont Image and Character Set are not... It seems brutally inefficient to have to add extra SpriteFonts for every language/alphabet ( english, arabic, thai, chinese, russian, etc) * number of styles ( artistic style, single colour, multi-colour, serif, sans-serif, etc)

    For my specific application, all of my fonts use characters that exists within an 8x8 pixel grid, as all of my projects replicate old 8 and 16 bit aesthetics, but even if using hi-res fonts for a more modern look, I still think there's value in those elements being available for use during runtime. And while I don't actually use all that much text myself, having that functionality seems like it should be a no brainer unless there's some other factor playing into preventing it.

    Is there a technical reason that prevents this from being feasible or effective as a method of use?

  • The alternative is to have a separate SpriteFont plugin for every font style, language, etc, and then replace all instances in engine with the appropriate SpriteFont... which seems highly inefficient, time-consuming to set up, and kinda silly to have to do, frankly...

  • I'm looking to add:

    - Load Image from URL, so that I can swap Fonts on the fly, not just for style but also accessibility and language purposes

    - Set Character Set - this would allow being able to accommodate other languages more easily by allowing quick character set swapping on the fly

    Now this said, I don't know how the official plugin is doing things, so it may not be possible for some technical reason that I'm unaware of, however it seems more like an oversight then an exclusion.

    Thoughts? I have opened an official suggestion here

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-170

    I think there's a lot of value to be added here for anyone interested in creating their own fonts as well as wanting to accommodate things like accessibility and language options in-game

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Hey all,

    Just wondering where the plug-in and behaviour files are stored in the downloaded version of C3. I'd like to try making a duplicate Spritefont plugin and see about tinkering with some extensions on it, using the Sprite plugin as potential reference. Any ideas where the files might be?

    Thanks in advance,

    Brent

  • Thank you for the info!! I've submitted the feature request here: https://construct3-21h2.ideas.aha.io/ideas/C321H2-I-170, in case anyone is interested in having a look and seeing if it might be useful for them as well.

    The gist is to simply add "Load Image from URL" and "Set Character Set" to the Sprite Font plugin to add more use and versatility to an already fantastic plugin.

  • Hey all,

    Just wondering if there are any official channels for submitting a feature request for consideration, or if it's a case of just making a thread on it and hoping people notice it lol

    Thanks,

    Brent

  • I'm having this issue as well, I'm guessing no solution has been found yet?

  • You do not have permission to view this post

  • That's my current workaround, it mostly just seems like an odd limitation in the SpriteFont object. The Text object is undesirable as I do all my games at 240p and most webfonts just don't look good at that size. I prefer to stylize and design my own fonts around the specific game anyway (in combination with a "system font" that I use in everything). I'm curious if the functionality is possible, even if the use may be impractical...

  • Hey all,

    First off, apologies if this is answered elsewhere... I've been searching for a while now and haven't found anything.

    My question is:

    Is it possible to set a new SpriteFont Image and accompanying Character Set on the fly?

    The goal is for me to swap out different alphabets based on user-selected languages. The text content swaps out fine of course, but I'd really rather not have to have a new SpriteFont in the game for every different alphabet I may end up needing access to. Granted, I'm a long way off of any language other than English being used, but I'd like to build in this kind of accessibilty potential at the beginning, rather than later... So if its not possible out of the box, is it something I can tinker with in the plugin's code? I'm happy to make a duplicate plugin and play around with it, I just thought I'd ask first.

    Thanks in advance,

    Brent

  • Hey all, so far I'm loving the 3D camera, but I'm curious about something...

    Using Advanced Random to generate a height map and then mesh distortion on sprites, I'm able to get a poly style terrain map working. However... any sprite that has a Z Elevation <0 seems to just lay flat AT Z Elevation 0...

    So then the answer is to raise everything up to like Z Elevation 256 or something, so I have room above and below the map's mid level, however, the higher the Z Elevation, the further away from camera the sprites clip out of rendering... They seem to at any Z Elevation but it's much worse when the Z Elevation is higher. The Clipping is noticeable even at the lowest...

    So my question is... Has anyone else encountered this is? And is there a way to expose the Clipping box for the camera? Nearest and Furthest distances, as well as the FOV for the camera? I'm using the event system as I know ZERO scripting in C3... that said, I did manage to make a rudimentary version of a 3D camera about a year ago using only events and matrix math, so my logic is pretty solid for the most part. I'm also well aware that this is a new beta object and nowhere near feature complete. My assumption is that I'll just have to wait for more versitility to be added to the object itself.

    Thanks in advance,

    Brent