This one flew under the radar... at least for me.
While working on the audio in our game... I noticed that audio sources increased in pitch as I moved toward them... yes, it's the doppler effect in action.
What an awesome engine. :-)
Monday, November 23, 2009
Wednesday, November 18, 2009
A Geek Lounge?
After chatting briefly with chrism (who is now back in Perth, w00T!) we lamented the lack of a good place for Geeks to meet up in Perth, and hack on game code, art, music whatever. Perhaps something like the Linux Caffe in Toronto.
Who owns a cafe that we can hijack? :-)
Any other ideas?
Who owns a cafe that we can hijack? :-)
Any other ideas?
Monday, November 16, 2009
Go vs Stackless
Andrew Dalke compares Go and Stackless Python and gets some very interesting results.
I'd like to see answers to some of the questions he raises.
Why indeed? Please answer us Google Engineers!
Update:
Just for fun, I ran the benchmarks myself, and added a benchmark for Fibra, because I wrote it, and I know that it is pretty slow. :-)
Go...
Stackless...
Fibra...
This is the Fibra benchmark code. It's almost the same as the Stackless example, except for the ugly "yield" statements.
The results are: Stackless fast, Go slow, Fibra... forget it.
I'd like to see answers to some of the questions he raises.
Why does Pike emphasize the performance of Go's goroutine creation and channel communication when it seems to be slower than Stackless and definitely is not an order of magnitude faster?
Why indeed? Please answer us Google Engineers!
Update:
Just for fun, I ran the benchmarks myself, and added a benchmark for Fibra, because I wrote it, and I know that it is pretty slow. :-)
Go...
wdgt:tmp simon$ time ./6.out
100000
real 0m1.147s
user 0m0.646s
sys 0m0.491s
Stackless...
wdgt:tmp simon$ time python sgo.py
100000
real 0m0.532s
user 0m0.448s
sys 0m0.080s
Fibra...
wdgt:tmp simon$ time python fgo.py
100000
real 0m4.054s
user 0m3.883s
sys 0m0.153s
This is the Fibra benchmark code. It's almost the same as the Stackless example, except for the ugly "yield" statements.
import fibra
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-n", type="int", dest="num_tasklets", help="how many", default=100000)
def f(left, right):
x = yield right.pop()
yield left.push(x+1)
def main():
options, args = parser.parse_args()
leftmost = fibra.Tube()
left, right = None, leftmost
for i in xrange(options.num_tasklets):
left, right = right, fibra.Tube()
schedule.install(f(left, right))
yield right.push(0)
x = yield leftmost.pop()
print x
schedule = fibra.schedule()
schedule.install(main())
schedule.run()
The results are: Stackless fast, Go slow, Fibra... forget it.
Thursday, November 12, 2009
Python 3, is it doomed?
Why would I ask that question?
Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages in the package index shop for Python 3. It seems there just isn't a demand for Python 3 libraries.
Google have released a new language, even though they hired the BDFL, and started the Unladen Swallow project (which coincidentally, does not target Python 3). Why?
Finally, despite my best efforts to move a project across to Python 3 from Python 2.6, I've been sabotaged by undocumented differences in the behaviour of the select module. I've decided to move back to 2.6 for the time being, rather than change code which has worked for a long time. Who knows what else might come out of the woodwork to raise strange exceptions in the middle of the night?
I think Python 3 suffers from attempting to be compatible with Python 2. It should have been a clean break with major repairs and reconstruction, as the original Python 3000 was intended to be. Hang the expense, let's make this language _right_, and Python 2 be damned.
Is it too late to remedy this situation?
Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages in the package index shop for Python 3. It seems there just isn't a demand for Python 3 libraries.
Google have released a new language, even though they hired the BDFL, and started the Unladen Swallow project (which coincidentally, does not target Python 3). Why?
Finally, despite my best efforts to move a project across to Python 3 from Python 2.6, I've been sabotaged by undocumented differences in the behaviour of the select module. I've decided to move back to 2.6 for the time being, rather than change code which has worked for a long time. Who knows what else might come out of the woodwork to raise strange exceptions in the middle of the night?
I think Python 3 suffers from attempting to be compatible with Python 2. It should have been a clean break with major repairs and reconstruction, as the original Python 3000 was intended to be. Hang the expense, let's make this language _right_, and Python 2 be damned.
Is it too late to remedy this situation?
Wednesday, November 11, 2009
GameRanger - Perth Game Company
I just found out about (via a random google search) GameRanger, a company based in Perth that builds software which seems similar to GameSpy. It appears that they are willing to work with developers too. Cool.
Unity3D 2.6 - now with builtin profiler.
I am very impressed with the new profiler that comes with Unity3D. It is very simple to use and is so easy to understand, that even I can use it!
In 20 literal minutes, I've been able to optimise my current project from 14 fps to 60 fps. Excellent! Here is a general performance tip I've come to appreciate:
- Don't use dynamic scaling of meshes to produce animation. It triggers a mesh rebuild and sucks your CPU cycles. If you really must change the scale property of a mesh, don't do it every frame!
In 20 literal minutes, I've been able to optimise my current project from 14 fps to 60 fps. Excellent! Here is a general performance tip I've come to appreciate:
- Don't use dynamic scaling of meshes to produce animation. It triggers a mesh rebuild and sucks your CPU cycles. If you really must change the scale property of a mesh, don't do it every frame!
Sunday, November 08, 2009
A Huge GameJam Poster!
I'm upgrading GameJam.org to be more aesthetically pleasing to the eye... and to be more usable too!
While looking at the hundreds of screenshots and avatar images, I had a Great Idea. Make a big mosaic poster!
I've uploaded a HUGE image (58 MB) for anyone interested.
The GameJam.org changes include a reduction of features, to a core set of tools. All the extra fluff is being removed. The login system is also changing to OpenID. More on this soon.
Friday, November 06, 2009
Unity becomes free, Unreal follows lead.
Hot on the heels of the UT announcement of a free version of Unity 3D,
Unreal just released a free set of game tools.
I can't help but think that this is a knee jerk reaction, and really shows that Unreal is feeling very threatened by Unity 3D.
Unreal just released a free set of game tools.
I can't help but think that this is a knee jerk reaction, and really shows that Unreal is feeling very threatened by Unity 3D.
Wednesday, November 04, 2009
Forward thinking from Radiohead.
Radiohead is Braindead
Let's throttle the internet to stop file sharing. Great Idea. While we're at it, lets stop road accidents by limiting highways to one lane at 20kph. Excellent thinking.
Let's throttle the internet to stop file sharing. Great Idea. While we're at it, lets stop road accidents by limiting highways to one lane at 20kph. Excellent thinking.
Subscribe to:
Posts (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
MiddleMan: A Pub/Sub and Request/Response server in Go. This is my first Go project. It is a rewrite of an existing Python server, based o...
-
Why would I ask that question? Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages i...
-
It is about 8 degrees C this morning. So cold, especially when last week we had high twenties. To help solve the problem, a friend suggeste...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
I'm now using bzr instead of svn. I'm pushing my repositories to: http://exactlysimilar.org/bzr/ I'm also auto publishing docume...
-
Possibly slightly more correct lighting. The rim light is now only applied in the direction of the sun, rather than being purely based on vi...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...