Yeah... Like the title says I decided to finally take a break. The reason behind this is that mind have become saturated from thinking about how to integrate new parts, about what to do with my engine etc. I won't, however, take a break from programming in general. Two days ago I became interested in simple web development and started reading some tutorials on HTML as well as CSS. I might also learn PHP later on, as I believe this might help me out to create a site for my little one man studio, but that's reserved for future at least a year ahead. I won't need a site until I actually make a game I want to show instead of the little crappy ones I make to test my engine functions that provide no more than 10 seconds of entertainment....which is mostly because of the graphics, not the playability of it.
Today I found a download I made in summer when I desperately wanted a GUI library despite not needing it. It's called JUCE, so far it looks pretty great and I can definitely see the possibilities for it's use as it's cross platform, free and is open source! My plans for it involve learning how to use it and make some programs so my mind won't become saturated with working on my engine. Unfortunately I won't be able to use it if I go commercial since I'd have to buy a license for 400$ which isn't something I would be willing to spend right off the bad on one license until it proves to be valuable enough and if the game sells enough to let me use it.
If any of you know of a good GUI library that doesn't require me to be open source I would highly appreciate if you told be about it (especially if it looks just as sweet as JUCE does)
Here's an old post from Scientific Ninja
Make Games not Engines
It made a little discussion going on in my head and although it didn't made me stop making my engine and start making games, it cleared my head a little and I decided to write the functional version of Litterbox as fast as I could and add more features while I'm working on a game (which I'll either chose from my list of unfinished games or invent new one after I return to game deving).
That's all for today! I'll see you next time!
~Spliter
Thursday, January 28, 2010
Tuesday, January 26, 2010
What actually is Litterbox?
A most of the times when I talk about my pet game engine I mention really vague stuff like I'm working on the entity system, or collision system or whatever. This works great during conversations as a quick way to say "I'm actually doing something that doesn't involve scratching my butt", however if you're reading this blog then you're either minimally interested in what actually my engine is about or you have too much spare time and are wasting it reading random blogs from the LudumDare feed(in which case you've probably already read more interesting blogs like Hamumu's or Bleck's and are just too lazy to do anything else than read the less interesting ones) and being this the case you'll probably won't mind if I describe how my pet engine works. If I'm lucky it won't derail as my last post did (yeah, originally I was just going to talk about my engine a bit, but then I got distracted and ended up doing a rant/tutorial about the ever so useful macros).
Sunday, January 24, 2010
My Little Litterbox and Advanced C++ Macro Tutorial
Right...
I decided to let the "El Poho" name belong to my past, since I already have a name for my one manned so called studio which is "Catbox Beta" I actually came up with a more suiting name for the engine:
Litterbox
The editor will be probably named after another cat related thing (catnip? nah... it sounds more like scripting language to me).
Litterbox inherited a lot from El Poho but it allows me to go a step farther. With every iteration of my engine I learn new tricks, I find new traps I must avoid and learn to plan more and more ahead. The results of 20 or so iterations of my engine, since the day it could barely run a pong game are quite notable. Everything is so beautifully modular I can add and remove components without much hassle. The two months I played with the Valve's Source engine didn't go to waste either! I learned the power and infinite usefulness of macros, this knowledge makes me cringe every time I hear those naysayers say that Macros are bad, and that they only replace consts and inline functions! WRONG! Macros are a nifty little way of putting text in places making creation of new classes a cinch! Get ready for some learning because here comes a class about advanced use of C Macros!
I decided to let the "El Poho" name belong to my past, since I already have a name for my one manned so called studio which is "Catbox Beta" I actually came up with a more suiting name for the engine:
Litterbox
The editor will be probably named after another cat related thing (catnip? nah... it sounds more like scripting language to me).
Litterbox inherited a lot from El Poho but it allows me to go a step farther. With every iteration of my engine I learn new tricks, I find new traps I must avoid and learn to plan more and more ahead. The results of 20 or so iterations of my engine, since the day it could barely run a pong game are quite notable. Everything is so beautifully modular I can add and remove components without much hassle. The two months I played with the Valve's Source engine didn't go to waste either! I learned the power and infinite usefulness of macros, this knowledge makes me cringe every time I hear those naysayers say that Macros are bad, and that they only replace consts and inline functions! WRONG! Macros are a nifty little way of putting text in places making creation of new classes a cinch! Get ready for some learning because here comes a class about advanced use of C Macros!
Sunday, December 13, 2009
destroyed
Hm...
I participated in the LudumDare contest this weekend. I knew I couldn't make an entire game but I hoped I could at least make a little part of it. boy was I wrong... Everything went to hell because I rushed things, entity management system was horrible, everything was full of hacks that didn't surpass the pressure of hard work, the engine was a disaster. But I was okay with that, I knew at the start I probably couldn't make it and I was cool. When I finally decided to drop off I was actually a bit happy as I learned a lot of important lessons, made a lot of mistakes and all in all this will help me in the future. However one thing happened I didn't account for. My game was going to be called "The world is beautiful out there...", I wanted to have a small guy jump through levels at a half fast pace, when I gave up I made a post on LudumDare blog saying that I can't finish the game. In the last few words I wrote That next Time I will finish the game and that I will win. I felt this was a pretty cool thing to say and decided to add an image to make it sound even cooler. In the same posy I put an image I composed in photoshop from the assets I've drawn as a preview level. Just a house on a hill going to water.
I showed the blog post to a friend and he noticed noticed that it could go great if it was the last the cool image was the continuation from that level. An incredibly short game, just 3 screens, and all you do is walk from the house to the cliff. It could be done by ANYONE in just those 5 hours left until the end of LD. Anyone except me. I grabbed my code and tried to forcibly put it together. My engine was so bad, so utterly putrid I couldn't add 3 simple classes to it and make 1 level. It would be a great "Well, I didn't manage to do my actual game but this makes me cool" farawell game.
God I feel bad right now. I failed so hard it hurts.
~Spliter
I participated in the LudumDare contest this weekend. I knew I couldn't make an entire game but I hoped I could at least make a little part of it. boy was I wrong... Everything went to hell because I rushed things, entity management system was horrible, everything was full of hacks that didn't surpass the pressure of hard work, the engine was a disaster. But I was okay with that, I knew at the start I probably couldn't make it and I was cool. When I finally decided to drop off I was actually a bit happy as I learned a lot of important lessons, made a lot of mistakes and all in all this will help me in the future. However one thing happened I didn't account for. My game was going to be called "The world is beautiful out there...", I wanted to have a small guy jump through levels at a half fast pace, when I gave up I made a post on LudumDare blog saying that I can't finish the game. In the last few words I wrote That next Time I will finish the game and that I will win. I felt this was a pretty cool thing to say and decided to add an image to make it sound even cooler. In the same posy I put an image I composed in photoshop from the assets I've drawn as a preview level. Just a house on a hill going to water.
I showed the blog post to a friend and he noticed noticed that it could go great if it was the last the cool image was the continuation from that level. An incredibly short game, just 3 screens, and all you do is walk from the house to the cliff. It could be done by ANYONE in just those 5 hours left until the end of LD. Anyone except me. I grabbed my code and tried to forcibly put it together. My engine was so bad, so utterly putrid I couldn't add 3 simple classes to it and make 1 level. It would be a great "Well, I didn't manage to do my actual game but this makes me cool" farawell game.
God I feel bad right now. I failed so hard it hurts.
~Spliter
Sunday, December 6, 2009
El Poho going good
btw El Poho is the name of my game engine until I find a better name.
Ok, I finally added polygon collisions into it. It's a smaller version than the previous one but it's very easy to add features in it. For now the main features of it are:
-great scalability (should be easier to make a game in it now)
-Polygon-based collision system
-compact (most unnecessary features like GUI and a great number of other stuff was not implemented)
and as a bonus:
-simple yet powerful particle engine!
However I'm still planning on adding a simple GUI system for things like buttons and text at the very least, I should probably add an event system as well.
Another feature I'm working on is quite an important one: Scheduling.
So far it runs at 30 frames per second and it just waits some time between every frame to mantain that, but I need to add a feature that skips the drawing step completely if it runs too slow. So far every object in the game has a few functions like draw() and think(). With the scheduler I'll be able to set every object to think at diferent time periods, like every 1 second or every 1/20 seconds, which will make it a lot faster when I'll have to add AI support to it. With scheduling I can have AI's in Idle states that think every 5 seconds or so, or think every 1/20th second if on full alert, this'll be an enormous performance boost.
For testing the engine out I'm making a small game where you control a dust cloud. Not much to do for now as I'm having some trouble in porting things to the new collision system (what worked back then doesn't work now).
Ok, that's all for now.
maybe I'll update thig blog later this week.
-Spliter
Ok, I finally added polygon collisions into it. It's a smaller version than the previous one but it's very easy to add features in it. For now the main features of it are:
-great scalability (should be easier to make a game in it now)
-Polygon-based collision system
-compact (most unnecessary features like GUI and a great number of other stuff was not implemented)
and as a bonus:
-simple yet powerful particle engine!
However I'm still planning on adding a simple GUI system for things like buttons and text at the very least, I should probably add an event system as well.
Another feature I'm working on is quite an important one: Scheduling.
So far it runs at 30 frames per second and it just waits some time between every frame to mantain that, but I need to add a feature that skips the drawing step completely if it runs too slow. So far every object in the game has a few functions like draw() and think(). With the scheduler I'll be able to set every object to think at diferent time periods, like every 1 second or every 1/20 seconds, which will make it a lot faster when I'll have to add AI support to it. With scheduling I can have AI's in Idle states that think every 5 seconds or so, or think every 1/20th second if on full alert, this'll be an enormous performance boost.
For testing the engine out I'm making a small game where you control a dust cloud. Not much to do for now as I'm having some trouble in porting things to the new collision system (what worked back then doesn't work now).
Ok, that's all for now.
maybe I'll update thig blog later this week.
-Spliter
Subscribe to:
Posts (Atom)
