C# Artemis Entity System Tutorial
Posted by tpastor in All Posts, Divulgação, Portfolio on 29 de abril de 2013
![]()
Its goal is to provide a clean API to abstract your game world organization into entities, components and systems.
Artemis has no dependencies (for PC, in Xbox and Windows Phone 7 we have one) and can be used with any game framework or library, 2D or 3D, and even multiplatform, if you use it with Mono/MonoTouch/Mono4Android.
Leia o resto desse post »
Implementing a Render Queue for Games
Posted by tpastor in All Posts, Computacao Grafica on 3 de abril de 2013
Rendering a complex scenes is far from a straightforward task. In a world with Directx 11 multithreading, multicores CPUs, lots of multipass techniques, agressive culling, lots of GPU state transitions …. it is not simple to design a render that handles well all of those requirements. This article will show how to implement a simple strategy that tries to fulfill in a fashion way all of these needs. Leia o resto desse post »
BitField in Shaders (SM 3 and before)
Posted by tpastor in Computacao Grafica, Shader Code Snippet on 19 de março de 2013
Sometimes we need to encode lots of boolean flags in a texture channel and recover it in a shader. I found that shader model 3 and before dont have bitwise operations (they only support floats … that dont have this …) !!!
Fortunately i found some help on the old good float math and i managed to solve this even on SM 2.
Leia o resto desse post »
Artemis Entity System for Games now on Nuget
Our New version of Artemis Entity System (1.2.0) is now avaliable on Nuget (Packet Manager for .Net). Installing Artemis is easier than ever.
Check it out: http://nuget.org/packages/Artemis
This new version contains some refactoring (namespaces, function and parameter names) and minor performance improve changes. No extra funcionality added.
Enjoy !!! Leia o resto desse post »
New Version C# Entity System Artemis Released
After quite a long time, we are releasing a new version of our C# Entity System called Artemis. It was born as a port of the original Java Artemis, but as the time is passing, they are diverging more and more. In this version we started to use more .Net Features (like Data Attributes and Events) to make everyones life a bit easier Leia o resto desse post »
C# Wrappers of RVO2 Libraries now in Git Repo

Our Wrapper of the C++ RVO2 and C++ RVO3D Library was uploaded to Git Repo and can be found here: https://github.com/tpastor/CSharpRVO.
Those libraries are extensively used for multi agent simulation (like crowd )
Enjoy !
Releasing TelemetrySystem For The Game F1 2012

F1 2012 is one of the games i most enjoy playing. (with the steering wheel =P). Since the F1 2010, the thing that i always wanted was a telemetry system. I wanted to be able to change a single car parameter and see how it actually affects my lap.
Instead of waiting for the codemaster to provide this funcionality, i decided to implement one using the car data that F1 201x series always broadcasted via UDP sockets. Leia o resto desse post »
Car Physics Simulation
Recentely i worked in a car simulation program that aimed to gather information from a real device and replay it (with some customs overlays) in an Virtual 3D environment.
The biggest problem i got was finding properly references and learning resources. (surprisely, is hard to find good material about this subject =P).
In this post i will show some valuable tips that helped me in this quest !
Weak Reference in C#
We know that C# is a garbage-collected language. This usually means that we (programmers) don’t need to explicitly free our own memory. When we talk about a reference to an object in .NET (and in most other garbage collected languages), we are talking about a “strong” reference. As long as that reference exists, the garbage collector won’t collect the object behind it.
A weak reference is a special type of reference where the garbage collector can still collect the underlying object, even though you still technically have a reference to it. Leia o resto desse post »









Some years ago i implemented a full Software Render (learning purpose) using just regular C#.