Archive for the ‘General’ Category

Piko3D at Revision demo party :P

Friday, April 22nd, 2011

Hey people!

I’m currently at the Revision demo party (!
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 😛



Delays due to Dragonage 2! :P

Thursday, 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 😛 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! 😀  (Oh and thank you Andreas (angelcode) for Autohandles ;-), they are very nice for certain cases)

Well! That’s it for now!

Keep ya posted.


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

Bitmap Font Rendering! (Progress update)

Saturday, September 11th, 2010

Hey everyone,

Bitmap font rendering demo

Bitmap font label

Here’s a new progress update of what we did on Piko3D in the last few months!  For starters, I implemented a simple GUI system which now consists of a simple panel and a label. Both elements support margin and padding, and can be parented to another GUI component for easy navigation. The Label is used for rendering text and uses fonts based on Angelcode’s BMFont Bitmap font generator!  You can see the label being rendered in the screen shot.

For now it only supports BMFonts Binary format, and Piko3D still only supports PNG textures.

In other news:
We’re still working on a number of other things. Micron is working on improving and optimizing frustum culling, and intersections between basic shapes, like cubes, spheres and of course, the frustum, which is just about done really!

In the mean time, Paramike is working on our awesome dynamic octree for our space partitioning, in which every cell is autonomous. Together they produce a dynamically relocating, growing and shrinking octree that will adjust itself as it is required, to provide an easy and quick way to query objects in our scene.

Seriva is also still helping out (although he’s on a holiday right now) and I’m glad to tell you that he started on the loading/parsing of Shader programs! So perhaps we will be showing you some screenshots of a new renderer soon 😉

Well! Piko3D is still a thing we do for fun, and although we still spend a lot of time in Starcraft 2, Dragon age, Mass Effect 2 and what not, I’m glad to see things get done 🙂 On that note: I’ll be on holiday too for the next 2 weeks, so no Piko3D news/development from me during that time.

Untill next time!


Wait for it ;-)

Tuesday, September 7th, 2010

No we’re not dead!

New progress report soon..
(With some (not too exiting) screenshots! 😉

Stay tuned!


Wait for it…..

Thursday, April 8th, 2010

Hey peeps!

Got some pikoding done again! Finished my second DragonAge: Origins run! No I’m still not done, I’m playing the Awakenings expansion now 😛 BUT The last few days, I’ve been giving Piko3D some love and I’ll be uploading a new VIDEO soon 😀

In other news: Another friend, Micron, is helping out with Piko3D! It seems people like to have a little project to which they can contribute a little from time to time 🙂 We’re still doing this just for fun.

So stay tuned! o_O


Delays due to DragonAge…

Friday, March 5th, 2010

Damn you Bioware!

You are stealing my precious Piko3D development time!
Damn you and your DragonAge which has already taken up 50+ hours!


Build script generation.

Thursday, February 4th, 2010

So I’ve been working on getting Piko3D ported to Maemo5 for the Nokia N900, and one thing I need for that is a proper build script. So far, I’ve done everything for Piko3D in Visual Studio 2008 express edition.

I don’t want to maintain all changes to piko3d in a dozen different build scripts for different platforms, so I thought I’d look into build script generators, like Automake, Cmake, and Premake.

Everyone told me how Automake was old and tends to get messy, so at first I turned to CMake. I have to admit, I didn’t look far into CMake.. I looked into it, but it seems cumbersome to me somehow.

Warning: Next part expresses my personal views on the subject and should not be used for reference 😛

With CMake, you make CMakeLists.txt files for whatever you want to build. They suggest to put one of these files in every subdirectory you have in your source, and put the build rules in there. If you don’t want to create a lib from every source directory you have, Cmake quickly turns into a mess. Correct me if I’m wrong here, but if I am, the interface and documentation could be clearer 😉 And then, I found Premake! and I would have sworn to have heard angels sing 😛

Compared to whatever I read on how to do stuff in Cmake, Premake is a complete fresh spring breeze! (at least for what I was trying to do ;-)) Premake’s documentation is a bit scattered around… and It could be better… maybe I’ll do a tutorial about it… but what I did find was very pleasing to me.

First of all: Premake uses lua script for its config files. This means that yes, you can do loops, ifs, whatever floats your boat, in order to generate your buildscripts. Lua is widely used and well documented.

Second: Premake lets you put your files wherever you like. You can also put everything in one big file, or add separate premake scripts into the mix for parts you want. It’s very easy to just use a bunch-o-files to make your project, or split it up in libs and link them together.

I guess that people who are used to visual studio like myself, might find premake easier to use than others. It seems like they used a lot of terms from visual studio, like solutions, projects, configurations etc… I personally think this is a plus since I think it’s a clear structure, but I might be biased 🙂

Anywayz, there you have it. I’ve finished my premake script for piko3d, and it now generates nice and cleanly structured project files for visual studio 2k5 and 2k8. I will continue on with it and see if I can make an ubunto and maemo5 makefile next 🙂

Keep ya posted!


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,


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,

Welkome to Piko3D!!

Wednesday, July 1st, 2009

Hey everyone,

Welkome to Piko3D, and thanks for visiting!
In the next few days, I’ll be working to turn this wordpress blog into something moderately cool 😉
Piko is my own personal hobby project. I’m writing a relatively simple yet powerfull 3D game engine. I haven’t decided on a licence yet, but it’ll probably be free for noncommercial use to begin with 🙂  (Who knows, I might go open source someday)

Piko is steadilly growin, but it’s at the start of it’s development. I’ll post updates and screenshots as things go along, and try to give you a bit of insight in de development process 😉

For now, you can read the about page, and I actually put up 2 early screenshots I made some time ago 😉

Hope to see you around!

Kind regards,