Welcome, Guest. Please login or register.

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.

Topics - achpile

Pages: [1]
SFML projects / AchBall
« on: September 27, 2017, 04:38:19 pm »
I decided to remaster a game I made 7-8 years ago :D Gameplay is very simple - you must hit the target by the ball. Each wall hit gives you 10 points. Yeah, that's all ;D

To make gameplay more interesting there will be different achievements, leaderboards and some different things on stages, like moving platforms, fragile blocks etc.

SFML projects / Dispersio 2
« on: June 28, 2017, 12:38:20 pm »
Engine is almost finished, so here's a tech-demo :) Now it's time to start making content: locations, enemies, bosses etc. Probably I will post here screenshots later :)

SFML projects / Dispersio is now available on Steam!
« on: June 16, 2016, 09:17:29 pm »
Dispersio is now available on steam!


After a disastrous geological experiment, the Earth was ruptured into dozens of asteroids, some of which hold remnants of what humanity had left behind. Many space travelers explore these asteroids in search of treasures and ancient relics. It took approximately twenty years to gather information about the location of the mysterious ancient crystal, which will give arcane power to whoever first obtains it - and so our brave hero seizes the chance to go on a perilous adventure and be the one to unearth the crystal. Who knows where it will lead?

Dispersio is a retro-styled action platformer. As you progress through the game, you will have to use and combine special abilities, such as dashing, wall-jumping and more.

There's even a hard mode for hardcore players. Can you beat each level without dying?

  • Precisely tuned platforming mechanics
  • Interesting, detailed and challenging maps
  • 7 different abilities
  • Lots of secrets
  • A great unique soundtracks
  • Achievements
  • Gamepad support

Greenlight message:
(click to show/hide)

Old message:
(click to show/hide)

Feature requests / More Events
« on: April 18, 2016, 11:39:26 am »
What about to add some more events? For example: DROPFILES and HOTKEY.

SFML projects / Timer for speedruns "Stopwatch"
« on: April 17, 2016, 10:02:09 pm »
Made it just for one day  :D Coding speedrun  ;D

Well, after browsing web for a good speedrun timer didn't find anything nice for linux and decided to write my own.

More detailed description can be found here: https://github.com/achpile/asplit/releases/tag/v1.0-rc1

Window / Joystick axes
« on: April 21, 2015, 08:07:06 am »
This is the strangest thing I ever seen. I have a joystick "EXEQ Spitfire" and tested it on 4 different systems:

  • Linux 32bit laptop ASUS X200CA
  • Linux 64bit (Ubuntu 14.10) at home
  • WinXP 32bit at home
  • Linux 64bit (Ubuntu 14.10) at work

All the linux systems throw me two messages to console:
Unable to get joystick attribute. Could not find USB device for joystick at index 0.
Unable to get joystick attribute. Could not find USB device for joystick at index 0.

This code:
printf("[%u : %u] %s\n", sf::Joystick::getIdentification(0).vendorId,

Gives me:
[0 : 0] Microntek              USB Joystick

Well, about the problem:

Linux 64bit (Ubuntu 14.10) at work works properly.

WinXP 32bit at home gives me (-0.78, -0.78) on X and Y axes when nothing is pressed.

Linux 32bit on laptop and Linux 64bit (Ubuntu 14.10) at home got same results on following sequence:
1. I connect joystick
2. Run application
3. Get axes positions (-100, -100) on X and Y
4. Pressing D-pad on X and Y
5. Releasing D-pad and got (0, 0)
6. Run application again
7. Get axes positions (0, 0) on X and Y

So the initial state is wrong.

Can anyone help me, what could be the reason of this strange behavior?  :-\

Tested on this:

#include <SFML/Window.hpp>
#include <stdio.h>
#include <unistd.h>

int main() {
        sf::Window window(sf::VideoMode(800, 600), "My window");

        while (window.isOpen()) {
                sf::Event event;

                while (window.pollEvent(event)) {
                        if (event.type == sf::Event::Closed)

                printf("(%3.2f, %3.2f)\n", sf::Joystick::getAxisPosition(0, sf::Joystick::X),
                                           sf::Joystick::getAxisPosition(0, sf::Joystick::Y));
        return 0;

gcc main.cpp -o test -lsfml-window -lsfml-system -lstdc++

Feature requests / sf::RectangleShape(sf::FloatRect) constructor
« on: April 14, 2015, 05:36:44 pm »
I think it will be useful to make a RectangleShape constructor with FloatRect argument ;)

position = sf::Vector2f(left, top);
size = sf::Vector2f(width, height);

General discussions / Congratilations with Programmers day!
« on: September 13, 2014, 01:11:59 pm »
Let me congrat all of you with Programmer's day!!!  ;D Have fun while coding! And let me wish you all good wishes!  :P

SFML projects / Image Palette Applier
« on: September 09, 2014, 10:15:15 pm »
Good day!

For some time I was looking for the way to apply color palette to specific image (to make image use only colors, defined in palette).

GIMP can make indexed image, but there's 2 main problems:
  • Limitation of 256 colors
  • Alpha channel reset

Well, I decided to make own implementation (it's not finished yet, but workable).

Current features:
  • Able to choose what coordinates to use RGB or HSV
  • Support for GPL and TXT (exported from GIMP) palettes

For now it rewrites original file. Maybe I'll add an option later.
Btw, my tool much slower than GIMP, but it was 4 times slower before I've implemented cache  ;D


Well, screenshots, of course  :D
For all of the manipulations I used 'Cranes' palette from GIMP.

PS: maybe it's a bad example (palette not great to use on this image). So... The only way to find out it's usability is to check it out  ;)


GIMP indexing result:

RGB space:

HSV space:

Feature requests / sf::Rect extension
« on: August 28, 2014, 01:04:53 pm »
I think it will be useful functions to get position, size and (position + size) of the rectangle class instead of using everywhere in the code sf::Vector2(rect.left, rect.top) use simple rect.getPosition().

I don't want to make a pull request, 'cause some my things (like doxygen comments and formatting) may differ of what supposed to be. So here's a simple patch. And I don't know, how to name function returning (position + size) :D

diff --git a/include/SFML/Graphics/Rect.hpp b/include/SFML/Graphics/Rect.hpp
index 2880722..d565b5e 100644
--- a/include/SFML/Graphics/Rect.hpp
+++ b/include/SFML/Graphics/Rect.hpp
@@ -146,6 +146,36 @@ public :
     bool intersects(const Rect<T>& rectangle, Rect<T>& intersection) const;
+    /// \brief Get the position of the rectangle
+    ///
+    /// This returns the position of the rectangle
+    ///
+    /// \return Rectangle position
+    ///
+    ////////////////////////////////////////////////////////////
+    Vector2<T> getPosition();
+    ////////////////////////////////////////////////////////////
+    /// \brief Get the size of the rectangle
+    ///
+    /// This returns the size of the rectangle
+    ///
+    /// \return Rectangle size
+    ///
+    ////////////////////////////////////////////////////////////
+    Vector2<T> getSize();
+    ////////////////////////////////////////////////////////////
+    /// \brief Get the position of the far point of the rectangle
+    ///
+    /// This returns the position of the far point of the rectangle
+    ///
+    /// \return Rectangle position of the far point
+    ///
+    ////////////////////////////////////////////////////////////
+    Vector2<T> getPositionFar();
+    ////////////////////////////////////////////////////////////
     // Member data
     T left;   ///< Left coordinate of the rectangle
diff --git a/include/SFML/Graphics/Rect.inl b/include/SFML/Graphics/Rect.inl
index 4a92397..779c904 100644
--- a/include/SFML/Graphics/Rect.inl
+++ b/include/SFML/Graphics/Rect.inl
@@ -157,3 +157,27 @@ inline bool operator !=(const Rect<T>& left, const Rect<T>& right)
     return !(left == right);
+template <typename T>
+Vector2<T> Rect<T>::getPosition()
+    return Vector2<T>(left, top);
+template <typename T>
+Vector2<T> Rect<T>::getSize()
+    return Vector2<T>(width, height);
+template <typename T>
+Vector2<T> Rect<T>::getPositionFar()
+    return Vector2<T>(static_cast<T>(left + width), static_cast<T>(top + height));

SFML wiki / SFML dynamic color tile-based lighting
« on: August 27, 2014, 09:12:48 am »
Some time ago i've posted info about the project I'm working on (F.I.R.E.D. http://en.sfml-dev.org/forums/index.php?topic=16025.0)

And now I've decided to make a simple demo and write an article about my lighting system.

Sources: https://github.com/achpile/sfml-lighting
Article: https://github.com/SFML/SFML/wiki/Tutorial:-Dynamic-colorful-tile-based-lighting

So, if you'll find something wrong or untold in the article - feel free to post your requests ;)

PS: to compile demo you have to install sfgui.

SFML projects / F.I.R.E.D. v0.99.pre-alpha
« on: August 10, 2014, 06:28:44 pm »
Good day! Let me introduce a game I developed for 13-14 months. But it's still just an engine. It is a platformer with rpg elements (You can wear different armors, equip different weapon and different ammo). You gain XP after killing enemies, increasing your level and basic skills (Strength, Constitution, Dexterity and Intelligence) and your main characteristics depend on it (Shooting accuracy, speed, acceleration, jump, HP, aim range and XP bonus).

Official website: http://achpile.tk/
Github repo: https://github.com/achpile/fired
Screenshots : http://achpile.tk/projects/fired/screenshots
Contacts: http://achpile.tk/contacts.php

For now only Linux and Windows binaries are available (http://fired.tk/downloads/1/)

Main features:
  • Dynamic light
  • Tiled map with borders calculation
  • Weather system
  • 3 armor sets
  • Bone animation based on model type
  • 3 model types (humanoid, animal, spider)
  • 13 weapons
  • 5 weapon types (Automatic guns, Pistols, Shotguns, Explosive and Melee)
  • 14 creatures (5 critters, 3 bosses (with big loot) and 6 common enemies)
  • 2 demo game modes (common and 'I Hate Critters'). I don't want to talk about it. Just try it out  :)
  • ...and more stuff I can't remember  :D

  • A - move left
  • D - move right 
  • SPACE - jump
  • S - jumpdown 
  • LEFT MOUSE - shot 
  • Q - switch weapon
  • E - interact 
  • C - character window 
  • I - inventory window 
  • ESC - main menu

The game have no conception yet. Only in my mind. And I want to talk about it. As I told, for now it's a simple 'game engine'. So, it would be great to hear your suggestions for project's future.

For me it is:
2 basic locations (Home and City). At home you can store your stuff and there will live some private NPC (appears after some conditions). In City there will be public location for all players on the server. They can create parties to go to dungeons or quest locations or go there alone, interact with common NPC (traders, quest, etc.). When party/player will go to dungeon/quest location the new map will be randomly generated. Also there will be several biomes, contains own style and world generators. And maybe there will be arenas, or something similar (PvP) game modes.

If you have own suggestion, found a bug, or there is something else you wanna tell me - post it here, or in forums at http://fired.tk/forum/

Thanks for attention!  ;)

Graphics / Scale sprites with repeating instead of stretching
« on: July 19, 2013, 07:30:16 am »
Hi. I'm new in SFML, but have experience in OpenGL.
Well... Is there a way to fill background with some sprite in SFML v1.6?

For example sprite size is 512x512, screen size is 1024x768.

If I resize it to screen size, the texture coordinates will still be the (0, 0) - (1, 1) and the sprite streches.
How can I resize sprite with changing texture coordinates to (0, 0) - (2, 1.5) to fill all the background without "for" statements etc.?

I've read about sf::RenderTexture and method setRepeated(bool), but it is in SFML v2.0

Pages: [1]