Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - scellow

Pages: [1]
1
Feature requests / Re: Sprite batching
« on: March 03, 2017, 01:30:55 am »
+1 would love to see official spritebatch class like in libGDX or monogame

2
General discussions / Re: Discord Anyone?
« on: March 03, 2017, 01:29:41 am »
Discord or Slack are more that just chat or IRC clones

You can paste code / upload files / embed images etc, message history, web, phone, desktop, all the same, all functionality available, and BOT api is excellent, i was sceptical last year, but then i decided to give it a try, and i love it

3
SFML projects / Re: Remnants of Naezith is now on Greenlight!
« on: February 04, 2017, 11:06:54 pm »
Wow it looks awesome, nice work!

4
SFML projects / Re: Screenshot Thread
« on: June 09, 2016, 01:05:43 pm »
@ scellow
So you are the dev of realm of the mad king? Nice too meet you here. :D

I played it some time ago (is it still free of steam?) and thought it was a funny little game.

Hey, nooo i'm not ahaha

I'm just a fan of the game :p, i'm doing this for learning purpose

5
DotNet / Re: Poor performance using multiple VertexArray
« on: May 23, 2016, 01:33:38 am »
Sorry for late reply

But i "solved" my issue by using Image and Texture instead of VertexArray

That's the only way i found to be able to render 4 millions of tiles while zoomed out with constant 60+ FPS

And i'm able to save lot of texture swap since i'm only dealing with colors data (only one draw call by chunks, even if i'm using multiple different tilesets)

Here is the updated code of the Chunk:

using System;
using SFML.Graphics;
using SFML.System;
using TheRoguer.Client.Legacy.Managers;
using TheRoguer.Client.Legacy.Utils;
using TheRoguer.Client.Legacy.Data;

namespace TheRoguer.Client.Legacy.World.Map
{
    public class Chunk : Drawable
    {

        private Texture m_texture;
        public Vector2f Position;
        private Image m_image;
        private Sprite m_sprite;
        private bool m_dirty;

        public Chunk()
        {
            m_texture = new Texture(TileMap.CHUNK_SIZE * TileMap.TILE_SIZE, TileMap.CHUNK_SIZE * TileMap.TILE_SIZE);
            m_image = new Image(TileMap.CHUNK_SIZE * TileMap.TILE_SIZE, TileMap.CHUNK_SIZE * TileMap.TILE_SIZE);
            m_sprite = new Sprite(m_texture);
        }

        public void Reset(int offsetX, int offsetY)
        {
            Position = new Vector2f(offsetX, offsetY + 4);
            m_sprite.Position = Position;
        }

        public void Draw(RenderTarget target, RenderStates states)
        {
            target.Draw(m_sprite);
        }


        public void Update(int time, int delta)
        {
            if (m_dirty)
            {
                m_texture.Update(m_image);
                m_sprite.Texture = m_texture;
                m_dirty = false;
            }
        }

        public void Paint(int x, int y, TextureData textureData)
        {

            var textureRegion = AssetManager.Instance.GetRegion(textureData);
            if (textureRegion.Texture == null)
                Log.Error(GetType(), $"Texture Region for {textureData.File}:{textureData.Index} not found");

            var world_x = x * TileMap.TILE_SIZE;
            var world_y = y * TileMap.TILE_SIZE;


            for (var tex = 0; tex < textureRegion.Width; tex++)
            {
                for (var tey = 0; tey < textureRegion.Height; tey++)
                {
                    var color = textureRegion.GetColor(tex, tey);
                    var pix_x = world_x + tex;
                    var pix_y = world_y + tey;
                    m_image.SetPixel((uint) pix_x, (uint) pix_y, color);
                }
            }

            m_dirty = true;
        }

        public void Dispose()
        {
            PoolingManager.Instance.Recycle(this);
        }
    }
}
 

6
SFML projects / Re: Screenshot Thread
« on: May 21, 2016, 12:59:44 am »
I'm rewriting the MMO Realm of the Mad God using SFML (C#) from scratch

I was first using MonoGame, but i wasn't really happy with the framework, i always loved how SFML was designed, but i was not enough experienced to be productive with it (that's why i first picked MonoGame), few month later, i learnt lot of things and i decided to switch from MonoGame to SFML, and as a surprise memory usage dropped by 50% :D








The client connects to official servers

I decided to start this project as a learning purpose and i plan to use this client for my own game (with different assets of course)

The client is fully working, i handle all the original packets, projectiles, gameobjects, collisions, stats modifiers, damage, etc..

The only missing thing is the UI..

EDIT:
Oops, looks like i forgot to reimplement the shadows when i did the framework switch :p

7
Feature requests / Re: Vulkan Support
« on: May 20, 2016, 02:21:20 am »
Vulkan is also compatible with less GPUs than OpenGL 1.1.

This is a false problem

Technology is moving, every cards that will be sold in the future will be compatible with vulkan, we are devs, we should embrace new technologies early to be ready when customers will demand it

8
C# use little endian, i'm not using sfml network but i think the best would be an option to choose what endian to use

9
General discussions / Re: SFML 3 - What is your vision?
« on: May 20, 2016, 02:13:14 am »
For SFML 3.0 i hope you'll still maintain the C# binding :p


It would be nice to have extended features for Vectors, like Lerp/Distance, and an official tweaning api would be great addition i think

EDIT:

Console support would be cool too :p

10
DotNet / Re: Poor performance using multiple VertexArray
« on: March 18, 2016, 11:35:42 am »
Is your GPU driver installed & uptodate?
Did you test this in release mode?

Have you run a profiler over your code?

GPU driver is installed and up to date, tried with both NVIDIA and AMD card

I did tested in debug and release mode, but same result

I tried to profile CPU and GPU usage, i'm not really experienced in profiling, but GPU usage was all the time at 100% when drawing these 256 chunks

I'm not sure what i should check when i profile, can you suggest me something please?

Each chunk has it's own VertexArray
[...]
One Chunk = 128x128 tiles = 2048x2048 pixels
[...]
Number of chunks = 256
And i'm getting 12fps when i render all the chunks, it's really bad performance for only 256 draw calls...
Why are you drawing all 256 chunks that are each 2048x2048?
Surely you only need to draw the one(s) that are actually visible.

I know i should only draw the visible ones, but i want to draw them all for my map editor (being able to zoom-out is a feature)

11
DotNet / Poor performance using multiple VertexArray
« on: March 17, 2016, 10:55:08 pm »
Hello,

I'm actually making a tilemap using VertexArray, my tilemap is split in multiple chunks

Each chunk has it's own VertexArray

One Tile = 16x16 pixels
One Chunk = 128x128 tiles = 2048x2048 pixels
Map = 2048x2048 tiles = 4194304 tiles
Number of chunks = 256

And i'm getting 12fps when i render all the chunks, it's really bad performance for only 256 draw calls...

Here is a ready to use project, so you can test: https://bitbucket.org/Scellow/projecttr

Is there something i'm missing? I also tried using RenderTexture but i get same result..

12
DotNet / Re: How to use SFML.NET on linux/mono?
« on: October 05, 2015, 09:27:14 pm »
Make sure your *.config files are located next to your sfmlnet-*.dll's

Also try the full path of your native lib /usr/lib/libcsfml-*.so.2.3

EDIT:

Make sure you installed both smlf and csfml packages !!

13
General discussions / Re: Fundraiser for a Mac mini
« on: October 05, 2015, 09:09:56 pm »
Why not a Hackintosh (Installing OS X on a PC) ? Cheaper, easier, faster :)

If other people in the team need OS X but can't purchase one, just watch over here: http://www.insanelymac.com/forum/

Pages: [1]