New, tiny, modest game

Hello, I am finally going to make a finished game (with SDL and
OpenGL), but I would like a bit of feedback. It is an “arcade” game
where you are a ship and you are trying to fly to a destination planet
before your fuel runs out. Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

The default level has no destination planet, nor does it have moving
planets, but if you replace it with the “level1.dat” under
"custum_levels" on that website, you can see those two things as well.
(aka, replace the current game_resources/levels/level1.dat).

Anywho, I have only been able to get it working with Linux and OS X
(as I don’t have a Windows computer).

I’d like some simple feedback on how to make the gameplay more fun,
but still really simple, or how to make levels more fun. My
programming skills are quite n00bish, so simple is better.

Thanks a lot,
saturn

On CentOS it segfaults with SIGFPE Arithmetic exception. The gdb backtrace
indicates it’s in _mesa_init_all_x86_transform_asm at x86/common_X86.c:233

I have no idea what that means and no time to debug it, but thought you’d like
to know.

JeffOn Sunday 01 August 2010 10:35, Nikola Whallon wrote:

Hello, I am finally going to make a finished game (with SDL and
OpenGL), but I would like a bit of feedback. It is an “arcade” game
where you are a ship and you are trying to fly to a destination planet
before your fuel runs out. Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

Nice demo. Any other keys than the arrows ?
Also I got the Mac version, it seems that ‘level1’ is already
set in the resources right ?

Best,
Julien

Cool.

Jeff, you compiled it from source? You tried running the setup script? It
failed to run before i tried it, with a segfault.

Nikola, there were some tearing in the screen, i don’t know why.

The gameplay is cool! Congratulations.–

Leonardo

2010/8/1 julien CLEMENT

Nice demo. Any other keys than the arrows ?
Also I got the Mac version, it seems that ‘level1’ is already
set in the resources right ?

Best,
Julien


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Yes, compiled from source and then ran the setup script. It starts, what
appears to be an SDL screen (window) flashes briefly (too briefly to see what
it contains), then it segfaults.

It’s possible my mesa installation is incompatible, or faulty, but I kind of
doubt it.

JeffOn Sunday 01 August 2010 19:36, Leonardo Guilherme wrote:

Cool.

Jeff, you compiled it from source? You tried running the setup script? It
failed to run before i tried it, with a segfault.

i suggest you dont litter users home dir with data files that dont need to
be there. if this is a dev project use the project dir. make it better
and have a command line argument to specify the path.

you also skip simple runtime checks, bad and lazy.

ImageObject.cpp line 11 and 12, you open and image file and fail to check
if it succeeded, if a user didnt have data files in the path you assumed,
it will segfault.

mattOn Sun, 1 Aug 2010, Nikola Whallon wrote:

Hello, I am finally going to make a finished game (with SDL and OpenGL), but
I would like a bit of feedback. It is an “arcade” game where you are a ship
and you are trying to fly to a destination planet before your fuel runs out.
Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

The default level has no destination planet, nor does it have moving planets,
but if you replace it with the “level1.dat” under “custum_levels” on that
website, you can see those two things as well. (aka, replace the current
game_resources/levels/level1.dat).

Anywho, I have only been able to get it working with Linux and OS X (as I
don’t have a Windows computer).

I’d like some simple feedback on how to make the gameplay more fun, but still
really simple, or how to make levels more fun. My programming skills are
quite n00bish, so simple is better.

Thanks a lot,
saturn


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Hey Nikola,

Like Matt mentioned you make a lot of “evil” assumptions, but you’ll learn
them with experience. For example, the proper way to include SDL headers is
#include “SDL_whatever.h” and pass the system location in on the command
line. With a little massaging, (and a handy CMake template I keep around) I
built it on Windows, attached if you’re interested. (You didn’t remove the
.svn directory from your release tar, which is also bad, but fortunate as I
was able to grab a quick diff :wink: )

Game seems promising–keep working at it.

-BrendanOn Mon, Aug 2, 2010 at 6:39 PM, wrote:

i suggest you dont litter users home dir with data files that dont need to
be there. if this is a dev project use the project dir. make it better
and have a command line argument to specify the path.

you also skip simple runtime checks, bad and lazy.

ImageObject.cpp line 11 and 12, you open and image file and fail to check
if it succeeded, if a user didnt have data files in the path you assumed, it
will segfault.

matt

On Sun, 1 Aug 2010, Nikola Whallon wrote:

Hello, I am finally going to make a finished game (with SDL and OpenGL),

but I would like a bit of feedback. It is an “arcade” game where you are a
ship and you are trying to fly to a destination planet before your fuel runs
out. Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

The default level has no destination planet, nor does it have moving
planets, but if you replace it with the “level1.dat” under "custum_levels"
on that website, you can see those two things as well. (aka, replace the
current game_resources/levels/level1.dat).

Anywho, I have only been able to get it working with Linux and OS X (as I
don’t have a Windows computer).

I’d like some simple feedback on how to make the gameplay more fun, but
still really simple, or how to make levels more fun. My programming skills
are quite n00bish, so simple is better.

Thanks a lot,
saturn


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

-------------- next part --------------
#CMake script for Gravity
#Run ‘cmake <source_directory>’ to generate a makefile
cmake_minimum_required(VERSION 2.6)

#definitions
set(PROJECT_NAME “Gravity”)
set(APP_NAME gravity)
set(PROJECT_VERSION 0 1 0)
set(DESCRIPTION “DESCRIPTION”)
set(README README.txt)
set(LICENSE ${README})
set(AUTHORS “Nikola Whallon”)
set(EXTRA_MODULES_IN “cmake/Modules”)
set(TOOLS_NEEDED SDL SDL_image OpenGL)
set(TOOLS_WANTED “”)
set(CMAKE_BUILD_TYPE Debug)

#more definitions!
set(WIN_DIR “${CMAKE_SOURCE_DIR}/win”)
set(EXTRA_INCLUDE_DIRECTORIES “${CMAKE_SOURCE_DIR}/src”)
set(EXTRA_LINK_DIRECTORIES “F:/lib”)
set(COMPILE_FLAGS “-LF:/lib”)

if(WIN32)
file(GLOB EXTRA_SOURCES ${WIN_DIR}/*.c)
list(APPEND DLLFILES ${WIN_DIR}/SDL.dll)
list(APPEND COMPILEDEFS NO_STDIO_REDIRECT _USE_MATH_DEFINES BASEPATH="${CMAKE_SOURCE_DIR}/")
endif(WIN32)

set(LINKED_LIBS ${SDLIMAGE_LIBRARY})

################################################################################

Below be boilerplate!

################################################################################

#tell CMake where to find extra scripts for this project
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${CMAKE_SOURCE_DIR}/${EXTRA_MODULES_IN}")

#declare the project
project(${PROJECT_NAME})

#grab source files
file(GLOB_RECURSE HEADERS ${CMAKE_SOURCE_DIR}/src/.h)
file(GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/src/
.c
${CMAKE_SOURCE_DIR}/src/*.cpp
CMakeLists.txt) #include this script for convenience

message("Found sources: " ${SOURCES} ${EXTRA_SOURCES} ${HEADERS})

#declare the target program
add_executable(${APP_NAME} ${SOURCES} ${EXTRA_SOURCES} ${HEADERS})

#extract the proper versioning breakdown
list(GET PROJECT_VERSION 0 VERSION_MAJOR )
list(GET PROJECT_VERSION 1 VERSION_MINOR )
list(GET PROJECT_VERSION 2 VERSION_PATCH )

#add some useful preprocessor defines

add_definitions(${COMPILEDEFS})

set_property(
TARGET ${APP_NAME} PROPERTY COMPILE_DEFINITIONS
${COMPILEDEFS}
PROJECT_NAME="${PROJECT_NAME}“
AUTHOR_NAMES=”${AUTHORS}“
PROJECT_VERSION=”${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
)

#pass on the flags
set(CMAKE_CXX_FLAGS ${COMPILE_FLAGS})
set(CMAKE_C_FLAGS ${COMPILE_FLAGS})

#find tools required for compilation
foreach(TOOL ${TOOLS_NEEDED})
find_package(${TOOL} REQUIRED)
list(APPEND EXTRA_INCLUDE_DIRECTORIES ${${TOOL}_INCLUDE_DIR})
list(APPEND LINKED_LIBS ${${TOOL}_LIBRARY})
string(TOUPPER ${TOOL} TOOL) #most vars are set in all uppercase
list(APPEND EXTRA_INCLUDE_DIRECTORIES ${${TOOL}_INCLUDE_DIR})
list(APPEND LINKED_LIBS ${${TOOL}_LIBRARY})
endforeach(TOOL)

#find nice-to-have things
foreach(TOOL ${TOOLS_WANTED})
find_package(${TOOL})
if(${TOOL}FOUND)
set(HAVE
${TOOL} true)
endif()
endforeach(TOOL)

target_link_libraries(${APP_NAME} ${LINKED_LIBS})
link_directories(${EXTRA_LINK_DIRECTORIES})
include_directories(${EXTRA_INCLUDE_DIRECTORIES})

################################################################################

Above be boilerplate!

################################################################################

#install the binary to bin under the install directory
install(TARGETS ${APP_NAME}
DESTINATION bin
COMPONENT Game
)
install(FILES ${README} ${LICENSE} ${ADDL_INSTALL_FILES}
DESTINATION .
COMPONENT Game
)
install(FILES ${DLLFILES}
DESTINATION bin
COMPONENT Game
)

#more packaging metadata
set(README ${CMAKE_SOURCE_DIR}/${README})
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${PROJECT_NAME})
set(CPACK_PACKAGE_DESCRIPTION_FILE ${README})
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${DESCRIPTION})
set(CPACK_PACKAGE_DESCRIPTION ${DESCRIPTION})
set(CPACK_PACKAGE_EXECUTABLES “${APP_NAME}”;${CPACK_PACKAGE_NAME})
set(CPACK_RESOURCE_FILE_README ${README})
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/${LICENSE})
set(CPACK_PACKAGE_VENDOR ${AUTHORS})
set(CPACK_NSIS_DISPLAY_NAME ${CPACK_PACKAGE_NAME})
set(CPACK_COMPONENT_GAME_DESCRIPTION ${DESCRIPTION})

#tell CPack not to include generated build junk in source packages
list(APPEND CPACK_SOURCE_IGNORE_FILES
${CMAKE_BINARY_DIR}
)

include(CPack)
-------------- next part --------------
A non-text attachment was scrubbed…
Name: gravity_win.patch
Type: application/octet-stream
Size: 13796 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20100802/596efec7/attachment.obj

A lot of those technical details, I did not know much about. (Dealing with
resources, checking if the image loaded properly, etc). But thanks a lot for
letting me know, I will go back and clean all that stuff up. So thanks a lot
for the feedback!

If anyone was able to replace the current level1.dat with the other one on
that site (under custum_levels), then you have seen just about everything
the game can do thus far - planets, moving planets, destination. If there is
anything simple that you can think of to make the gameplay more fun (other
than building a level which is actually interesting), I’d love to know.

Otherwise, there are a few small things that I need to add, and a lot of
those more technical things to master before I “release” a first version.

Matt - I will try it out on Windows when I get my PC plugged in, soonish,
thanks a lot.

Thanks again,
NikolaOn Mon, Aug 2, 2010 at 7:16 PM, Brendan Luchen wrote:

Hey Nikola,

Like Matt mentioned you make a lot of “evil” assumptions, but you’ll learn
them with experience. For example, the proper way to include SDL headers is
#include “SDL_whatever.h” and pass the system location in on the command
line. With a little massaging, (and a handy CMake template I keep around) I
built it on Windows, attached if you’re interested. (You didn’t remove the
.svn directory from your release tar, which is also bad, but fortunate as I
was able to grab a quick diff :wink: )

Game seems promising–keep working at it.

-Brendan

On Mon, Aug 2, 2010 at 6:39 PM, wrote:

i suggest you dont litter users home dir with data files that dont need to
be there. if this is a dev project use the project dir. make it better
and have a command line argument to specify the path.

you also skip simple runtime checks, bad and lazy.

ImageObject.cpp line 11 and 12, you open and image file and fail to check
if it succeeded, if a user didnt have data files in the path you assumed, it
will segfault.

matt

On Sun, 1 Aug 2010, Nikola Whallon wrote:

Hello, I am finally going to make a finished game (with SDL and OpenGL),

but I would like a bit of feedback. It is an “arcade” game where you are a
ship and you are trying to fly to a destination planet before your fuel runs
out. Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

The default level has no destination planet, nor does it have moving
planets, but if you replace it with the “level1.dat” under "custum_levels"
on that website, you can see those two things as well. (aka, replace the
current game_resources/levels/level1.dat).

Anywho, I have only been able to get it working with Linux and OS X (as I
don’t have a Windows computer).

I’d like some simple feedback on how to make the gameplay more fun, but
still really simple, or how to make levels more fun. My programming skills
are quite n00bish, so simple is better.

Thanks a lot,
saturn


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

herm, Brenden, not Matt, my badOn Mon, Aug 2, 2010 at 10:39 PM, Saturn Almighty <@Nikola_Whallon>wrote:

A lot of those technical details, I did not know much about. (Dealing with
resources, checking if the image loaded properly, etc). But thanks a lot for
letting me know, I will go back and clean all that stuff up. So thanks a lot
for the feedback!

If anyone was able to replace the current level1.dat with the other one on
that site (under custum_levels), then you have seen just about everything
the game can do thus far - planets, moving planets, destination. If there is
anything simple that you can think of to make the gameplay more fun (other
than building a level which is actually interesting), I’d love to know.

Otherwise, there are a few small things that I need to add, and a lot of
those more technical things to master before I “release” a first version.

Matt - I will try it out on Windows when I get my PC plugged in, soonish,
thanks a lot.

Thanks again,
Nikola

On Mon, Aug 2, 2010 at 7:16 PM, Brendan Luchen wrote:

Hey Nikola,

Like Matt mentioned you make a lot of “evil” assumptions, but you’ll learn
them with experience. For example, the proper way to include SDL headers is
#include “SDL_whatever.h” and pass the system location in on the command
line. With a little massaging, (and a handy CMake template I keep around) I
built it on Windows, attached if you’re interested. (You didn’t remove the
.svn directory from your release tar, which is also bad, but fortunate as I
was able to grab a quick diff :wink: )

Game seems promising–keep working at it.

-Brendan

On Mon, Aug 2, 2010 at 6:39 PM, wrote:

i suggest you dont litter users home dir with data files that dont need
to be there. if this is a dev project use the project dir. make it better
and have a command line argument to specify the path.

you also skip simple runtime checks, bad and lazy.

ImageObject.cpp line 11 and 12, you open and image file and fail to check
if it succeeded, if a user didnt have data files in the path you assumed, it
will segfault.

matt

On Sun, 1 Aug 2010, Nikola Whallon wrote:

Hello, I am finally going to make a finished game (with SDL and OpenGL),

but I would like a bit of feedback. It is an “arcade” game where you are a
ship and you are trying to fly to a destination planet before your fuel runs
out. Here is a tiny demo:

http://www.theoctoroks.com/gravity/downloads/

The default level has no destination planet, nor does it have moving
planets, but if you replace it with the “level1.dat” under "custum_levels"
on that website, you can see those two things as well. (aka, replace the
current game_resources/levels/level1.dat).

Anywho, I have only been able to get it working with Linux and OS X (as
I don’t have a Windows computer).

I’d like some simple feedback on how to make the gameplay more fun, but
still really simple, or how to make levels more fun. My programming skills
are quite n00bish, so simple is better.

Thanks a lot,
saturn


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

If you make a larger level I think it would be helpful to have a
minimap. With the replacement level I sometimes lost track of the
destination planet :).

Also, aren’t you the guy who sent a link to a bunch of music tracks
you composed? They’re quite good (I still have some of them in my
music rotation). Maybe you should try to play a track with SDL_Mixer,
or whatever the kids use these days.

-MikeOn 8/2/10, Saturn Almighty <6.saturn.6 at gmail.com> wrote:

If anyone was able to replace the current level1.dat with the other one on
that site (under custum_levels), then you have seen just about everything
the game can do thus far - planets, moving planets, destination. If there is
anything simple that you can think of to make the gameplay more fun (other
than building a level which is actually interesting), I’d love to know.

Hello again,

Not sure you got my message.
I tried the compiled Mac version with success, but
under Mac the app is bundled so replacing the
level is not straightforward you know, because the
resources seem to be indexed. What about putting
directly the nicer level in the binaries ?

regards,

Julien CLEMENT

To change the level on a mac, you can right click the app, hit “show
package contents” and then navigate to Contents/Resources/
game_resources/levels/

I don’t intend to have the end-user of the game do it that way
eventually, but for now I think it is ok.On Aug 3, 2010, at 4:07 AM, julien CLEMENT wrote:

Hello again,

Not sure you got my message.
I tried the compiled Mac version with success, but
under Mac the app is bundled so replacing the
level is not straightforward you know, because the
resources seem to be indexed. What about putting
directly the nicer level in the binaries ?

regards,

Julien CLEMENT


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Mike - I was definitely thinking that a mini map is a must, seeing as it
would be easy to get lost on large levels. Color-coded planets on the
minimap could let you know how much mass (and hence how large its
gravitational attraction) is, which would help you plan out your course.

Yes, I did write that music, and I have a few tracks ready for this game,
but I’d like to learn OpenAL for this project, so it’ll be a bit before I
tackle sound.

Thanks for the feedback,
NikolaOn Tue, Aug 3, 2010 at 7:45 PM, Saturn Almighty <@Nikola_Whallon>wrote:

To change the level on a mac, you can right click the app, hit “show
package contents” and then navigate to
Contents/Resources/game_resources/levels/

I don’t intend to have the end-user of the game do it that way eventually,
but for now I think it is ok.

On Aug 3, 2010, at 4:07 AM, julien CLEMENT wrote:

Hello again,

Not sure you got my message.
I tried the compiled Mac version with success, but
under Mac the app is bundled so replacing the
level is not straightforward you know, because the
resources seem to be indexed. What about putting
directly the nicer level in the binaries ?

regards,

Julien CLEMENT


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

This will take just a moment:

http://www.ttyshare.com/rec/nobodyspecial/105220170/On Sun, Aug 1, 2010 at 3:19 PM, Jeff Post <j_post at pacbell.net> wrote:

On CentOS it segfaults with SIGFPE Arithmetic exception. The gdb backtrace
indicates it’s in _mesa_init_all_x86_transform_asm at x86/common_X86.c:233

I have no idea what that means and no time to debug it, but thought you’d like
to know.


http://codebad.com/

Actually, I have the path to the resources #ifdef’d for APPLE and
linux, but not for CentOS (which I’m unfamiliar with). So its likely
that the problem is as simple as that, and the resources path isn’t set
correctly. I really do need to make a command line argument to give the game
the path, or some other solution.On Tue, Aug 3, 2010 at 8:35 PM, Donny Viszneki <donny.viszneki at gmail.com>wrote:

On Sun, Aug 1, 2010 at 3:19 PM, Jeff Post <j_post at pacbell.net> wrote:

On CentOS it segfaults with SIGFPE Arithmetic exception. The gdb
backtrace
indicates it’s in _mesa_init_all_x86_transform_asm at
x86/common_X86.c:233

I have no idea what that means and no time to debug it, but thought you’d
like
to know.

This will take just a moment:

http://www.ttyshare.com/rec/nobodyspecial/105220170/


http://codebad.com/


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

There is no video at that URL. I tried to reply to your original post with a
screen shot of the web site, but it was rejected as being too long.

And I know how to do a backtrace and analyze it, but I just don’t have the
time now.

JeffOn Tuesday 03 August 2010 17:35, Donny Viszneki wrote:

On Sun, Aug 1, 2010 at 3:19 PM, Jeff Post <@Jeff_Post> wrote:

On CentOS it segfaults with SIGFPE Arithmetic exception. The gdb
backtrace indicates it’s in _mesa_init_all_x86_transform_asm at
x86/common_X86.c:233

I have no idea what that means and no time to debug it, but thought you’d
like to know.

This will take just a moment:

http://www.ttyshare.com/rec/nobodyspecial/105220170/

CentOS is the F/OSS version of Red Hat Enterprise Linux. If your path to
resources works on Linux, it should work with CentOS. If I can find a little
time, I’ll look into what’s happening with setting the resource path.

Has anyone tried it with Fedora?

JeffOn Tuesday 03 August 2010 18:05, Saturn Almighty wrote:

Actually, I have the path to the resources #ifdef’d for APPLE and
linux, but not for CentOS (which I’m unfamiliar with). So its likely
that the problem is as simple as that, and the resources path isn’t set
correctly. I really do need to make a command line argument to give the
game the path, or some other solution.

I have a friend with Fedora, and I use Red Hat on one of my computers,
I will try it out on them.

I just had finals (summer class, roar), and will now be programming
and working on this game more until the end of August. My goal is to
get maybe 5 decently fun levels, a minimap, and just a few other small
features, as well as lots of better programming by then. So hopefully
I’ll have another more fun update by the end of the month.

Thanks a lot for your feedback everyone,
NikolaOn Tue, Aug 3, 2010 at 9:59 PM, Jeff Post <j_post at pacbell.net> wrote:

On Tuesday 03 August 2010 18:05, Saturn Almighty wrote:

Actually, I have the path to the resources #ifdef’d for APPLE and
linux, but not for CentOS (which I’m unfamiliar with). So its likely
that the problem is as simple as that, and the resources path isn’t set
correctly. I really do need to make a command line argument to give the
game the path, or some other solution.

CentOS is the F/OSS version of Red Hat Enterprise Linux. If your path to
resources works on Linux, it should work with CentOS. If I can find a little
time, I’ll look into what’s happening with setting the resource path.

Has anyone tried it with Fedora?

Jeff


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Thanks. I look forward to trying out your game.

JeffOn Wednesday 11 August 2010 18:59, Alokin Nollahwe wrote:

I have a friend with Fedora, and I use Red Hat on one of my computers,
I will try it out on them.

Question:

When loading images, I have a nice function in ImageObject that does
that for everything, but I call it all over the places (for example,
in the functions initShip, initPlanet, etc, each one loads its image).
This makes quitting after checking if the image loaded properly rather
difficult. Is it smarter to load all my textures at the beginning of
execution? And have my main.cpp look more like:

initSDL()
initOpenGL()
loadTextures()

statemachine{}

?

Thanks,
saturn