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

Author Topic: Groogy's Game Engine  (Read 28827 times)

0 Members and 1 Guest are viewing this topic.

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #30 on: July 01, 2011, 09:30:29 am »
Hmmm didn't notice, sounds perfect in my headset. I'll see if I can boost the mic somehow.

And actually I do know what I am going to say, I do the clips in several takes divided into several parts. So I have probably said the same thing over 10 times before moving on. But it feels like it's loosening up, I guess it's just that I am not used to speak English but only write and read it.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Ceylo

  • Hero Member
  • *****
  • Posts: 2325
    • View Profile
    • http://sfemovie.yalir.org/
    • Email
Groogy's Game Engine
« Reply #31 on: July 01, 2011, 09:34:08 am »
The sound is good in a quiet environment, but with a few noises or some wind or whatever it becomes harder to hear.

So I suppose your spoken English will improve over the different video tutorials :) . Would be interesting to notice the difference between your first tutorial and your latest.
Want to play movies in your SFML application? Check out sfeMovie!

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #32 on: July 02, 2011, 07:14:21 am »
Aight so I am writing the licensing now for the engine and will take the same one as SFML, zlib/png license. I feel that it seems to be the easiest, most minimal and non intrusive license but still retain my right to say "Hey dudes! I made this!" which is more or less only thing I want. Correct me if I'm wrong.

Anyway taking the SFML one as an example:
Quote

SFML - Simple and Fast Multimedia Library
Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)


I'm interested in the bold part, the years written. What does this exactly mean? Can I just write 2011 there or do I have to apply somewhere for the copyright?

NOTE: Also added download links to the videos for offline use. Thanks to http://www.sfmluploads.org
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Posts: 4321
    • View Profile
    • Email
Groogy's Game Engine
« Reply #33 on: July 02, 2011, 11:06:46 am »
Quote from: "Groogy"
I'm interested in the bold part, the years written. What does this exactly mean? Can I just write 2011 there or do I have to apply somewhere for the copyright?
According to http://www.copyright.gov/circs/circ03.pdf , © 2011 YourName is good.
SFML / OS X developer

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #34 on: July 03, 2011, 05:36:54 pm »
Allright the project repo on Github has been created: https://github.com/Groogy/GGE (Also available in the main post under SDK)

I will create a Youtube tutorial on how to create a 3D scene as soon as I get time but right now I have to prepare for an exam tomorrow.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #35 on: July 05, 2011, 04:41:56 pm »
Allright new tutorial available and yes have improved the sound quality :)
Groogy's Game Engine Tutorial 3 - Drawing 3D: , Download part 1, Download part 2

Can also be found on the original post of this thread.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #36 on: July 05, 2011, 09:42:24 pm »
Updated with a debug module which comes with some helpful debug functions and logging. Now to just use it where needed in the other modules ^^
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

danman

  • Hero Member
  • *****
  • Posts: 1121
    • View Profile
    • Email
Groogy's Game Engine
« Reply #37 on: July 05, 2011, 10:50:41 pm »
Your engine is amazing and awesome :o . but why a ( const sf::Uint32 aDelta) in void Update in you 2nd video ? a ( const sf::Uint32& ) or a (sf::Uint32) is enought no ?

(no parameter name, because you don't use it)
Pointilleur professionnel

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #38 on: July 06, 2011, 01:33:35 am »
Quote from: "danman"
Your engine is amazing and awesome :o .

Thanks :D
And it will get better ;)

Quote from: "danman"
but why a ( const sf::Uint32 aDelta) in void Update in you 2nd video ? a ( const sf::Uint32& ) or a (sf::Uint32) is enought no ?


Well I make all arguments const for good practice. It's not an reference because a reference is also 32 bits big so there is no optimization there.

Any variable that does not need to be modified is made const so that no accidental modification is done. If you need to modify the delta time then just copy it to a new variable that is not constant. I think that the overhead from that is worth the extra security ;)

Also it's the code standard on the place I work/study at.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Groogy's Game Engine
« Reply #39 on: July 06, 2011, 01:40:47 am »
Quote from: "Groogy"
Well I make all arguments const for good practice.
I wouldn't do it for copied parameters, only for references and pointers. It is an implementation detail whether the function internally changes the copy, the caller isn't affected. I consider it better not to confuse him with irrelevant information.

You can still write the const in the function definition to make sure you don't accidentally change the parameter. The functions void Fn(int i) and void Fn(const int i) are identical.

In this thread, I explain the problem of overusing const in detail.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #40 on: July 06, 2011, 02:17:32 am »
Hmm okay makes sense. I could make the function declaration for Update comply with that so you can choose if you want it to be const or not yourself. Does it work the same with abstract methods?
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Alejandro

  • Newbie
  • *
  • Posts: 27
    • View Profile
Groogy's Game Engine
« Reply #41 on: July 07, 2011, 02:14:42 pm »
Sorry to bother you on the main thread with compilation problems, but after countless battles vs cmake I finally got to compile sfml2 and tried to compile the engine.

Most of the path variables for cmake were easy to find, but to get the sfml dir path right I had to rename the config.cmake file in the sfml cmake dir to SFMLconfig.cmake, so that cmake would accept the directory sfml2/cmake as nothing else seemed to work (sfml2 ; sfml2/src/SFML ; sfml2/src etc.)

After that cmake finally configured the project and I tried to build it using the command "mingw32-make all" and after about 21% completion I got the current log
Code: [Select]

[  6%] Built target gge-utilities
[  9%] Built target gge-system
[ 20%] Built target gge-threading
[ 21%] Building CXX object src/GGE/Graphics/CMakeFiles/gge-graphics.dir/Camera.cpp.obj
In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/TextureManager.hpp:30,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Material.hpp:32,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Renderer.hpp:30,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Camera.hpp:30,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\src\GGE\Grap
hics\Camera.cpp:25:
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp: In destructor 'GGE::Utilities::ResourceManager<Type, Identifier, MaxNum
>::~ResourceManager()':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:83: error: expected ';' before 'it'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:83: error: 'it' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:83: error: 'end' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp: In member function 'GGE::Utilities::Resource<Type, Identifier, MaxNum>
GGE::Utilities::ResourceManager<Type, Identifier, MaxNum>::Get(const Identifier&
)':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:111: error: expected ';' before 'it'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:112: error: 'it' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp: In member function 'Type* GGE::Utilities::ResourceManager<Type, Identif
ier, MaxNum>::GetResource(const Identifier&) const':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:145: error: expected ';' before 'it'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:146: error: 'it' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:150: error: 'it' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp: In member function 'void* GGE::Utilities::ResourceManager<Type, Identif
ier, MaxNum>::GetMemory()':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:217: error: expected ';' before 'resourceEnd'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:218: error: expected ';' before 'it'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:218: error: 'it' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:218: error: 'end' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:220: error: expected ';' before 'resourceIterator'
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:221: error: 'resourceIterator' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Utilities/ResourceMana
ger.hpp:221: error: 'resourceEnd' was not declared in this scope
In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/VertexShaderManager.hpp:28,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/ShaderProgram.hpp:29,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/ShaderProgramManager.hpp:28,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Renderer.hpp:31,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Camera.hpp:30,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\src\GGE\Grap
hics\Camera.cpp:25:
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Graphics/Shader.hpp: I
n destructor 'GGE::Graphics::Shader<ShaderType>::~Shader()':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Graphics/Shader.hpp:12
0: error: there are no arguments to 'SHADER_DELETE' that depend on a template pa
rameter, so a declaration of 'SHADER_DELETE' must be available
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Graphics/Shader.hpp:12
0: note: (if you use '-fpermissive', G++ will accept your code, but allowing the
 use of an undeclared name is deprecated)
In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/VertexShaderManager.hpp:28,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/ShaderProgram.hpp:29,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/ShaderProgramManager.hpp:28,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Renderer.hpp:31,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/
Graphics/Camera.hpp:30,
                 from E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\src\GGE\Grap
hics\Camera.cpp:25:
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Graphics/Shader.hpp: I
n member function 'void GGE::Graphics::Shader<ShaderType>::UpdateSource()':
E:\Users\Alejandro\Desktop\Groogy-GGE-e586583\include/GGE/Graphics/Shader.hpp:22
8: error: there are no arguments to 'memcpy' that depend on a template parameter
, so a declaration of 'memcpy' must be available
mingw32-make[2]: *** [src/GGE/Graphics/CMakeFiles/gge-graphics.dir/Camera.cpp.ob
j] Error 1
mingw32-make[1]: *** [src/GGE/Graphics/CMakeFiles/gge-graphics.dir/all] Error 2
mingw32-make: *** [all] Error 2

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #42 on: July 07, 2011, 02:35:17 pm »
Hmm weird you are having problem with cmake and sfml2. For me it worked straight out of the box.

Think I found a solution to the error but I am currently testing so we'll see. I'll let you know when there's a commit up.

UPDATE: This is gonna take a while. MinGW is complaining on a lot of things that VS10 didn't complain on. Everything is on my template classes though.... tricky bastards...

UPDATE: Compiles just fine now. Didn't link for me as I don't have a MinGW installation of SFML2. But it should work fine for you. If not let me know and I'll compile a MinGW version of SFML2 to test against.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Alejandro

  • Newbie
  • *
  • Posts: 27
    • View Profile
Groogy's Game Engine
« Reply #43 on: July 07, 2011, 05:17:30 pm »
Progress bar went to 57% before getting these errors:
Code: [Select]

In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Sign
als\JoystickMoved.cpp:1:
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:39: error: 'sf::Joystick' has not been declared
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:39: error: ISO C++ forbids declaration of 'Axis' with no type
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:39: error: typedef name may not be a nested-name-specifier
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:39: error: expected ';' before 'Axis'
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: 'Axis' has not been declared
In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Sign
als\JoystickMoved.cpp:1:
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:45: error: 'Axis' does not name a type
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:54: error: 'Axis' does not name a type
In file included from E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Sign
als\JoystickMoved.cpp:1:
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: expected type-specifier before 'Axis'
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: expected '>' before 'Axis'
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: expected '(' before 'Axis'
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: 'Axis' was not declared in this scope
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\include/GGE/Signals/JoystickMoved.
hpp:41: error: expected ')' at end of input
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Signals\JoystickMoved.cpp:
3: error: 'Axis' has not been declared
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Signals\JoystickMoved.cpp:
 In constructor 'GGE::Signals::JoystickMoved::JoystickMoved(unsigned int, int, f
loat, sf::Window*)':
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Signals\JoystickMoved.cpp:
8: error: 'class GGE::Signals::JoystickMoved::JoyMoveResource' has no member nam
ed 'axis'
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Signals\JoystickMoved.cpp:
 At global scope:
E:\Users\Alejandro\Desktop\Groogy-GGE-64de575\src\GGE\Signals\JoystickMoved.cpp:
22: error: 'Axis' in class 'GGE::Signals::JoystickMoved' does not name a type
mingw32-make[2]: *** [src/GGE/Signals/CMakeFiles/gge-signals.dir/JoystickMoved.c
pp.obj] Error 1
mingw32-make[1]: *** [src/GGE/Signals/CMakeFiles/gge-signals.dir/all] Error 2
mingw32-make: *** [all] Error 2


Edit1: I think that these error might be there because my sfml2 isn't from the latest snapshot, I'll download it and tell you what has happened.

Edit2: After downloading the latest snapshot of sfml2 and building it, everything linked correctly :) Now I'll finally be able to use your engine ^^

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
Groogy's Game Engine
« Reply #44 on: July 07, 2011, 05:35:37 pm »
Good to hear ^^

Though I haven't documented the graphics module yet. As I gathered you were only interested in that? I can get right on documenting that so it will be easier to use for you. If you got questions how things work don't be afraid to ask.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio