Author Archive

Basic ODE physics! (Video!)

Wednesday, December 9th, 2009

Piko3D ODE Physics test

Hey Everyone!

Paramike did a little work on piko3D’s physics implementation! We use the Open Dynamics Engine for Piko3D, as it gives a lot of control over the aspects of the physics simulation, is free, and open source!

So here’s the good news: Piko3D’s first video is up! It shows the first baby steps of the ODE physics implementation! It does collision! The code is still very rough, but we have visuals!!  This demo shows 800 0.5m^3 boxes colliding 20m away.

You can check out this video and upcoming videos on the Piko3D youtube channel which you can find here

Hope you like it!
Be sure to check back soon for updates 🙂

Regards,
Wracky.

Spanish traffic and a new member!

Tuesday, November 17th, 2009

Hey Everyone!

Just a little heads up for now!
I’ve been working on Angelscript again, and it’s still a tough read for me to get all the changes done in a proper way. The developer of Angelscript is also helping out. He’s been really helpful on the mail, and I hope that I can make the time to actually start using the functions I made so far. It looks good, but it’s still tricky for me to see how and where I need to add the new functionality 🙂

In other news: My LibPNG tutorial has been posted on a Spanish site about graphic programming (I believe :D) called codepixel !! I was surprised by a big spike in my web stats today from a lot of Spanish visitors from that site, so thanks for the linking me guys! And a big welcome to all new visitors 🙂

Last but not least, Seriva, friend and collegue of mine, is helping out with Piko3D! He’s helping me with a model loader for his own “awesome” model format, and he’s also quite the wizz with OpenGL 3.0 so he’ll be helping me out with the renderer and scene graph later on.

That’s it for now!
Thanks for reading!

Kind regards,

Wracky.

Piko3D’s first Texture support!

Monday, October 19th, 2009
Bishan Model by Bobby Kwakkernaat

Bishan Model by Bobby Kwakkernaat

Hey everyone!

A good month has passed since my last post! But I can assure you that I’m still alive and kicking, and so is Piko3D! I have been working on Angelscript for a bit as I explained in my last post. Witchlord had already committed some of my changes to the WIP version of angelscript, which you can find here. There’s still some work to do on that front, but I thought it was important to give my readers at Piko3D.com something nice to look at 😀

As some of you know, I wrote a tutorial on LibPNG and how I used it in Piko3D. Well I thought it was time to put  these images to use, and write support for texture loading! Loading a texture is not much work in itself, but I didn’t want a quick and dirty fix. I wanted something worthy of the dynamic lill 3D engine Piko3D is going to be. So I wrote a little setup for dynamically loading and unloading, as well as caching of textures, with a bit of management structure behind it that I can use to manage other GPU bound resources as well. Like shader programs, vertex array  buffers etc, in the future.

Piko3D doesn’t have much of a renderer yet… Everything you see in the screen shots is actually debug visualisation.  Piko3D will have at least an OpenGL ES 2.0 and OpenGL 3.0 (or 3.2) shader based render pipeline that I will start on later. It would sure be visually interesting,  but I think a solid base for it is important, and a 3D game engine is more then just the renderer 🙂  Because of this, the textured model renders are unlit.  I did get my hands on a nice 3D model named “Bishan”, created by Bobby Kwakkernaat from http://www.decentdesign.nl . This is at least a very nice piece of geometry you guys can feast your eyes on.

Well, I think I’ll be going back to working some more on Angelscript for now. I want to use that in Piko3D so I want to help to extend it a bit further to suit my own selfish desires ;P Oh and I have to feed my game addiction from time to time too…(Like with Brutal Legend and Uncharted at the moment :P)

Talk to you later!

Wracky.

Looking into Angelscript code.

Sunday, September 6th, 2009

Hey everyone,

Just a small update to let you know where my development time is going 😀

While working on bindings for Angelscript, I noticed that by default, AS doesn’t support binding of classes without default constructors.  I’ve posted this on the Angelcode forums at Gamedev, (you can find the post here) and WitchLord (The angelscript developer) told me that it should be entirely possible to write support for classes without the default constructor! SO i’ll be looking into that now!

I think Angelscript is an awesome script language to write in, so I really want to use this in Piko3D 😀 It’s light weight, extremely easy to implement, and offers great functionality in scripting, like static types, and script classes, which I really like. So I’ll see what I can do, and I hope I can get it to work with all the classes in Piko3D soon!

Keep ya posted!

Wracky.

Paramike joins Piko3D!

Saturday, September 5th, 2009

Hey everyone.

I asked paramike to help out with Piko3D, and he agreed! He’s going to help me implement the ODE physics library into Piko3D, aswell as some other misc programming. It’s great to have someone extra to talk about architecture in general, and of course it helps in making better progress aswell! ‘Cause I have to admit, as much as I love working in Piko3D, it’s still a whole lot of work!

So far, paramike has made a setup for memory management within piko3d. It’s now possible to, optionally, use a memory-pool structure in piko3D, and we will probably implement one later, to speed up memory allocation and reduce heap fragmentation. There’s a little tutorial about placement new operators, in the tutorial section, which talks a bit about memory management in mem-pools etc.

That’s it for now! I’m still hard at work on the Angelscript bindings generator, which seems to be coming along just fine.

Best regards,
Wracky.

Looking into Angelscript and Lua

Monday, August 17th, 2009

Hey Everyone,

Just a status update on what I’m doing with Piko3D at the moment. I’ve been over at the gamedev forums to talk to people about the pro’s and cons for implementing angelscript. By the looks of it, Angelscript seems to be a very clean, and technically interesting way to implement the scripting. The interface has it’s own quirks here and there, but every scripting engine has some specifics that you’ll have to deal with anyway.

As some of you may know, I work at www.kalydo.com during the day, and we use LUA at work for our games, so obviously I’ve looked into LUA aswel. LUA is also a bit cumbersome in some area’s but pretty straight forward in others. It seems to be less sophisticated then angelscript, which is a good and a bad thing at the same time. It’s probably easier to implement, but I figure a bit less safe to use. On the other hand, this also greatly depends on how you make the bindings.

Long story short: I can’t really decide! So i’ll probably do them both… My technical director over at www.kalydo.com gave me the source to our lua script bindings generator, and told me how to adapt it so that it can work for angelscript too! This would mean that I can make 1 simple generic way of specifying function bindings in my code, and generate glue-code/function registrations for Angelscript and Lua at the same time!

All that’s left than is to implement a Lua script engine, and an Angelscript script engine. As for now, I’ve started on the Angelscript sctriptengine implementation. I’ll set this up first, and then do a few tryouts to familiarize myself a bit more with angelscript and registering classes/functions.

After that I’ll be able to adapt our bindings creator so that it can also generate angelscipt and things should take of from there! 😀

Thanks for reading and I’ll keep you posted 🙂

Kind regards,
Wracky.

P.S. Kalydo is an online 3D games platform. If you are interested in writing your own games in lua using our kalydo engine and publish them online? Pop over to www.dreamcreateplay.com , download the free Game Development Kit and get right to it!

Update (30th August 2009) : Implementing Angelscript script engine was a breeze! Turns out however, that our BindingsGenerator has a lot more engine-specific code than I hoped for… so that’s gonna take some time to fix 😉

New Tutorial added: Placement new operator

Wednesday, July 15th, 2009

Added another tutorial today about the placement new operator.

You can find the tutorial in the tutorial section or click HERE

This is a more advanced c++ topic discussing how you can properly construct an object in a user allocated memory block. There’s a lot that you can do wrong here, so this is a topic for the more advanced C++ programmer. Enjoy.

First Tutorial is up!

Tuesday, July 14th, 2009

Tadaaa! My first every tutorial is up, and with this, I officially open Piko3D’s tutorial section!! 😀 There are more tutorials to come, but for now, you can check out my first tutorial on how to load PNG files from file streams using the more advanced functions in LibPNG. Go over to the Tutorial Page and have a look 😀

P.S. Looks like I need to put some time in fixing the CSS for these posts headers and footers 😀

First 3D model!

Monday, July 6th, 2009
3DS Tree Model

3DS Tree Model

Today, I did a bit of code cleanup. Things are starting to come around nicely. I also spend a little time to write a basic wireframe renderer to visualize some models. Well it turned out that the 3DS model loader works quite nicely so far 😀 It’s still a bit basic and rough around the edges, but we’re getting there! So with this, I present to you, the first ever 3D model rendered with Piko3D!  😀

The model is an unfinished tree model I made to teach myself a bit about working with blender, so that I could make some test art and assets to use in Piko. And ofcourse, so I could have something to show all of you 😉

As for Piko3D’s Development, I will focus on something other then graphics for now (sorry ’bout that ;-)) I believe a solid base is more important then quick and purty visual results, so I wanna focus on the architecture some more. I think I’ll look into a scripting library first. I am considering angelscript at the moment, although lua seems to have a good toolset. I want to look into it this early in development, since it makes it easier to test stuff out, but also, to be able to think about a good interface with the posibilities of the scripting engine in mind. And ofcourse, when there’s scripting, there’s bindings to be made (usually) so some work will go into that too. Starting with that right away seems like the sane thing to do in order to keep track of everything.

I don’t know when i’ll have some new VISUAL results for you, but I’ll make sure to post any new and interesting developments as soon as they happen 😉

UPDATE: Oops… I think I accidentally rendered some more trees with lighting turned on and filled polygons, and put a screenshot of it in the gallery!  Don’t mind the hard edges 😉

Thanks for reading!
Wracky.

2 extra early screenshots.

Saturday, July 4th, 2009

Hey everyone!

I put up 2 extra screenshots today that show piko3D handeling multple camera’s and viewports. You can find them in the gallery.

I just added the option to set the color for each one of them, just to make it clear how the viewports are  defined, and to give the user more control over whether the color buffer is cleared between 1 viewport and the other.

In other news, I still haven’t figured out what I want with the site design. For now, I’ve just put the menu to the left, but as you can see, the font-face, colors etc, are still pretty messed up. Also don’t worry, the header is temporary. I just wanted to put an image in there. Once I’ve decided on a design (or let one of my friends do a cool design for me ;-)) I’ll start working on it properly. I’ll keep this ugly bit up for now, instead of the standard wordpress theme. For one: Everyone uses the standard theme. Second: maybe this ugly design will motivate me to come up with a better one soon 😉

Thanks for reading, and see ya around!

Wracky.