|
Note: This is an unedited contribution. If this article is inappropriate,
needs attention or copies someone else's work without reference then please
Report This Article

Links
Introduction
Hello!
I’m really excited to announce the first release of IndieLib
game engine. It has been a lot of hard work for several years in which
I have been working in this project. What started like a hobby has
become in a quite robust 2d engine that I think can be useful for the
gamming community, specially for the indie game developers. Because of
that I want to offer it to all you for free, hopefully it will be
useful for some of you.
The main purpose of IndieLib is to make the things easier for the game
developer, specially for those of you that love trying new game
mechanics and fast game prototyping. I was really shocked for that
brave guys of the Experimental Gameplay Project and the things that I
see everyday on TigSource or in these forums. After seeing what these
developers were able to do in just one week, I decided to start working
again in and old project called LooverLib and to try to pack in the
same engine lot of useful features for being able to make games really
quickly using c++. What I wanted was that anybody that know a little of
programming would be able to give expression to their ideas faster and
easily. I know this first release hasn’t accomplished completly this
purpose, but I hope to be in the correct way.
IndieLib is a c++ 2.5d OpenSource engine for game development and fast game
prototyping in a really easy way. Internally it uses Direct3d for
hardware acceleration, but doesn’t use DirectDraw or ID3DXSprite, it
directly draws textures on polygons. The engine is focused in fast 2d
rendering, but also allows you to use 3d models. Here you have a list
with the main features:
- Simple interface and extreme easiness: really fast game prototyping
using entities for each of the graphical objects and changing their
attributes. All the methods are as simple as "SetPos",
"SetCollisionArea", "SetFade", "SetTransparency", etc.
-
Translations, rotation, mirroring and scaling of sprites.
- Alpha blending, transparency, tinting and fading of sprites.
- Render images of any size (not only power of two). You can load
images as big as 10000x10000 pixels or more, and IndieLib will cut them
internally in smaller blocks. Furthermore, IndieLib will automatically
discard all the blocks out of the screen, also if your sprites are
transformed and the camera making a zoom or rotated, only what you see
is what is going to be rendered.
- SetGrid method in order to create grids for your sprites. Later you
can move each grid point in order to make a lot of different effects
like waves (like in Aquaria game), deformations, etc. (Thanks Alec for
the advice :)).
- 2d and 3d camera concepts, completely independent of the graphical
objects. Easy methods to translate, rotate or zoom you camera.
- Easily creation of several viewports. Just create as many viewports
as you want using different cameras assigned to them. This is really
useful for making widescreen games, etc.
- Scrolls of any size, with automatic block discarding.
- Animation system using XML animation scripts, for defining the frames and sequences.
- Advanced collision system. Create an xml file defining your collision
areas per sprite using circles, rectangles or triangles. You can define
as many collision groups as you want, each one with a different name.
Join this file to an entity object and check collision between the
collision groups of other entities. Don't worry about translating,
rotating or scaling your entities, the collision groups will always fit
perfectly your entity. You can also have sprite animations in which
each frame has different collision groups (imagine this feature in a
"Street Fighter" type game).
- Bitmap font system, for drawing graphical texts of fonts created with
MudgeFont for IndieLib. Change the alignment, char spacing and line
spacing easily.
- Rendering of 3d Meshes (you can mix 2d and 3d easily). You can also
apply transformations to them (rotation, scaling, fading, etc). This
will allow you to make games like "New Super Mario Bros" in which the
characters are 3d models and the scenario is 2d.
- Light manager, for lighting your 3d models. Enable / Disable lights, change their attributes, etc.
- Timers. Start, stop, pause them easily.
- Entity class, for both 2d and 3d objects, for managing the graphical
objects in a really easy way. Just create an entity, join a graphical
object to it, an change it's attributes (space transformations, color
transformations, etc).
- Image class, for loading / saving different types of image files and
for accessing to the bitmaps directly. You can also apply filters to
the images like gaussian, noise, equalize, saturation, etc.
- Direct blitting of primitives (rectangles, circles, polygons, lines, etc).
- Mouse and keyboard input (using SDL). Check if any key/button has
been pressed, is being pressed or has been pressed more than n
milliseconds. Check combination of keys/buttons that are pressed at the
same time.
There are more things explained in the FAQ and you can get the source code under LGPL license from the repository.
Do you want to see the engine in action? Well, you can just check some screenshots or
to download the IndieLib_SDK
and to run the tutorials that are already compiled and ready to try
(you don't need to know anything about programming for clicking the
.exe and see the demo tutorials ;), try to press arrow keys and mouse
buttons / wheel, because some of them are interactive).
But an engine is nothing without documentation. For that, I spent lot,
lot of hours documenting all the methods (I hope I didn't make too many
mistakes in english) and making some tutorials (more will come along
these months):
- Api Reference
- Wiki tutorials - (only 9 by now).
I really hope that the engine will be useful for some of you and that
you will make incredible games using it. I invite all you to join our forum, and I
would be really happy if some of you want to contribute helping me.
Just click and download the latest IndieLib_SDK
(It includes the IndieLib binaries, the tutorials sourcecode and .exe,
and the documentation). Start making games!
Regards,
Javier López
PS: Sorry for the mistakes I'm sure I did, I'm not very good at english. Historial - 1.03 Release



| You must Sign In to use this message board. |
|
| | Msgs 1 to 25 of 26 (Total in Forum: 26) (Refresh) | FirstPrevNext |
|
 |
|
|
It looks like the article is inadequate, when compared with the effort you probably did on the library. Making a poor article debases your great work. Probably the library deserves an article series.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke [My articles]
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
|
This is not an article, it's a press release. To make this an article, you need to add code xamples and explain a bit more what it's all about.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
Hi, Fair work done, I appreciate it a lot. Tell me how much time you have invested in this all work.
thanks
Vikas Maan Tektronix India
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
Thanks!
It's difficult to know exactly how much time it took for me in hours. But I've been playing with it for more than 5 years.
|
| Sign In·View Thread·PermaLink | 5.00/5 (1 vote) |
|
|
|
 |
|
|
You don't respect CodeProject guidelines. The IndieLib source code isn't included anywhere in the archive, and the website doesn't provide this source code either.
In other words, this is considered as ads, and this is forbidden by the article rules here. Please react quickly or the article will be removed.
|
| Sign In·View Thread·PermaLink | 3.29/5 (3 votes) |
|
|
|
 |
|
|
 |
|
|
First of all, thank you for the pretty good framework! And the question/bug_report:
Even on simple samples provided in the article the CPU is loaded on 100%. Is that feature and part of the solution or there are ways to make CPU load lower?
Thanks
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
|
 |
|
|
Hi, downloded it and now trying it. it's really easy... wonderfull effort. keep going on..all the best
Manoj Sahu
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
Downloads should be available from this site, and listed on top. The article submission wizard allows you to upload files and adding the necessary HTML.
Thank you.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
I'm trying and trying to upload the 12MB SDK but always getting an error 
But I will edit the link so it will be listed on top.
Thanks.
|
| Sign In·View Thread·PermaLink | 2.00/5 (1 vote) |
|
|
|
 |
|
|
Then at least provide a link to the URL - I don't think anyone has a problem with files if they are hosted offsite (from CP), so long as there's an easy link to access them.
PS and this looks cool too!
How would you compare this to something like http://www.ogre3d.org/[^] ?
¡El diablo está en mis pantalones! ¡Mire, mire!Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
Fixed! They are already listed on top, thank you for the advice.
How would you compare this to something like Ogre3d?
Well, Ogre3d is focused in 3d not in 2d, so it offers complety different features than IndieLib. Some of the features that IndieLib is ready to do are:
- Animation system for sprites - Collision system for sprites/animations - Automatic cutting of texture-blocks for really big sprites (for example sprite that are higher than the maximum texture size allowed by your card) - Photoshop/Gimp type filters for blurring, sharpen, etc your sprites
Check out the IndieLib examples that are inside the SDK and enjoy!
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
Thanks 
It might be a good idea to post a tutorial, that shows step-by-step how to use your library for a simple game.
The reason for my suggestion is: as it stands now your article is barely more than an advertisement for your (freely available) SDK. I will not blame you for that, as it looks genuine and really hard work went into it (and I am very impressed by the graphics). It's just you are barely meeting article requirements.
I think a small program with source to play with it would also spark a lot more interest in your SDK than a list of features.
To make this clear: I am not affiliated with codeproject, other than being just another (if sometimes outspoken) member. So feel free to ignore whatever I say, I just mean this post as a suggestion.
Happy coding
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist
|
| Sign In·View Thread·PermaLink | 5.00/5 (1 vote) |
|
|
|
 |
|
|
 |
|
|
General News Question Answer Joke Rant Admin
|