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.


Topics - Milerius

Pages: [1]
1
Introduction:

Hello I worked on this project for 2 years through different repository. Today I present shiva an extensible engine via an entity component system through scripts (lua / python), DLLs, or even header-only (C++).

Another interesting point of the project:

Since the project is divided into modules, you can consult the matrix of modules and their dependencies and therefore you can choose to use the modules that interest you or not.

One of the goals of the project is to introduce you to the ease of handling C++ dependencies with VCPKG on a project like this. But also to make you discover very useful open sources libraries.

Design/Features:
- Modern CMake interfaces/modules
- Scripting through lua/python systems
- Usable / Install through VCPKG C++ package manager

Documentation:
-> https://shiva.gitbook.io/project/shiva

Dependencies:
  • boost-stacktrace
  • boost-filesystem (because of boost-dll)
  • boost-dll
  • entt (from skypjack)
  • lua
  • luafilesystem
  • sol2 (from ThePhd)
  • pybind11
  • cpp-taskflow (integrated in the project)
  • spdlog​ (from Gabime)
  • expected (from Tartan Lama) (integrated in the project)
  • NamedType (from Jonathan Boccara) (integrated in the project)
  • Nanorange (from tcbrindle) (integrated in the project)

There is additional plugins like shiva-sfml (not finished yet but usable).

Funny information:

For the moment there are not many lines of code, but a lot of code generate through templates.
(~45kloc) ->  (~800kloc generated)

Additional information:

You can find the roadmap here -> https://shiva.gitbook.io/project/shiva/roadmap.

If you have a question about the project or if something seems wrong or poorly explained, do not hesitate to ask me questions.

I am already aware that the name of the project conflicts with a c ++ engine that is also called shiva, but when I created this project I was not aware of the existence of this project.

Since I am alone on the project. I really take my time to develop it. It is possible that there is something missing in the documentation, or that some modules are not yet documented.

I started C++ only 2,5 years ago, thank you for being nice!

Gallery:

Here is a video made with an old version of the game engine to give you an idea (done with SFML).


Link:
https://github.com/Milerius/shiva

2
General / OSX Sierra static runtime broken
« on: June 18, 2018, 02:55:36 pm »
Hello

Today I wanted to use SFML in static on my mac, only it seems that I crash immediately at the launch of the program. So I decided to reproduce the error with an all-fresh build of the sfml.

Here is the procedure:
Code: [Select]
git clone https://github.com/SFML/SFML
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS:BOOL=OFF -DSFML_BUILD_EXAMPLES:BOOL=ON ..
make -j
cd examples/window
./window
There is the fullstacktrace:

Code: [Select]
2018-06-18 14:46:19.399 window[11527:6544367] -[SFOpenGLView enableKeyRepeat]: unrecognized selector sent to instance 0x7fe0b762c5c0
2018-06-18 14:46:19.399 window[11527:6544367] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SFOpenGLView enableKeyRepeat]: unrecognized selector sent to instance 0x7fe0b762c5c0'
*** First throw call stack:
(
0   CoreFoundation                      0x00007fff41f37fcb __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x00007fff68bd5c76 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff41fd0a24 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3   CoreFoundation                      0x00007fff41eae610 ___forwarding___ + 1456
4   CoreFoundation                      0x00007fff41eadfd8 _CF_forwarding_prep_0 + 120
5   window                              0x000000010af7f34a -[SFOpenGLView initWithFrame:fullscreen:] + 122
6   window                              0x000000010af808c5 -[SFWindowController setupWindowWithMode:andStyle:] + 437
7   window                              0x000000010af801e4 -[SFWindowController initWithMode:andStyle:] + 356
8   window                              0x000000010af82a96 _ZN2sf4priv15WindowImplCocoaC2ENS_9VideoModeERKNS_6StringEmRKNS_15ContextSettingsE + 230
9   window                              0x000000010af761f3 _ZN2sf4priv10WindowImpl6createENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE + 67
10  window                              0x000000010af75215 _ZN2sf6Window6createENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE + 469
11  window                              0x000000010af752d7 _ZN2sf6WindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE + 119
12  window                              0x000000010af6f74d main + 173
13  window                              0x000000010af6f694 start + 52
)
libc++abi.dylib: terminating with uncaught exception of type NSException
[1]    11527 abort      ./window

Computer:
macOs High Sierra 10.13.3

Compiler:
Code: [Select]
./clang++ -v
clang version 6.0.0 (tags/RELEASE_600/final)
Target: x86_64-apple-darwin17.4.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin

There seems to be an error in the objective-c code, I do not know if it's a regression since 2.5.0 I've never used SFML in static on this platform before

Thanks you for your help !

3
Graphics / sf::View slow zoom in loop
« on: January 16, 2018, 10:38:36 pm »
Hello, i'm trying to do a zoom in effect with sfMovie movie playing in background using this snippet of code :



But this is in a gameLoop, and it's very fast (60fps), the minimal factor is 0.99f, any idea to getting the zoom slower and still looking smooth ?

4
SFML projects / R-Type 2D shoot'em up (C++17)
« on: December 12, 2017, 10:46:31 pm »
Hello, I'm creating this topic to share with you our new school project: re-create the R-Type game, for those who may not know it, the R-Type is a famous shoot'em up.

It is still under development and we plan to leave it open source for the community at the end of the project.

It is coded in C++ 17, and runs on Windows, OSX, and Linux.

It takes advantage of modern c++: semantics of displacement, modern CMake, variadic templates, structured bindings, lambda, nested namespace etc ...

The game will be playable in network, up to 4 players.

Lore:
2032. A war was declared between Maul and an unknown enemy, the first wave of attacks was already past, Maul has never been in a worse condition than this one. Soldiers lost hope, people lived in fear and the government wasn’t able to find a plan that would save their planet. There were actually two more planets close by called Bheet and Kooy, but god knows for how many centuries both of them hated Maul. They never agreed on many aspects such as religion or politics. The thing is that Bheet and Kooy tried to approach the enemy saying they had the same goals in mind but the enemy didn’t pay attention to them nor he gave them a chance to prove their selves as good allies. This is why Bheet and Kooy realized that once the enemy was done with Maul, they would be next on the list and decided to help out Maul knowing that they would probably have more chance to beat him as three planets than only two.

The idea of ​​the game is to be able to create the "Character", here you will be the pilot of your spaceship, then you will have the choice between 3 factions:

* Bheet (Offensive Faction)
* Kooy (Support Faction)
* Maul (Defensive Faction)

Video :


As you can see in the video, you have stats, these stats will change depending on your progress in the game,
for each level you'll get 5 points that you'll be able to spend to increase your statistics.

The bosses of the game, will adapt according to your team composition, for example if you have two support ships and an offensive spaceship in your composition then the boss will change his behavior during the confrontation.

When you get level 10, you have to choose a specialization.
For example if you took the support class you can either choose to specialize in shields or in heals.
After that every 10 levels you can either change that specialization or upgrade it.
Your spaceship will change its skins depending on the specialization you choose and on the upgrades you made.

We haven't made up our mind on the game design yet, so do not hesitate to give us your ideas.

The deadline is for January 26, 2018, but even after that, we really want to continue improving it with the feedback of the community.

For external libraries we use:

* SFML (Audio / Graphics)
* Boost (Asio)
* RapidJson (Parsing)
* Sol2.hpp (Lua)
* CEGUI (Game User Interfaces)
* CPPRESTSDK (Api communication)

Other videos:


Screenshots:
Login :


Create Scene :


Example Window exit :


This topic will be updated everytime we have some new screenshots or new features.


5
Audio / Audio Spatialization in 3d context like Ogre
« on: May 18, 2017, 12:06:56 am »
Hello,

I'm currently doing a project for my school with Ogre3D, i use sfml audio for the sound.

I would like to play a 3D sound appropriately, based on my position on the map and the sound source's

position at the start of the game :
,

there is the place where the sound is played :




the skeleton play the sound when he is hitting the torso

there is the snippet of my code,

position of the skeleton in the 3d scene:
_cesar->setPosition(710.6, 30, 557.64);
 


set the listener, the listener is my camera.
       
sf::Listener::setGlobalVolume(50);
sf::Listener::setPosition(_cameraMan->getCamera()->getPosition().x,
_cameraMan->getCamera()->getPosition().y, _cameraMan->getCamera()->getPosition().z);
evt::EventManager::getSingletonPtr()->emit<evt::SoundEffectSpatialization>(effect::ImpactBoom, _cesar->getPosition(), true);
 

the _cameraman is my actual position in the map, the listener has his position.

Update of the listener at each frame:
     
_soundMgr->update(evt.timeSinceLastFrame,
TestScene::getSingletonPtr()->_cameraMan->getCamera()->getPosition(),
TestScene::getSingletonPtr()->_cameraMan->getCamera()->getDirection());
 
void SoundEffectsManager::update(float timeSinceLastFrame, const Ogre::Vector3& position,
const Ogre::Vector3& direction)
        {
            sf::Listener::setPosition(static_cast<float> (position.x),
                static_cast<float> (position.y),
                static_cast<float> (position.z));
            //sf::Listener::setDirection(direction.x, direction.y, direction.z);
        }
 
sound play:
  void SoundEffectsManager::playSound(const effect& effectId, const Ogre::Vector3& position, bool loop)
        {
            if (!_effects.isLoaded(effectId))
                _effects.loadResource(effectId, _effectsPath[effectId]);
            _sndBuffer = _effects.getResource(effectId);
            _snd.setBuffer(_sndBuffer);
            _snd.setVolume(100);
            _snd.setPosition(position.x, position.y, position.z);
            _snd.setRelativeToListener(true);

            //test
            _snd.setAttenuation(10.f);
            _snd.setMinDistance(5.f);
            //Volume factor = MinDistance / (MinDistance + Attenuation * (max(Distance, MinDistance) - MinDistance))



            _snd.setLoop(loop);

            _snd.play();
      }
 

I hear the sound the same way, whatever my position in the scene.
May be i do something wrong, let me know with some examples, sorry for my english!

Thanks you very much!

Pages: [1]
anything