tulamide's Recent Forum Activity

  • I haven't actually tested it, but you can get every processes name and id through expressions, so it shouldn't be a problem to kill a process by name. For example, by using a hash table.

    + Process: For each process

    -> HashTable: Insert key Process.GetProcessName with value Process.GetProcessID

    You'd then kill the process via the name

    -> Process: Kill process HashTable("thenameoftheprocess")

  • The binary system is nothing more than an ancient relic. The first computer were mechanical machines (like the ones of Blaire Pascal). It was needed a way to represent the decimal system through simple mechanical switches. Earliest tries to work with only two numbers are found in india and china, and later scientists built upon this. The breakthrough for mordern computer was George Boole (you all know a "boolean", right?^^)

    So we are using computer that use a very old technique. But we are not at the end. There are ideas for totally different functioning computer in many disciplines. Have a look at

    Photonics

    Quantum computer

    DNA computer

    Lately a group of scientists were able to store a short video in a light cube. Others stopped light to zero speed and beamed it to another transistor. Light might be the next step, because qubits and dna are to complex right now. But the quantum computer comes closest to your multidimensional approach, I'd say.

  • I wasn't sure to which category it fits best, so I post it here. Mods, please move if wrong here.

    A friend of mine runs a company for voice recording/audio/music services. They also offer limited free services for low- or no-budget productions.

    Teampage with voice examples: http://tomkylesoundproduction.de/sites/team.php

    Homepage: http://tomkylesoundproduction.de

    Click on the appropiate flag to switch between english and german on-screen text.

    Just thought it could be of interest for those in need of short dialogues, a narrator, background chatter, etc.

  • I'm a big Fruity fan but I couldn't get your plugin to work. I put it in the Fruity/Generator folder (after unzipping it), but I don't know how to insert it in the pattern editor. Do you mean the step sequencer or piano roll? When I insert it in the step sequencer, I get an error saying it can't install the plugin. Any clues?

    I'm running Fruity 10 on WIndows 64-bit.

    I'm sorry for the confusion. Yes, I meant the step sequencer.

    With regard to the error message, try the following:

    (You might need to first get the plugin from the list by moving it out of the FL Studio plugin folder and then refreshing the list as described below)

    1) Navigate to ...\Image-Line\FL Studio\Plugins\Fruity\Generators

    2) Create a folder named exactly as the plugin, but without the extension. If you didn't rename the plugin yet, name the folder "tulamide ANG"

    3) Place the plugin inside this folder (so that the plugin "tulamide ANG.dll" is inside the folder "tulamide ANG")

    Now in FL Studio do the following:

    1) Select the menu Channels>Add one>More

    2) In the plugin window click on "Refresh" and select "Fast Scan"

    3) Select tulamide ANG

    This should work (the plugins must be in their own folders, that's a restriction by FL Studio). If so, I'll make sure future synths will be in its folder instead of the dll alone when offering them for dl.

  • I was afraid so... But thank you for the quick answer, newt. At least I know it isn't me doing something wrong.

  • Hi,

    am I just too stupid, or does setting an initial color for the color dialog have no effect?

    I have a sprite whose color filter is set from the color picker in the usual way (=delayed by one tick). It works fine. But if a try to set the initial color to the current color filter of the sprite, it fails and always shows standard black. It doesn't matter if the call to open the dialog is delayed, or how long it is delayed. Black is the only initial color that shows up.

  • FormatDecimal, as ROJO showed in his example and can be seen in the wizard, outputs a string, not a number. There's no need to convert a number using FormatDecimal into a string and then keep on calculating with it. Just calculate with the number itself, not its human readable text form.

    btw, it isn't that hard to read. 2.68e-002 just means: shift the number 2.68 two decimal places to the right (2.68->0.268->0.0268)

    It's the same with everything else. 2.68e-003 = shift 3 decimal places to the right = 0.00268, etc.

    There's also the other way round. 1.5e+003 would mean, shift the number three decimal places to the left = 1500

  • Any FL Studio users among us? I had a look at it, but don't like it much (reminds me too much on the old tracker era). Anyway, one thing that is really interesting is one special plugin. It is FL Synthmaker, a slightly stripped down FL Studio version of Synthmaker.

    I must say, I instantly fell in love with it. The way, how the flow and the math is represented makes it so easy to understand and work out really complex things.

    It is also a good tool for learning purposes. Just a very simple example, a self-made clamp module:

    <img src="http://dl.dropbox.com/u/11182740/construct/clamp01.png" border="0">

    All inputs are on the left, all outputs on the right, that's consistent throughout SM. This example is equivalent to

    Clamped Value = clamp(Value, min, max)

    Now let's look inside the module:

    <img src="http://dl.dropbox.com/u/11182740/construct/clamp02.png" border="0">

    The first primitive (the one with the little m) is the min-primitive. It takes two inputs and sends the smallest of them both to the output. The inputs are connected with "Value" and "max". The output is connected with the max-primitive (the one with the capitalized M), that compares two inputs and sends the greater of them both to the output. The second input is connected to "min", and the output gets sent to the module output "Clamped Value".

    In this example, the flow is as follows: The first primitive compares 1 and 8 (value and max) and sends 1 (the smaller one) to the output. The second primitive now compares 1 and 2 (output and min) and sends 2 (the greater one) to the output. It's that easy, programming visualized in very intuitive way.

    Well, sorry for the lesson, I wanted to post something else. I worked a while with SM and created something that I think is quite useful. My ambient noise generator works with a ultra low frequency oscillator fed by brown noise, then sent through a series of effects, with all components modulated and fine-tuned to give the best possible results. Even the GUI is hand crafted, built with primitives to have it all vector based.

    <img src="http://dl.dropbox.com/u/11182740/construct/ANG.png" border="0">

    ANG is straight forward, you don't even need to play a note. Add it to your FL plugin/generator folder (not VST!), then insert it in the pattern editor. Open it and switch it on, select the ambiences or change the gain. You will see that it is realtime generated, no repetitions or loops. You can literally listen hours to it, feels very natural.

    There are a few issues, but I didn't want to wait any longer. Be careful when switching it on for the first time, as it may produce a click sound close to 0 dB. Loudspeaker or headphones should be turned down to a reasonable volume. Also, the ambiences are at different signal strengths, don't gain too much when you intend to still switch a lot between them. And finally, there is an error that shows a filled rectangle on the area (instead of lighting just the buttons) of the ambience buttons, when you click them.

    Here you are: ambient noise generator

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Is there a way to compare private variables of different objects?There are several ways of doing this. Without knowing the purpose it is hard to tell which one is the preferable.

    (objA and objB being two different sprites with a pv named "someVar" each)

    1) You can use the "compare"-conditon of the system object:

    + System: objA ('someVar') Equal to objB ('someVar')

    This will result to true or false but will not pick anything.

    2) You may also use the "evaluate"-condition of the system object:

    + System: objA ('someVar') = objB ('someVar')

    An evaluation is a calculation that results to either true or false (e.g. objA('someVar') + 12 > objB('someVar') * 2). This will also pick nothing.

    3) Another way is using the sprite's "pick by comparison"-condition:

    + objA: Pick by 'someVar' Equal to objB ('someVar')

    This will pick all instances of objA that match the pv of the first instance of objB

    4) Also, there's a "pick by evaluation"-condition:

    + objA: Pick by 'someVar' = objB ('someVar')

    Again, this picks all instances of objA that match the pv of the first instance of objB

    Use the evaluation conditions whenever the comparison is more complex than a simple compare.

    Have a look at the wiki, it is full of descriptions, tricks, and other useful stuff :)

  • Just a remainder, the competition ends on June 30, but to participate you have to register your game for the competition until May 15, which is only one month left.

    This should be an ideal proof of the capabilities of C2, and I've already seen a few games that compete in graphics and physics. No social/multiplayer games in the making?

  • I talked about the issue with the or-condition before. Although I agree that it is most of the time preferable to avoid it, you can still use it if you know of the issue that is causing those problems, and avoid it.

    My skills in C++ are too low to find and correct the code, but this is what happens:

    Why using or seems to fail often

    In short, it can output wrong results and it needs a couple of ticks to evaluate. Both combined can lead to other issues which may finally crash the app.

  • The reason for this is that any sound file is only attached to a channel as long as it is playing.

    Instead of loading the sound at start of layout just load it at mouseclick. Sound files are cached, so you will not have delays on subsequent loads. If you are afraid of a delayed play when it is loaded the first time, you can additionally cache the file manually.

    + Start of layout

    -> Cache file (or cache directory, if you want to cache more than one file)

    + On mouse click

    -> XAudio: Load file "AppPath" & "pistolfire.ogg" to Channel 2 (No Loop)

    -> XAudio: Play Channel 2

tulamide's avatar

tulamide

Member since 11 Sep, 2009

Twitter
tulamide has 3 followers

Trophy Case

  • 15-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

17/44
How to earn trophies