The navigation flow in games is a very important part that can be difficult to deal with. In this article we will introduce a possible strategy to solve this.
Wave Engine provides generic services and tools to manage scene transitions and basic navigation. However, distributing the navigation logic between different scenes and behaviors can be tricky at times and difficult to scale.
To solve this, an interesting approach is to use a service that contains all the navigation logic, managing transitions and deferred loading between scenes. Later, a simple and generic component can be used to link navigation events to buttons in the scene and hardware buttons. Continue reading Facing navigation flow with Wave Engine
In this article we will learn how components resolve their dependencies with other components and how the custom attribute [RequiredComponent] works.
Entity and Components
As you know, an Entity represents a logic element of our game and it is an empty box where you can put component insides which define what the entity can do.
The logic hierarchy is handle by the EntityManager which stores the struct of all the entities in our scene. For example:
Continue reading How components resolve their dependencies
In this article we will describe how the WaveEngine initialization cycle is. It is very important to know this in order to avoid issues inserting some loading code in the incorrect method.
We will create a new project to analyze how this works.
Continue reading Wave Engine initialization cycle
In the next Wave Engine version, we are introducing a new feature that can help improving your productivity.
We have decided to add relative entity path in our engine, allowing to obtain an entity just knowing its path from another entity.
This will be really helpful when you’re creating components that reference other entities and:
- You don’t know the target entity’s absolute path.
- Your component is used several times in your scene.
- You want to make your component / entity reusable.
Continue reading [Working on] Relative entity paths
What is Nine-Patch?
A Nine-Patch is an image format that adds extra information on an image file, defining what parts of it should be scaled (and which are not) when the image is rendered in a larger or smaller size. This technique was introduced in the Android SDK and is very useful for creating UI components like buttons, panels, containers, etc.
Using this technique, you can define the background of multiples UI components like panels or buttons with the same image asset. You can also create large panels with a reduced image asset so is very useful for optimizing your project resources.
New WaveEngine 2.3.0 (Saw Shark) brings a lot of new features. Although our main new feature is the new Physics 2D engine, we will expose all the new features and improvements of this version.
New Physics 2D Engine integration
WaveEngine 2.3.0 (Saw Shark) includes a native wrapper for Box2D up to 60% faster compared to our last physics engine. Furthermore the new API is faithful to the Box2D API so you can port any Box2D sample to our new WaveEngine API.
Read this article for more details.
Continue reading What’s new in Wave Engine Saw Shark (2.3.0)
Wave Engine 2.3.0 (Saw Shark) has added a lot of new features. One of them is a new set of GameActions specialized for animating entities. In this article you may have been realized that GameActions are a really powerful and customizable way to create your own behaviors and interact with others in an easy flow, creating sequential and parallel GameActions to animate your entities. However, they relied on the user the task of creating its own animations as WaveEngine offered the architecture.
Good news is that we’ve included a complete set of GameActions in WaveEngine.Components package. That includes type animations for simple types and transform animations for rotating, scaling and translating entities.
And because they are GameActions, they can be played in sequential order or parallel to others.
Continue reading New Animation 2D and 3D GameActions
In the last WaveEngine 2.3.0 version has been added Box2D physics engine as native integration. It allows a lots of new physics features and a better performance but it brings many API changes.
WaveEditor has a Upgrader Tool that automatically upgrade your project files to last WaveEngine version but doesn’t modify your source code. So you can find some issues after upgrade your project.
This article brings you a list of common issues and how to solve them:
RigidBody and Colliders
PhysicBodyType = PhysicBodyType.Static
PhysicBodyType = RigidBodyType2D.Static
Continue reading WaveEngine 2.2.1 to 2.3 Cheat sheet
Box2D is a 2D physics engine for games, for more related help, please visit http://www.box2D.org.
Now, in WaveEngine 2.3.0, we have integrated Box2D as 2D Physic engine. In previous versions, we use Farseer Physics (C# reimplementation of Box2D https://farseerphysics.codeplex.com). Farseer is a great tool, but we decided to step forward and include a 100% native physic engine.
Continue reading Box2D integration in WaveEngine 2.3.0
In the next Wave 2.3.0 we are introducing a useful set of components that will help to create your games. Some of them are the TextComponent, TextRenderer2D and TextRenderer3D components, allowing the user to create 2D and 3D labels in your scene directly from our Visual Editor. This article will explain how to create them.
Continue reading Text 2D & 3D with Visual Editor 2.3.0