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.

X

Latest posts from @castleengine

International Pascal Congress – my presentation slides, various (positive) thoughts about Pascal (both FPC and De… T.co

Jul 8 2023

RT @SciPasTips: A fascinating course by Michalis Kamburelis on developing games in #Pascal with the Castle Game Engine at the Inter… T.co

Jul 7 2023

Big renderer improvements: Correct and automatic blending sorting, more powerful batching (now cross-scene), easier… T.co

Jul 1 2023

Planned: Steam integration and engine available as a download on Steam #catleengine #opensource #steam #pascalT.co

Jun 17 2023

Engine roadmap – see what’s coming in the future! #castleengine #opensource #pascal #freepascal #delphi #gamedevT.co

Jun 16 2023

Import models from Sketchfab using Castle Game Engine editor #castleengine #opensource #pascal #freepascal #delphiT.co

Jun 9 2023

Images in UI: Regions (subset of image) and visual editing of both region and 9-slices #castleengine #gameengineT.co

Jun 3 2023

Using Sketchfab API to search and download glTF (to be integrated in Castle Game Engine) #castleengine #opensourceT.co

May 26 2023