• Register

Castle Game Engine is a free open-source 3D and 2D game engine:

  • Use any 3D or 2D software to create your models in various formats: glTF, X3D, VRML, Spine JSON, Collada...
  • Develop cross-platform applications, for desktop (Windows, Linux, macOS, FreeBSD...), mobile (Android, iOS), consoles (Nintendo Switch) and other devices (Raspberry Pi).
  • Visual editor to design games UI and to build applications, powerful command-line build tool under the hood.
  • Optimized rendering with a lot of graphic effects (physically-based rendering, shadows, mirrors, bump mapping, shader effects, gamma correction...).
  • Build and edit the scene graph (X3D) at runtime. Create 3D processing, visualization tools and CAD applications.
  • Extensible system for game objects, with physics, creatures with AI and navmesh, and more.
  • Access numerous services, like in-app purchases and game services on mobile devices.
  • Create cross-platform user-interface with anchors and automatic scaling.
  • Code in modern Object Pascal, an efficient OOP language with cross-platform open-source compiler (FPC), compiled to a native optimized code.

For more features, see here.

For the manual and other documentation see here.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Related Articles

Bubbles of all shapes and sizes

For example, there are clearly defined ways how to differentiate between someone speaking and whispering, or just speaking with a weak voice and the narrator bubbles often have a distinct background.

We also knew that we will have some… “special guests” speaking. This is the game where you can speak with The Devil himself, and his comic bubble should not look like a mere mortal. For this, we looked at how Neil Gaiman’s The Sandman uses various comic bubble types to represent various special characters (like “the endless”). E.g. the Dream has a special bubble that is filled with black, has a strong white outline and is wobbly. You automatically imagine that it’s not a normal voice speaking these words.

So, we wanted it all in our game. To achieve this, we developed a simple system of defining comic bubble types. We have many comic bubble types, and each type may have different shape, outline, colors and font. Each NPC can have his/her special bubble type, also a particular phrase (like shout) may use a particular comic bubble type.

Here’s how hero shouting may look like:

unholy1


The simplest, early comic bubble type looked like this when designed in Blender:

unholy2


As you can see, a bubble type has actually three bubble shapes: one to the left, one to the right, and one going to the top. We use a particular direction in game depending on various things. In the “walking view” the direction (usually) depends on the direction between a speaker and a listener. In the “first-person view” (when we fight) the direction depends on the position of speaker’s mouth on the screen.

Oh yeah, each NPC has a specifically configured “mouth” position.

Inside the bubble, we have a special area where the text must fit. We first put the text inside, wrap it, and then we adjust bubble scaling to make the best fit around the text.

The screenshot above shows a comic bubble for “choice”, used when a player needs to make a choice in the conversation. The three bubbles never overlap each other, this way choices are displayed correctly. This is how it looks like in game:

unholy3


When a person speaks, we use a different bubble shape:

unholy4


Will it blend?

We use Blender’s Bezier curves to define comic bubble shape. And we make some comic bubbles animated, using Blender’s “shape key” animation, exported to Castle Game Engine animation format.

During the game, we wanted to show “hints” to the player, indicating that a player can press something to interact with something (enter a house, speak to someone). We realized that this can be nicely shown as a comic bubble indicating that a hero is thinking: “Hmm, I can enter this house…”. Comics have already established a standard how to show a “thinking bubble” of a person, so we can use this.

Here’s how the “thinking” bubble looks like in Blender:

unholy5


And here’s how it looks in game:

unholy6


We have plans to extend the system, and use it more intensively. E.g. we have not yet used the feature „various NPCs and various phrases may have various bubble types” as intensively as we want to. We will!

If you like our “bubble science”, please add The Unholy Society to your wishlist to stay up to day with all further announcements.

Cat-astrophe Games

The Unholy Society Devlog: We work so hard on this game, it’s just unholy!

The Unholy Society Devlog: We work so hard on this game, it’s just unholy!

The Unholy Society

Oh, so you wanna check out, how’s the game developement progressing. Sure, just sign here with your blood…

Add game Games
The Unholy Society

The Unholy Society

Adventure

The Unholy Society is a game inspired by 80s and 90s action movies as well as comic book series such as Preacher and Constantine. It presents a world...

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Twitter

Latest tweets from @castleengine

Not Quake – an example of real-time multi-player shooter (a bit like Quake :) ) using Castle Game Engine and RNL Castle-engine.io

Jun 24 2022

Fixes to GL context sharing in editor Castle-engine.io

Jun 11 2022

How to use GitHub Actions with your CGE project to get automatic builds Castle-engine.io

Jun 10 2022

view3dscene now available also for macOS and Raspberry Pi Castle-engine.io

Jun 5 2022

Summary of 2nd Open Meeting for CGE Users and Developers, and announcing the 3rd meeting – September 17th Castle-engine.io

Jun 4 2022

Huge improvements for macOS users: macOS binary beta release, Cocoa backend for TCastleWindow, automatic running an… T.co

May 28 2022

Save the date: Next weekend: 2nd Open Meeting for CGE Users and Developers Castle-engine.io

May 27 2022

Big update to “Custom Components” documentation, critical localization fix Castle-engine.io

May 22 2022

Compositing shaders improvements, “Mountains of Fire” demo updated Castle-engine.io

May 21 2022

Double click in the output to open code editor Castle-engine.io

May 20 2022