Piko3D

Script bindings done!

April 24th, 2011

Hey everyone!

The Revision demo party has proven to be a great opportunity to get some coding done!
I’ve basically finished the script bindings for the existing classes!

Aside from that I worked on delegates and a timer class for script.
It is now possible to create timers in angelscript, and attach delegates to them that call script functions when the timer fires.
The timers can be set to loop, or can be stopped, paused or resumed. This makes the timers very useful for timing periodic or occasional events!

The delegates are used to attach event handlers to the timers, but can be used to attach event handlers to anything that is observable, like objects, resources, or entities. This means that an object can be monitored for instance, and a script function can be called either when it moves, or when it is destroyed.
Delegates can store arguments that can be passed to a script function when it fires for easy customization   Delegates will also play a major part in the input handling/notification system, as they can be used by the control class internally to bind script functions to key presses etc.

Neat! :D

Well that’s it for now.
I think I’ve made some good progress.
Going to sleep now ;-)

Till next time !

Wracky.

Piko3D at Revision demo party :P

April 22nd, 2011

Hey people!

I’m currently at the Revision demo party (http://www.revision-party.net/)!
Sadly, we don’t have anything to show yet.. We want a decent renderer before we attempt a demo ;P

But lots of opportunity and time to code on Piko3D and watch awesome demos of other people. Perhaps to get us inspired :P

Cya!

Wracky.

Delays due to Dragonage 2! :P

March 31st, 2011

Hey peeps! Just a heads up!
You know making script bindings, is kinda boring, which brings me to giving you this tip: If you want to create script bindings for your application, START EARLY!  Creating a script binding in angelscript for a function or a member is really not a lot of work. So everytime you add a class or a function, just add the script binding, and you’re done!

If you do it afterwards, it can be a long and tedious task… well really only very long and tedious because companies keep making awesome games that I find more interesting than script bindings at the moment :P Like dragonage 2! oh and aside from that I’m also playing starcraft 2 every now and again, and I’ve just finished Gray Matter. If you are a fan of adventure games, go buy and go play! It’s one of the best I’ve seen in a LONG time.

I’m now completing resource bindings, so models, meshes, textures, materials and such. And because Piko3D uses smart pointers internally, I have to make some wrapper functions for these babies in some cases. We did something pretty awesome though. Piko3D’s smartpointers now use a generic data/refcounting structure, that we can bind directly in angelscript! so passing object handles from script to the engine and back can be done fairly safely, since ownership is always accounted for! And the fun part is that the smartpointers can still work with unreffed classes and structures to, so it remains generic! AWESOME! :D  (Oh and thank you Andreas (angelcode) for Autohandles ;-) , they are very nice for certain cases)

Well! That’s it for now!

Keep ya posted.

Wracky

P.S. Yes that Angelscript guide is coming… promise.  (but first! portal 2! woooey!)

More Scripting, Rendering and physics! (progress update)

February 18th, 2011

Hey everyone!

Here’s another little heads up on Piko3D development and what we’re doing with our spare time ;-)
I’m currently still working on the angelscript bindings for the classes we we have so far.  That’s physics, Basic rendering, and resource management, and scene management. Angelscript lets you register your application’s String type, which I recently finished. It works really well! After I’m done with this, I’ll do a little tutorial section about things to look at when you want to implement Angelscript in your engine, so stay tuned for that.

Yesterday, Seriva and I sat together to make a design for Piko3D ‘s rendering system. We had some basic classes that are going to be used for vertex buffers, textures, render targets, and what not, but not a decent structure yet for glueing it all together.  The design is now roughly finished, and we can start implementing it. Hope we can show you some neat renders soon! (it’ll probably take some time still though ;-) ) also, since games are already coming out with DirectX 11 and tesselation, we’ve decided to up the spec from OpenGL 3.2 to OpenGL 4.1. This does not mean Piko3D will only be OpenGL 4.1 compatible, but it will be our top priority to get that to work first.

Paramike has made great progress with mulithreading the ODE physics engine. I hope we get the chance to submit our patch to the ODE repository so mulithreading will become easier for all people interested in using ODE for their project.
Collision testing is already multithreaded in piko3d, and paramike was now working on threading the simulation steps and its going really well so far.

Well! That’s it for now!

Hope we can make a new video or have some cool screenshots for you soon.
Till next time!

Wracky.

Multithreading and scriptbindings (progress update)

January 3rd, 2011

Hello everyone!

First of all, happy new year to everybody! The Piko3D team have been partying ofcourse ;) but we also did some Pikoding!

Wracky is busy writing scriptbindings for AngelScript. We chose to write the bindings ourselves instead of creating or using a bindingscreator for maximum control. It may be tedious work, but adding functionality after creating the initial bindings is trivial.

I implemented a threadpool with job scheduling and started distributing scene queries and physics collisions over multiple cores. Next up is the multithreading of physics simulations, but this requires some changes in ODE which may take some time. Since I’ve bought an i7 laptop recently, it’s fun to see 8 cores at work :D

Expect more progress and perhaps a tutorial soon!

Paramike

« Newer PostsOlder Posts »

Creative Commons License
This work by piko3d.net is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License
Powered by WordPress