Codekiddy

I know I haven’t written a blog post in a while… so I’ve recently made an addition to my calendar to try and write at least one a week, so here goes.

A few months ago I was browsing through some archived folders on my development machine and came across some old projects that I’ve worked on over the years. Unfortunately I don’t often get time to work on personal projects that much anymore, and struggle to get any work done on Clockwork, but I’d really like to start open-sourcing some of these projects.

When I say a few months ago, I actually mean about 7; time goes extremely fast when you’re trying to get on with life, most of the time I don’t even realize it.

Codekiddy

Codekiddy is a game engine I started making a few years ago for a course at University. It’s a nifty little engine written in C++, using a library called ClanLib. ClanLib isn’t so bad, it’s mostly cross-platform (although at this stage Codekiddy isn’t) and is really easy to use.

What’s cool about Codekiddy?

When I made Codekiddy (originally called Sidelined – a prototype game I was working on with a few friends before it all went downhill), I wanted it to be easy to mod. What better what to make something moddable than to implement Lua bindings, right?

  • Codekiddy uses Lua bindings for pretty much anything. It’s possible to create an entire game using the engine just from the bindings provided.
  • Codekiddy is pretty poorly documented (some text files in the project, I’d like to expand this documentation one day.)
  • LuaJIT is used to speed up Lua at run-time and works pretty well.
  • Includes a fully functional UI library written in Lua.
  • Loads content from an archived file, but content inside can be overriden by being placed in the distributed directory.
  • Includes a fully functional level editor with levels saved as JSON files (plus the ability to include a .lua script that runs specifically for that level.)
  • State system: MenuState, PlayState, etc.
  • Built-in Console (written in .lua, too, so fully customizable!)
  • Box2D physics, and entity management including base classes.
  • Built-in dynamic lighting system made by porting over box2dlights from Java to Lua.
  • Material system with material meta data in the form of custom .cmf files.

The only thing missing that I haven’t open-sourced yet is a fully working example game. I’ve actually made a couple, but I’m just trying to tidy one of them up to open-source as soon as I can.

El primer paso consiste en precisar el uso principal de la camiseta. Una tarea práctica consiste en verificar si la talla sigue el mismo criterio que otras prendas consultadas. Al consultar «», resulta más sencillo distinguir las variantes a partir de los detalles indicados. Antes de pasar al pago, es importante revisar el estado indicado en la ficha.

El primer paso consiste en precisar el uso principal de la camiseta. Una tarea práctica consiste en verificar si la talla sigue el mismo criterio que otras prendas consultadas. Al consultar «camisetas de la Premier League», resulta más sencillo distinguir las variantes a partir de los detalles indicados. Antes de pasar al pago, es importante revisar el estado indicado en la ficha.

And because I love Git so much, Codekiddy it’s freely available on GitHub. Contribute or fork as you please!

When choosing a first cosplay outfit, it is worth considering how details related to short cosplay wigs will affect the complete look. When comparing costume options, reviewing details related to fabric and comfort also makes comfort and movement easier to judge. To shape a complete look around details related to cosplay shoes, cosplay accessories with size options can help narrow the options for a specific purpose. When planning for care after the photoshoot, it is useful to check details related to shoes and accessories against the wearer's own needs.

That’s all from me today, hopefully I’ll write another blog post next week, thanks guys.