|
|
|
Written by Tony Richards
|
|
Thursday, 23 April 2009 16:46 |
|
Zen Worlds is the most recent addition to the middleware being created at IndieZen.org. This lightweight but industrial strength middleware provides all of the necessary infrastructure for building virtual worlds, MMO games and online game communities. Although it's primarily being created by developers from Hatboy Studios and Games by Sarge, it will be included with the rest of the game development middleware using the same, unrestrictive open source license. |
|
Read more...
|
|
Zen Engine game engine frameworks 0.5.0 (beta) released |
|
|
|
|
Written by Tony Richards
|
|
Tuesday, 24 March 2009 14:59 |
IndieZen.org is pleased to announce the release of Zen Engine 0.5.0 (beta) and related plugins. Zen Engine is a game engine framework that makes it easier to create your own custom game engine.
Finally, we're out of our alpha testing stages and we've begun beta testing! The completed plugins include: - ZBoostNetworking (Boost.ASIO TCP, UDP and HTTP networking)
- ZInput (OIS Input System)
- ZLua (Lua scripting)
- ZMicroPather (MicroPather A* pathfinding)
- ZMySQL (MySQL database)
- ZNewton (Newton physics)
- ZOgre (Ogre3d rendering engine)
- ZPython (Python scripting)
- ZSQLite (SQLite database)
Through the use of the framework, plugins and the "base starter kit" you can quickly and easily put together your own game engine client complete with shaders, animation, particle effects, physics, scripting, databases, A* pathfinding, and much more.
Visit our downloads page and get started making your own custom game engine, or use our starter kits, tutorials and templates and use one of our pre-built game engines make your own games. |
|
Last Updated ( Tuesday, 24 March 2009 15:55 )
|
|
Keeping Interfaces Clean - Iterators |
|
|
|
|
Written by Tony Richards
|
|
Wednesday, 11 February 2009 21:21 |
|
In Object Oriented Design, one of the goals is to hide our implementation, so that if you make a modification to the implementation, nothing else needs to be recompiled. One of the problem areas with this philosophy is how to expose collections. You cannot directly expose an iterator as that causes several problems. What happens if the container goes out of scope before the iterator? What happens if for some reason you need to change the underlying container type, such as from a std::list to a std::vector. Or worse, what happens if your collection gets to large and you need to re-write it so as to have the collection be records in a database. Using generic programming, one could choose to write some templates that will help solve the problem, and I think that's a fine approach if you want to use generics. I use generics quite a bit in my implementation because they reduce the amount of coding required to do certain types of things, especially while using STL or Boost. But that is my implementation. If I can keep my design consistently Object Oriented and avoid generics in my public interfaces then I will, even if it means a little extra effort. This follows the MIT approach of Worse is better, where I'm choosing consistency over simplicity while still maintaining completeness and correctness. Contrast this approach to the one in Thomas Becker's "On the Tension Between Object-Oriented and Generic Programming in C++" article where he solves the problem using generics. |
|
Last Updated ( Wednesday, 11 February 2009 22:51 )
|
|
Read more...
|
|
Zen and the Art of Game Design |
|
|
|
|
Written by Matthew Alan Gray
|
|
Friday, 25 July 2008 01:27 |
|
What good is a tool if you don't know how to use it? Simply knowing that a nail-gun can help you build a house faster than you could using a regular hammer doesn't mean you're not going to shoot a nail through your big toe if you're not careful. But if you knew how to handle that tool correctly, you could reap numerous benefits in terms of quality and efficiency. That being said, I suggest to you to think of the Zen Core Framework as a tool, and a powerful one at that. It can be used with the Zen Engine plugins to develop a FPS game in Python script, used in conjunction with a custom plugin that enables the visualization of measured phenomena in real-time, and even used to create a server-side application that services a multitude of clients for an MMORPG. In short, the Zen Core Framework can be an extremely versatile tool in our "Programmer's Toolbox." But the question still remains, "How do we use it?" Over the next few months, we will be posting some articles dedicated to this topic ranging from how use the Zen Core Framework and Zen Engine to script a simple application to developing a custom plugin that can be dynamically loaded by the Zen Framework. These articles will not only provide correct examples of how to use the framework, but also the reasoning behind them. It is our hope that these articles, and the growing community here at IndieZen, will help ease the adoption of the Zen Core Framework and other Zen components by novice and experienced developers alike. |
|
Last Updated ( Friday, 01 August 2008 01:59 )
|
|
|
|
|
Page 3 of 4 |
|
|
Who's Online
We have 5 guests online
|