Author Archive

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!

Wracky.

Wait for it ;-)

Tuesday, September 7th, 2010

No we’re not dead!

New progress report soon..
(With some (not too exiting) screenshots! ๐Ÿ˜‰

Stay tuned!

Regards,
Wracky.

Progress report!

Sunday, May 30th, 2010

Hey everyone!

Been a while since I posted anything up here, but rest assured, we’re still at work!
In the last few weeks we’ve been busy with some of the more basic functionality for Piko3D.
Problem with such things is that it does not give us nice pictures or movies to show you ๐Ÿ˜›
So here’s a list of what we’ve done lately

  • Basic scene graph was made (more advanced graph in the making)
  • Basic frustum culling works
  • Wrote my own little INI parser for use with config files.
  • Added extra ODE physics joints
  • Started with Shader resource management for the renderer
  • Objects now have bounding volumes.
  • Basic math for intersecting AAboxes, spheres and pyramids.
  • Been poking around in SDL 1.3 to see if I could get the mouse to behave!
    (our gateway to OpenGL 3.2 and ES 2.0!)

Aside from that, the team’s struggling with the worldly temptations like Mass Effect 2 and currently Heroes of Might and magic 5 for me ๐Ÿ˜›
So we take our time, but still have great fun doing this ๐Ÿ™‚

Keep you posted!

Wracky.

Added ODE Motor and Joint implementation! (Video)

Saturday, April 10th, 2010

ODE joint and motor demo

Hey everone!

Here it is. I’ve been adding support for ODE joints and motors to Piko3D. Joints come in many types, and can be used to create hinges, balljoints, universal joints, pistons, sliders etc. ODE gives us the option to add motors to joints. which can be used to make things move.

I’ve made a little video again that shows a small car driving through a set of doors and crashing into a wall. Took me some time to set it all up so I hope you like it ๐Ÿ˜‰ enjoy!

Regards,
Wracky.

Update: Click here for the alternate version

Satus update: Piko3D and the N900 ?

Thursday, April 8th, 2010

Hey everyone.

I see that some users come here looking for a 3D engine for Maemo or the Nokia N900.
I made a news post a while back about me looking into the Maemo SDK as a means to port Piko3D to my N900, and I wanted to give you a bit of a status update on what’s going on in that department!

I first ironed ย out some minor problems I had with compiling Piko3D under linux on GCC. As said before, I’m now using Premake for managing the pik3D project, which makes all this SO MUCH easier..
The good news is: It builds!

I’ve also found ย ports for libSDL, ย LibPNG and libODE for the N900.

Here’s what I plan to do:
I first wish to bring Piko3D a bit more up to speed. As some of you may know, Piko3D doesn’t have a proper renderer yet. Scripting is only partially implemented (proper bindings are still missing) and the ODE implementation is not QUITE there yet… There’s no animation system in place yet, and no options for playing sounds.

Since Piko3D uses SDL for it’s basic windowing and messaging, I will be looking at SDL 1.3 for support for OpenGL 3.x and OpenGL ES 2.0. There may still be some problems with initializing SDL 1.3 on OpenGL ES 2.0 but Seriva is looking into that.

I’m currently working on physical joints an motors, of which I hope to post a new video soon. After that, I want to make a setup for Piko3D’s rendering and perhaps we’ll get to some animation aswel… When the basic functionalities are done, I will get back at porting Piko3D to the N900.

So that’s it! Just so you know, It’s still my intention to bring Piko3D to mobile devices, starting with the N900. ย Piko3D is still a lot of work, and we do this in our free time and for fun.. so progress might be a bit slow sometimes.

When I feel comfortable that piko3D is turning into an actual product, and things are roughly in place, I will open source the bugger and you can all have a look and help out if you like ย ๐Ÿ™‚

But until then, there’s ย still much to be done!

Regards!
Wracky.

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

Regards,
Wracky

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!

Regards,
Wracky.

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!
Regards,

Wracky.

Maemo 5 SDK and the N900

Sunday, January 17th, 2010

Hey everyone!

As some of you may know, I want to make piko3d a modern, simple game engine for the latest PC hardware and mobile devices. ย As it happens, my new Nokia n900 came in last week! This means I will be able to start porting piko3d to Maemo5 and start on the OpenGL ES 2.0 renderer!

I’ve been working to install the Maemo SDK and get myself familiar with the environment and today i’ve managed to get my first little program compiled and running on the N900! I’m now looking into setting up the project, and getting Piko to compile. It will be some work to get the dependencies on there, like libpng, ode, and SDL. A lot of people have already worked with SDL under Maemo so it should be possible.

I hope the new SDL version supporting OpenGL 3 will be released soon enough, so we can use the same system for OpenGL ES 2.0 and OpenGL 3.2.

Keep you posted!
Kind regards,

Wracky

Time scaling in Piko3D with ODE physics (video)

Monday, December 21st, 2009

Time scaling in Piko3D

Very happy to tell you that Paramike has been working hard on Piko3D’s physics implementation these days! The initial ODE implementation is being cleaned up and extended.

Now it’s possible to do time scaling. This means that time can be scaled in any world, which causes it to seem like it’s running in high speed, or in slow motion, and everything will continue to be simulated as normal. Physics frames are interpolated to keep them consistent and smooth even in slow motion!

Ofcourse, credit where credit is due, the idea came from Glenn Fiedler, see http://gafferongames.com/game-physics/fix-your-timestep/.

Here’s a new video showing some “bullet time”-like action in Piko3D. Still with boxes for now ๐Ÿ˜‰
Be sure to check out the Piko3DEngine youtube channel here.

Hope you enjoy this little video ๐Ÿ™‚

Regards,

Wracky