lucid's Forum Posts

  • ok, done deadeye.

    I was thinking of changing the name anyway since too many people don't thinking of text blitting in the nonstraightforward nostalgic sense anyway.

    Mipey

    seems a little redundant, since you can split up images in the animation importer. but if enough people agree it's a needed feature, it shouldn't be a problem. splitting up a bunch of sprites into smaller ones doesn't seem like a problem you'd have unless you're using retro sprites you found already that way on the internets, so no as you said, it's probably not needed much.

    but although there are ways of drawing graphical text, aside from importing sprites of every word you want, or tediously placing all the letter and number sprites in order, or making this plugin out of events. Any of those three methods takes enough time, to make it a small project in itself.

    with this you can have scores that change dynamically, names that pop up above characters

    or button setup screens, stories scrolling up the screen, without giving a second thought to it, the way you would if it was a text object. As I said before, most games polished enough to be released commercially have something like this, somewhere in them

  • I will see what I can do westray

    I'm an amateur at C++, so dynamic arrays are still fairly new to me. But I will need to know them well to complete my current personal project

    please remind me when you see me in chat, or send me a pm in a week if you still haven't seen another reply here.

    this should be very easy to make

  • I'm going to be making a Bitmapped font object, also known 'round these here parts as a Text Blitter:

    for those who don't know, this is where you have a separate sprite for each letter, so you can type some text, and have it come on screen like this:

    <img src="http://www.zone38.net/font/bmpfonts.png">

    I want it to be as easy as possible and as powerful as possible to use. The purpose of this thread is to take suggestions, and release the most complete solution possible. It will be easier to build it correctly the first time, than to add features later.

    so far, these are the features I'd like to include, and how some of it will work. If the operations I suggest sound annoying or tedious, please feel free to suggest a better workflow.

    First you need to get your letter images into construct.

    I have two methods I have thought of that seem like the simplest to me. I plan for the plugin to support both. If I have missed an input method you would like to see, please reply and suggest.

    first is a fontstrip, you would choose a sprite like this:

    <img src="http://cg.scs.carleton.ca/~luc/IpsumPlanet-Barcoda-new-font3-2006.jpg">

    Only the extra words at the bottom would be cut off, so it would just be the list of characters

    you tell construct how many letters across and down, and then specify the order of the letters

    I think there should be a few methods to do this,

    1.in ASCII order. Many font strips you see will be in this order anyway. And you can specify a range...for instance if you had a font strip just for 0-9

    you would choose the action

    Get Font From Font Strip,

    tell the x size,

    the y size,

    then there would be a drop down list of the first Character, where you could select 0

    and the last character, where you could select 9

    and that would be it for the first method

    the second would be to specify a list of all the characters, so basically, you call the action, and type in:

    "ABCDEFGHIJKLM"

    etc., that way if the one perfect font just isn't on an ascii ordered strip, you can specify your own order.

    also, you should be able to combine imported fonts, so if you imported 0-9, and A-Z, separately, you can tell the object that this is still one font.

    you can define an offset if you want them to be spaced closer or further than the borders of each sprite when you type

    the other way to import the sprites for your font strip would be through the animation editor

    you have a directory with one sprite per character, import those into the frames, call the action as above, except you wouldn't specify x and y values for an imported animation.

    with this method you could have vastly different sizes for each character. you will be able to specify the spacing with an imagepoint to override the spacing that you set. Also, you should be able to set the spacing at the borders of the sprites,

    or from the hotspot, so you can easily make cursive or graffiti style fonts that overlap uniformly

    you will be able to set the size, of course, (and rescale it nonuniformly, to squash or stretch the "fonts") and the angle. as well as whether text is centered, left, or right justified. I will try to make the first version realtime editable, so a player can type in their name for instance, and it will appear as they type, along with backspace. This will take longer than the other features, though, so it may come later. Another thing I'd like to have is being able to set the width of the typing space, so you can have automatic word wrap...

    anyway, when it's all ready and done, you use the TextBlit Action "Hello, World" at 40,500,200

    and it would type it to screen with your bitmaps instead at xy 40,500, and at zdepth 200

    please feel free to make suggestions, especially if you have a good idea to streamline the way you set what sprites you want for fonts. Don't worry about how it will work, or if it can work, just tell me what would be easiest

    Also, I'm trying to develop any plugin I can to add general functionality to Construct. Like the Custom Keys plugin, this is a feature that can be used by almost anyone, and is used in a large number of polished titles. If you can think of any type of basic useful functionality you'd like to see in construct, that is not already planned by the devs, and is generally useful to anyone trying to make a finished game, please suggest it here. As a disclaimer, I will say, I can't do things like make an online plugin. Think of things you can already do with construct, but would take forever, and cause you to have to slow down the breakneck pace that Construct usually let's you develop in

    I will be developing plugins to fill those gaps.

    Edit: Mods and Devs, please let me know if this is the wrong forum to post this. Plugins forum is mostly frequented by plugin devs, and aspiring plugin devs, and I wasn't sure if

    Feature requests: Suggest and discuss specific additions to Construct and to plugins

    would be appropriate. I want make this a complete and useful plugin, for as many users as possible, but I don't want to impose, botlike, upon the wrong forum, because there will probably be a handful of plugins in the Useful Series.

  • I didn't even know this was possible. Is it on high end ATI cards too?

    I believe Nvidia will be releasing the specs, and allowing other card manufacturers to use it as well. Also, ATI's high-end cards have GPU accelerated Havoc physics- Valve's physics engine, which is used in alot of games

  • When Construct 9.4 arrives, there will be another version of the plugin made that will allow you to control built in behaviors, and add Xbox360 controller support

    Good work . A lot of people should like the XBOX 360 controller stuff.

    Looks pretty sweet

    Thanks guys. My mistake, though, I didn't mean I'd be adding the 360 support itself. I can't take credit for that, that was David. The 360 controller support is going to be built into construct as a new behavior in the next build. What I will be adding is the ability to change, save, and load your 360 controller key configs at runtime.

    How difficult would it be to get/set the button presses for other kinds of game pads?

    In chat, David mentioned that completing the XInput plugin meant a DirectInput plugin should also possible. And indeed, Xinput is supposed to be like a new Directinput, so I would think it wouldn't be too much more trouble to add DirectInput. (Xinput=360 controller, DirectInput=Everything Else) I think it only makes sense to add it, , then construct's controller capabilities will be very well rounded. Hopefully, we're all on the same page . And of course, if a DirectInput plugin is released, I will upgrade this plugin accordingly.

  • Working on New Custom Controls Plugin to work automatically with built in behaviors, and also to work through built in control system with no Add Controls action and also, to work with xbox360 controllers also, controls set through plugin will not have 360 controller left right up down glitch should be out by the end of Aug

    download EXE sample here!

    click on a control (Left Mouse Button) to override it. the next key pressed will be set to that control

    try saving a control scheme and saving it. Loading your control scheme off the hard drive is instantaneous!

      Features:
    • Set up to 100 different controls for up to 10 players (total of 1000 controls)
    • Allow players to change keys at runtime
    • Save keys to a file and load them to individual players
    • Saves key config files not easily readable in a text editor
    • Now easy and intuitive to use, with no strange hacky wackiness!

    you no longer need to do "Use Expression" on "MouseKeyboard", or set up "for" loops. Everything related to your custom controls has a simple action or condition.

    download plugin and example cap here

    Actions:

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/CustomKeys/Capture1.PNG">

    Conditions:

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/CustomKeys/Capture2.PNG">

    tutorial:

    • Add controls to your game using the Add Control action
    • Arm controls when you want to set them, using the Arm Control action
    • The Set Armed Control condition will set the next pressed key to the armed control, if you have any armed.
    • On Control Pressed, Control is Down, and On Control Released are now built in, and are self explanatory.
    • You can save or load key configs, with the Save Key Config and Load Key Config actions, also, self explanatory.
    • You can display set Keys with the GetControlString expression Set Text to GetControlString("jump",1) would set text to "Space" if Player 1 had set the space bar as their jump button
    • You can change the default string (from "Space" to "Space Bar" for instance) with the Change Display String action
  • I don't have much experience doing freelance

    I was only going to do it if it wasn't too much trouble

    so I was going to let you set the price

  • thanks!

    this is not THE plugin btw, if you're wondering

    that's still a whiles away

  • You are free to download and play with it

    especially the exe, since it's no trouble to test out

    but this plugin will soon be obselete,

    I am making a version without as much awkwardness, that also let's you save and use xbox360 controls,

    the xbox360 pad support is not the part I'm making, david just made a new xbox360 plugin, I'm just making it so you can save the controls

  • What exactly are you looking for? It to Fill up with white space when you change the height and or width?

    if so, then create a new larger canvas, and paste the old canvas onto it, then erase the old canvas

  • here's a 98 version for those who don't have 99 installed:

    download cap here

  • depending on how much you know about displacement, this may or may not make sense

    let me know if you need help understanding what I did

    the tiles are drag droppable:

    download cap here

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/tiles2.PNG">

    one event

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/tiles.PNG">

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/tiles3.PNG">

  • ok, sorry grim

    I took a look at some of the source, and the learning process is a little more involved than I can do at the moment.

    hope you find someone though. To be honest, there aren't that many plugin makers here, so I'd advise trying other messageboards as well, if you're serious about hiring a programmer

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • can you give me an example file, and what the plugin would be reading from it?

  • hi all

    I've created a Custom Controls plugin you can use for your games. To begin with, I will state that unfortunately, this does not work with built-in behaviors, but only for your own control and movement.

    Now on to the good news...

      Features:
    • Set up to 100 different controls for up to 10 players (total of 1000 controls)
    • Allow players to change keys at runtime
    • Save keys to a file and load them to individual players
    • Saves key config files not easily readable in a text editor

    Now, before you try to use it, please read the tutorial below.

    download the plugin here

    Download an example exe here

    • click the text of the control setting you want to modify (i.e. Left Mouse Button)
    • if you change the controls after clicking Save, clicking Load instantaneously loads your saved keys and sets them.

    Download the example cap here

    (saved in .99)

    (the tutorial below will help you to understand what you're looking at)

    first I will list the actions and expressions, and then explain how they are all used.

      Actions:
    • New Control (makes a new control for your game, such as "jump", or "move right". creates the control for all players)
    • Set Key (sets a key to your control)
    • Save Key Config (saves a key config to a file)
    • Load Key Config (loads a key config from a file)
    • Change Display String (allows you to change the default text to represent keys, like "F-12" instead of "F12", so you can decide what the player sees on your key config menu
      Expressions:
    • Get Control (Let's you check if the player is pressing one of their set controls)
    • Get Control String (Returns a string with the name of the key set to a certain control, like "Tab", or "Left mouse button")

    on to the tutorial:

    first unrar the plugins into construct's plugin directory. one will go directly into \plugins, the other will go into \plugins\runtime

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/1ChooseObjects.PNG">

    1.when you open your construct project. add both the Custom Keys Object and the Mouse/Keyboard Object

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/2AddControls.PNG">

    2.At start of layout, add any controls you want in your game using the AddControl action in Custom Keys

    3.In your game, you make your control editor menu. Decide when you want the player to press the key he is customizing.

    Now this part might seem a little weird, but don't let it confuse you. you do the same exact thing every time, and after the next step, it all becomes very intuitive.

    Add a System Condition : For, and set it up as displayed below; just set the "end" number to 89. I will explain the reasoning for this in the next step

    (I know some screenshots show 1 to 89, but it should be 0 - 89, you leave the 0 alone. Will retake screenshots later)

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/whatitwilllooklike1.png">

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/Capture.PNG">

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/3AddSystemForLoop.PNG">

    4.Next you add a subevent, Mouse/Keyboard : On Key Pressed,

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/whatitwilllooklike2.png">

    instead of choosing a key from the list:

    right click the word key just above the list of choices and select use expression.

    for the expression, simply type loopindex

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/4OnKeyPressed.PNG">

    the reason you are doing this is because the system:for loop is having the mouse/keyboard function check whether the player pressed any of the 90 possible keys.

    loopindex is the current key it's checking

    5.Now you can set the keys by adding the CustomControls : Set Key action:

    • choose one of the controls you added in the start of layout,
    • choose a player to set it to,
    • and always type loopindex for the key to set to. remember, loopindex is the key that you actually pressed.

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/5SetControls.PNG">

    it will be easy to read in the event sheet which key was set and when:

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/whatitwilllooklike3.png">

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/6OnCustomKeyPressed.PNG">

    6.Now for the fun part - where you're making the character move with your new controls.

    You add a mouse/keyboard : "On key pressed", or "key is down" condition,

    but instead of choosing a key from the drop down list.

    Right click the word key just above the list of choices and select use expression. Now double click the custom keys icon to bring up the expression list:

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/7OnCustomKeyPressed.PNG">

    7.The first parameter is the name of the control, the second parameter is the player number. So the condition in the screenshot above would trigger anytime player 1 pressed the "jump" key

    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/8GetControlString.PNG">

    8.You may have noticed in step 6, there is another expression for Custom Keys --- Get Control String. This is to show the player what key they have set.

    ControlString(name of control, player number) [/code:1ji99rbx]
    If player 1 would have set [b]jump[/b] to be the [b]Left mouse button[/b], then the action in the screenshot above would set [b]Text[/b] to [b]"Left mouse button"[/b].  
    
    But what if you wanted the text to say [b]"Mouse1"[/b], or [b]"LEFT MOUSE BUTTON"[/b], or [b]"lft ms btn"[/b]?
    fortunately there is an action for that as well:
    
    [b]change display string[/b]
    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/9ChangeDisplayString.PNG">
    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/10ChangeDisplayString.PNG">
    9.[b]Change display string[/b] allows you to override the default string output for keys you get from the [b]Get Control String[/b] expression.  First choose the key you want to override the string for, and then, input whatever string you wish.
    
    <img src="http://dl.getdropbox.com/u/1013446/New%20Folder/11SaveKeyConfig.PNG">
    10.And last, but certainly not least, there are the [b]SaveKeyConfig[/b], and [b]LoadKeyConfig[/b] actions.
    Simply select a filename, and which player you want to save the keys from, or load the keys to.  You can choose whatever file extension you wish, and the saved file is purposefully not easily readable in a text file.  The start directory is the directory your game exe is in.  
    
    If you want to save a default key configuration, make your cap with your own key configuration menu.  Make the cap save to [b]"default.keys"[/b] (for instance),  then set the keys and save the cap, then change the cap so it no longer saves to [b]"default.keys"[/b], and make it load those keys whenever a user clicks a Set to Default button , and save new key configs to [b]"user.keys"[/b](or whatever).  You can also setup several preset control schemes this way by saving several files [b]"Control Scheme A"[/b], [b]"WSAD walk"[/b], etc.
    
    Have fun, please feel free to ask questions, and make suggestions.  This plugin is free to use for whatever purposes you wish.  I hope you find it useful