Saturday, September 10, 2011

Documentating the engine..

I've been into documenting the engine properly, so i can provide a decent first release of my project.

This mainly consists in describing the engine design and functionalities inside the code, so the documentation page can be generated right. I am also writing all kinds of useful notes in the classes as well as mini-tutorials.

Later, better tutorials will be built, hopefully with community help!

I will be telling the news often until the first official release :)

Friday, September 9, 2011

Some words on Indie Development

There are a few things that get me thinking about the solitary kind of work.. I wonder how close to the reality they are, and what other developers think about them, but anyway i think im in the good path ..

As a modest developer, i've never neglected the learning part of the process, so i took the most significant bits i could from every indie developer known to me, from their public domain knowledge, being one of my main inspirations this good man, who does exactly what i plan to be doing in a not too far future: http://positech.co.uk/cliffsblog/ !

So, after taking all these relevant ideas and experiences from the other people, i tried to build my own way of doing this, putting all together in the most consistent way i can..

So, here go a few loose words about the process of making games:

I found that it IS a good idea to build a small library to support the game development, it will only get more mature with time, nothing to lose here if you only put in it the things you WILL use for sure.
In my case, i actually added my foundation library to a bunch of USEFUL third party libraries and made a layer on top of it to put all together, and Parabola Engine was born, but thats another story.

To help the focus, i usually think its better to make feature by feature, breaking through the code to make it work FAST, once your eyes are pleased with a 'cool' result, its a good time to look again at the code, maybe in another day, and refactor anything left behind and then move on to the next!

Also, i really came to notice that i can make good features really fast IF my base foundation code is solid enough to provide a little-high-level code and IF the design of the code is clear in my head. Why is this? Because if there isnt a good design in your head, the fast-feature-making thing won't work, as you probably end up changing everything again. To solve this, when i code and i get to a place i am not sure which path i should take, i just go away from it and relax. Normally, in the next day during the time i can't code, i take on a piece of paper, and start sketching ideas. It is indeed usual that I will be ready to make a great progress when i put my hands on the code!

 So, my advice is, when you are building such a complex puzzle, first picture it done and what pieces compose it, then put it together!

Another idea I try to follow, and that seems to be working just fine, is that Side-Projects are GREAT! To make it greater, my bet was to make my side-project part of my main project. This means that i work on the game as far as i can, then while inspiration comes back, i just code a totally different thing that can be made part of the game itself. This could be a little mini-game, a little feature here and there. An extra menu, an extra setting, who knows! So far, i usually work in making the engine a little funnier and good to use, sometimes coding really important parts of it, others just making things that could be useful, but are actually fun to make!

Sure there would be more to say, but lets skip the talk for today!

Monday, September 5, 2011

Learning Digital Painting :)

I've been just playing around with the graphics tablet, learning how to paint, im working on a little scene for practicing. Here it is, just a little time put in it, but i plan to finish this :


Bye!

ParabolaEngine Introduction

So, today i'm starting to explain the base concept of the ParabolaEngine!

When you start this 2D Game Engine, or, when you instance a ParabolaEngine object, you are automaticly setting a application-unique environment, like a mini operating system where everything will happen!

To be clear, after you instance and initialize the engine, it is a game environment, a bit like iOS or Android, and it can easily manage multiple games running, and dynamic loading of different games. This means you can compile all your games in a bundle with ease!

All your game code will be encapsulated in your game class, which shall inherit the engine's base game class, the GameCore. Right from the start, a GameCore can penetrate the environment and start running. Proper callbacks are set so that you only worry about saying 'what do draw' or what to 'update'.

From within your application, you get a chance to control if the environment will be noticeable or if the game will run normally, so the end-user is never aware that a engine is running in the back-office. Even if the game is taking control of all the execution, there is a chance to bring in engine's features directly on top of your game. This is possible because the engine provides some features a bit like "Windows Live for Games" and will overlay its own stuff on top of your game, if you allow it.

There is also this funny thing in the engine, the SourceBox. Its a pluggable package/directory with all the engine environment resources and it basicly works as a turn on/off feature on your games. If its there, you get some extra ui and features from the environment, if it is not, you get the minimal functionality.

Another funny thing is that any game running is being updated by the environment from a different thread, this means you can make "long lasting code" in your game updates and the drawing will keep going smoothly. Even allowing you to stop your update in a blocking situation, for example waiting for the user to input something in a little animated ui, giving the impression that nothing stoped at all! Of course this is not the optimal use and would block other running games updating too.

Other cool features, but not the only:

- Packages
- Resource Loading
- Localization
- Localized UI with a libRocket full integration
- Configuration files and Resource files
- Dynamic Key Binding
- Animation classes
- And way more!

Feel free to contact me anytime if you need information or if you are interested in using the engine! Stay tuned :)

Sunday, September 4, 2011

Yay, i've got a new graphics tablet!

'Night !

I've been thinking of buying a graphics tablet to assist in my digital art but now i actually bought one!

I got one of these things!

The Wacom Bamboo Pen!

It is really amazing, very precise and everything!

Lets see what comes out of this! Some digital paintings getting ready! Stay tuned :)

Friday, September 2, 2011

Long time away! Sorry for that..

So, I started working full.time a few months ago, and it really narrowed down my time! Still, i never stoped working on my projects, and now i think i can mantain this blog better than ever!

Big things should be coming in the near future, if nothing happens in the middle!

From now on the blog will have a decent activity and will hopefully start to become something worth to read!

As for a first update on whats happened lately:

- There is no more HollowEngine, its now ParabolaEngine, and its looking better than ever!
- It is getting closer to an official public release, completely free to use, and with regular support and updates from me!
- It is on a phase of improving consistency, some testing and documentation writing. Anyone interested is absolutely free to contact me about it!
- I will be explaining the engine in more detail for the next days, weeks , who knows!
- Older game projects are stand-by, giving way to the newest codename "Slither" game, which promises to rock a little bit of the earth! :p
- This slither game is being developed concurrently with the engine, so it will be the biggest test for the engine capacities for now!

Thanks to anyone who is still following this :)