The document discusses plans to create the game Eggerland 3D to gain experience with C/C++, Qt, OpenGL and complete a full game. It will be inspired by Adventures of Lolo and showcase 3D modeling, animation, music creation tools and the use of libraries like SDL, SDL_mixer and Qt to develop the game across multiple platforms. Examples of environment elements, water effects, an in-game editor and music creation are provided.
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Creating a game using C++, OpenGL and Qt
1. Making a game: Eggerland 3D
Motivation
- Gain more experience with C/C++, Qt, OpenGL, etc.
- Complete my first game using graphics, music and code
- To have fun @:)
What to show
- What is Adventures of Lolo?
- Neat tools to make a game
3. Graphics (3D models) 1/2
Lib3ds
+ GPL
+ Reads 3DS v3 and v4
+ Animation
+ Easy editing with 3ds Max
+ Small in file size (~80kB)
- No morph support for animation
- 3DS is an old format (DOS, 8.3)
4. Graphics (animation) 2/2
Using OpenGL Display List
1st frame = mesh, materials, etc
[2, *]nd frame = transformation
5. Music (trackers) 1/4
Sound Tracker (Amiga, 80's, commercial)
Fast Tracker (PC, 90's, free)
Renoise (PC/Mac/Linux, 00's, “free”)
6. Music (Schism Tracker) 2/4
GPL license
Written in SDL (works for many OS's)
Supports MANY module formats
Familiar interface (Impulse/Scream Tracker)
Tracker format (Module)
Sounds exactly the same on all players
Long tunes can be very small in file size!
7. Music (tracking) 3/4
Sample list
add sounds
edit sounds (looping)
Pattern editor
Notes
volume
effects (chip-tune arpeggio)
commands...
8. Music (Songs) 4/4
Song
Pattern arrangment
Command
Jump to song position
9. SDL 1/3
● First released in '98. (stable is 1.2.14)
● GPL
● Crossplatform (Win32, OSX, Linux, PSP, etc.)
● Manages video, events, sound, threads,
networking, timers etc.
● Very small in file size!
11. SDL (examples) 3/3
Game engines
ScummVM, DOSBox, ZSNES, etc.
Games
OpenTTD, Frozen Bubble, World of Goo, etc.
Games (Linux only)
Doom 3, Sim City 3000, etc.