Show Posts
|
|
Pages: 1 ... 5 6 [7] 8 9 ... 92
|
|
122
|
Developer / Technical / Re: Entity-Component model framework dependency help
|
on: May 19, 2013, 12:49:45 PM
|
|
I ran into this problem and implemented a very simple solution that wouldn't require any managers -- simply require that the dependent component be constructed with its dependency as an argument. My entity system doesn't even have any functionality for finding a component of a given type -- all those references are set as the components (I prefer "aspects") are constructed, and can generally be assumed to live for as long as the entity.
The main disadvantage of this approach is that we may wish to nullify the reference if the dependency is dropped from the entity -- a weak pointer satisfies this. I haven't had any need of such behavior as yet, though, so I haven't bothered.
|
|
|
|
|
123
|
Community / Tutorials / Re: Audio Processing C#
|
on: May 18, 2013, 09:54:14 PM
|
|
You'd want to display samplings of an envelope for time domain, and DFT samplings for frequency domain.
...and yeah, I need to finish the docs. That's the only reason I haven't posted the new version yet.
|
|
|
|
|
124
|
Hidden / Unpaid Work / Re: voxel game
|
on: May 18, 2013, 05:04:59 PM
|
|
You should probably explain what you have to contribute to the team. If you don't program, make art, sound or music... suffice it to say you've shown no worthy insights as a game designer or marketer here.
|
|
|
|
|
125
|
Developer / Technical / Re: Two-way pseudo-random number generation?
|
on: May 18, 2013, 08:35:26 AM
|
I believe it's generally impossible to reverse a linear congruential generator. The reason for this is that for any desirable values of a, c and m, it will be possible for multiple x to change to the same x'. For this not to be the case, you would need to find values for these variables which result in a cycle of values of size m. Unless you're content with c=1, that's a difficult or impossible problem... Seriously, just try any of these hash algorithms on integer (X, Y) values. You won't be disappointed, and it will likely outperform your proposed solution. EDIT: found an article on full cycles in PRNGs. Don't take that to mean this is a practical approach, though... The presented approach is to set c to 1 and have coprime values of a and m, which isn't very random at all.
|
|
|
|
|
126
|
Developer / Technical / Re: Two-way pseudo-random number generation?
|
on: May 17, 2013, 09:56:36 AM
|
What I was getting at in my last post is that for any given random generator this function: int deterministicRand(int i) { srand(i); return rand(i); } Is really nothing but a slow, potentially poor-quality hashing algorithm. There's no need to involve a sequential, state-based pseudorandom number algorithm here.
|
|
|
|
|
127
|
Developer / Technical / Re: Two-way pseudo-random number generation?
|
on: May 16, 2013, 09:34:39 PM
|
|
Hmmm... I'm gonna say a good hashing algorithm applied to an arbitrary number is better. As a means of generating a random deterministic value for coordinate P, its complexity is O(1) rather than O(|P|). A random number generator can be turned into a crude hashing algorithm by reseeding it with each query, but that's a little wasteful for something like a Mersenne Twister which uses a lot of state data.
Still, I'd rather have my question answered by the OP, as there could be more interesting applications I'm not aware of.
|
|
|
|
|
128
|
Developer / Technical / Re: Two-way pseudo-random number generation?
|
on: May 16, 2013, 07:21:07 PM
|
|
I'm going to say the general techniques for designing pseudorandom numbers make this unlikely... But I'm not an expert and unqualified to make such a judgment. The better question is what possible use you have for this sort of behavior.
|
|
|
|
|
129
|
Community / Tutorials / Re: Audio Processing C#
|
on: May 14, 2013, 10:11:14 PM
|
|
Haha, the update would actually make basic voice control pretty easy. Split the microphone input up, bandpass out the different frequencies you want to detect, extract envelopes, and check the envelope values in the game thread each frame. A weird idiom my system has is that when you want to analyze data, you play the stream doing the analysis at volume 0...
[/nerd]
|
|
|
|
|
130
|
Community / Tutorials / Re: Audio Processing C#
|
on: May 14, 2013, 12:28:27 PM
|
|
Less a "small world" thing and more a "nobody in games is doing audio DSP" thing. In the long run I'd like to try and change that.
|
|
|
|
|
133
|
Community / Tutorials / Re: Audio Processing C#
|
on: May 14, 2013, 09:30:19 AM
|
The audio library he mentions is my project, and I'll be releasing an update very soon for reasons related to one of my contracts. Check the link in my signature. Documentation isn't very far along yet (check the sneak peek) but it's quite possible to develop your own extensions to the library as long as you follow the rules. Use the existing effects (pitch, amp, synths) as templates.
|
|
|
|
|
134
|
Developer / Technical / Re: Newbie Questions, mainly about language
|
on: May 14, 2013, 07:13:07 AM
|
|
I'll urge you toward C#, since a lot of the same idioms apply and you can get away from Java's tight restrictions. Particularly, many gaming platforms which are closed to Java are open to C#. I've heard good things about MonoGame.
|
|
|
|
|
135
|
Community / Tutorials / Re: Audio Processing C#
|
on: May 12, 2013, 02:51:18 PM
|
|
I could tell you a million things about how to do it in C++. In any case the starting point is to get a callback-based audio output API and some tools for lock-free transmission of data between threads.
From what I hear, audio callbacks can be extremely dangerous to use in garbage-collected systems like C#, so it may be that this isn't possible. Using queue-based systems (as may be necessary) will mean higher latency and possible glitches if the queue runs out, but otherwise you can synthesize as much as you like.
|
|
|
|
|
137
|
Developer / Technical / Re: Why LUA?
|
on: May 11, 2013, 01:54:00 PM
|
|
If you want a more C++-like language for scripting, try AngelScript. It's statically-typed and is among the fastest scripting languages available. Lua beats it in raw performance, but AS wins out in situations with frequent calls to bound functions, due to support for native calling conventions.
I mainly like that it's really easy to make the AngelScript API for my engine look similar to the C++ one. Lets me transition script code into engine code and vice versa.
|
|
|
|
|
138
|
Developer / Art / Re: Art
|
on: May 09, 2013, 03:25:09 PM
|
Jack, just go make a fuckin game like this already.
<3 <3 <3
|
|
|
|
|
139
|
Developer / Technical / Re: Is this a new method to do snake?
|
on: May 09, 2013, 09:23:10 AM
|
This method seems like overkill to me. It doesnt scale well at all. You should either keep a queue of segments and update the ends accordingly, or you could just start at the head and continue iterating over unprocessed neighbours that are part of the snake until all have been processed.
However, your technique might be a good method to use in a shader. Get the GPU to do all the work.
This post is making me giggle a lot. Scale to what? A giant, open world? 3000 snakes? An MMO? Someone please make these ridiculous-sounding games.
|
|
|
|
|