Pony World - An open-source 3D pony sim


(MirceaKitsune) #1

I finished making a MLP-FiM themed game today, using Blender Game Engine. I will copy my post from a My Little Pony forum here, which describes it in detail. I also think Blender gamers might find some resources in this game useful… such as the skybox and almost script-less color picker.


Alright everypony. After a week of heavy development, I am proud to present my latest creation: The Pony World open-source 3D game, built on Blender’s Game engine :smiley:

It’s not entirely mine, as I forked from CreatorOfPony’s MLP Open Source project. I took the latest version of his game, improved the meshes and some settings, and added a lot of new functionality, details, and features. Those who tried his game before will surely recognize the dynamics, ponies, and world in this project. If he wouldn’t have made that game, this one wouldn’t exist either, so a lot of credit goes to him.

The game does not have a lot of features, but I aimed at making the ones it does have good and of quality. Here is a list with the most important things:

  • One of the main highlights is the ability to customize your pony. You can choose between several mane / tail styles, set their colors in full RGB, and even mirror them. I used all tails / manes from the original project, making each one configurable, so that they work like characters in MMO-RPG games. You can even color your mane and tail separately, although ponies will spawn with equal colors for tail and mane to keep good looks.

  • All ponies are randomized, players and bots alike. Whenever a pony spawns, their mane / tail style and colors are completely random, giving each pony unique looks. There are currently no fixed characters, although I plan to add support for predefined ponies at some point.

  • Just like MLP, ponies are divided into 3 categories: Earth ponies, Pegasus, and Unicorns. When a pony spawns (or is morphed by a morph pad), there’s an equal chance to be any of the 3. Yes… Alicorns exist too (pegasus + unicorn like Celestia), but they’re of very low probability and will almost never happen. Unless of course, the game would happen to have some cheat codes that you would find :slight_smile: But mostly, Alicorns can be considered an easter egg, and you’re very lucky if you find or become one naturally.

  • AI controlled ponies. They are randomly spawned around the map, and are capable of basic movement. They will idly turn around, walk, or run. Pegasus bots will also fly around every now and then, while Unicorn bots can toggle their lamp. Bots wander around aimlessly however, and may bump into walls without knowing what they’re doing.

  • Each type of pony works differently. Earth ponies have no special ability. Pegasus can fly, and Unicorns can use magic. The only magic is currently a lamp, which will cause a light to appear from the pony’s horn (like a car headlight). Alicorns can do both at the same time.

  • Pony visuals are quite detailed. The models in the original project were very low-poly, and consisted of only one mesh. I doubled the polygon count, separated manes / tails into separate objects, added a 3D mouth, and made the eyes into separate spheres (much higher detail and possible to turn around). As ponies move, their head will gently lag to the side, and their eyes will also look around slightly. The ponies also blink.

  • Dynamic daytime cycle and environment, with beautiful and realistic looks. The skybox consists of few objects, which are easy to use and configure. Like most of the game, it uses no scripts, and is done via animation keyframes which move and color the sky and lightning. Whenever the game starts, a random time of day is chosen. Environmental sounds also represent the day time, and lamps automatically turn on or off when they should. There are also footstep and flying sounds, based on the surface you are walking on.

  • Bullet physics are enabled. By default, there are some crates that you can push into, which will realistically roll around.

  • Several post-processing effects are present. Built-in ones include lightning with dynamic shadows, bumped gloss, and env-map reflections (see the glass on lamps). Custom shaders enable bloom, and a cartoon effect (black lines near borders). The lightning and specularity on ponies are also cartoonified, keeping the original MLP feel.

  • The source and functionality should be pretty tidy and well optimized. I did my best to avoid things like duplicated mesh data, naming everything accordingly, and keeping the game logics clear (although they get messy either way at such complexity). There is minimal script usage (based mostly on animations and logic bricks), and everything is optimized for flexible and easy editing. Twilight could critique me best on the coding ???

Those would be the most important things. There might be more to say on the matter, but I’ll stop at this for now. Gameplay wise, you can’t do anything yet except roaming around and customizing ponies. I plan to add more to the game, which will depend on how much people like what I made so far. I have plans for save / load support, importing / exporting pony configs to / from text files, multiplayer support (very hard and unlikely) and other things. I’ve worked hard in the last week for this, and don’t plan to work more on this game in the very recent time.

Being open source, anyone who knows Blender and its game engine is free to work on this, and make any changes they please (or their own version of the game). Contributions would also be appreciated, though everything is stored in a single blend file currently. There are still some bugs, and many things don’t work as they should. One bad news is that I tried exporting to a runtime, but it doesn’t work with Blender 2.59. Therefore, for the time being, the game is only playable via source with Blender installed. If anyone can export this version to an exe and get it working, feel free to do so and post it. Blender is free and open-source itself, and a tool that shouldn’t be missing from any computer IMO. So this should likely not be a problem.

But enough chatting for now. Here is the game, an official video, and some screenshots. The project can be downloaded from its Sourceforge page. Just unpack the zip, open the .blend file, and press P to start the game engine. Hope you enjoy it, and that my work will make fellow ponies happy :slight_smile: Please let me know what you think also! Dev talk is very welcome too.

https://youtu.be/j0BE4rIS6SU

http://ponypic.com/i/UtNK.jpg http://ponypic.com/i/4QKv2.jpg http://ponypic.com/i/TRuVm.jpg http://ponypic.com/i/Xn5lW.jpg http://ponypic.com/i/MGUY.jpg http://ponypic.com/i/SdE7P.jpg


(Raiderium) #2

I lol’d so hard at the first bot… that takeoff.

But! This is neat :smiley: Congratulations on the progress. I’d advise improving the music loop a little (I’d go mad after listening to that for too long) and the animation, but it’s WIP, so you’re probably aware of everything like that.

If you could figure out how to modulate textures with colour, you could make customiseable gradients on the hair.


(mills332) #3

I like it! It looks like a Wii game

If you add some woods and rivers to explore, the game would look a lot more interesting.
It could be for example like a pokemon game, the ponys would have to go to another willage or to a far wood to find someting… It looks good.

I forgot!.. If you set the normal option in the grass texture, (like I did in my game)… Much better :slight_smile:


(MirceaKitsune) #4

Thanks. I plan on adding more to it, and improving what exists. Being the only developer, it is rather hard to do everything, so it might be long till I release another version.

That sounds interesting, but also hard to accomplish. Even if I find a way to map a gradient over the tail and mane (they’re not UV textured), I’d have to add more complexity to the already-loaded color picker, but also run into a GLSL bottleneck. You can’t seem to animate the diffuse color of a material with GLSL, so I need to use Object Color instead (which IIRC recolors the whole mesh). Due to that, I’m unsure if individual gradients can be colored on the same mesh, although that would be nice.


(juancarlospaco) #5

You save me the babysitter bills :stuck_out_tongue: good game…


(Royalhowl) #6

Hey, cartoon game. That looks interesting. Yes, not very clever reply. But I like this game.


(cam.dudes) #7

Looks cool. Your picture is so creepy. . .