The first time I made something useful for Linux and it is even a game!
So go get it, you sweet little Linux users!
I know a few windows users had difficulties with this game, I uploaded a patched version, with the OpenAL runtime binaries directly within the archive instead of providing the official installer (lesson learned!), and no OpenGL extensions (like the lovely GL_EXT_framebuffer_object) are needed anymore.
Would be nice if you could check out my game – Chameleon
Have a happy judging
A linux will come as soon as possible, but it’s night in germany and unfortunately I don’t have time to do this before the deadline.
I hope you like it
Even though minimalistic wasn’t my favorite theme, I found a nice idea for it and that is what I’m working no.
I am pretty happy about still doing something for the game
I interpreted the theme that way:
- No fancy pictures, all the entities, particles, etc. have to be fully drawn by the program
- The world is constructed out of many one-colored blocks, so here is no complexity either
- No complex controls: You can go in four single directions and activate your… tongue
- No complex story: As simple as possible and please don’t try to find realistic logic in it…
And my ToDo-list:
- Player movement: done
- World functionality: done
- Enemies: 3/4 done
- Sound: nope
- Gameplay content: nope
- Polish, Menus and that stuff: nope
But I hope I can do this stuff tomorrow but now: Good night!
I have the time, I have the motivation but I don’t know if I’ll actually do something. This depends on the theme and if I can construct a game out of it. I really hope I can, as the last times I participated it was fun, even if I didn’t finished it for the competition.
My potato arsenal:
Coding: C++ (on Windows MSVC 2012, on Linux CodeBlocks with gcc)
- SDL – For creating the window, handle events and that stuff
- OpenGL, GLee – For the graphics
- libpng – For loading images
- OpenAL – For the sound
- libvorbis, libvorbisfile, libogg – For the sound files
Basecode: Download I developed it the last two days and it should work on Windows and Linux
Map editor:DAME or Paint.NET
Sound: sfxr, Autotracker and/or musagi
I will try to make a Linux port as well, but there are two things about it:
- Are they actually anybody out there who would try a Linux binary instead of a Windows one?
- As I don’t know how to do static linking and dynamic linking with all correct settings, I will have to provide a list of runtime packages necessary for playing the game, as I don’t have enough time left to figure this out…
I wish a merry Ludum Dare!
And here is what I got:
Particles are fun
Let’s make some evolution!!
It’s me you can trust…
Language: C++ [the one and only]
- OpenGL [I can't use shader ]
- OpenAL [With an own much easier C++ wrapper (SoundEngine.h and SoundEngine.cpp) ]
- OggVorbis [actually libogg,libvorbis and libvorbisfile, but I count them as one ]
- SDL [for the window, timer, input etc.]
IDE:Visual C++ 2008 Express [please Microsoft I want the new 2012 version...]
Basecode:Yes, I’ll reuse my basecode I wrote while last LD
Graphics:Paint.NET + Bamboo Tablet [but I can't draw... ]
Sounds:SFXR [and I convert the wav's with foobar2000 ]
Music:Musagi, Aria Maestosa, Audacity,Autotracker [but I don't think I'll have the time]
Motivation:It’s Ludum Dare!!! [I have motivation problems after LD]
Other:Monster Energy?, coffee and reggae dubstep
The only thing left to say is: 0×48 61 70 70 79 20 4c 75 64 75 6d 44 61 72 65 20 74 6f 20 61 6c 6c 20 6f 66 20 79 6f 75
01001000 01100101 01101100 01100011 01101111
Hi, I like to introduce to you a new script language: ExecutionCode
I didn’t inted to create a language for games, but of course it can be used for games. It’s inspired by normal assembly, but cutted down to just one parameter. Also there are huge changes to some other things. But look at your own at a small application (it counts to 10):
//All commentars are done c-style
/*so of course these multiline commentars
programs are not splitted up in functions, okay basically they are,
but I call them modules and all the functions imported from C++ have their own name
//a command is splitted up in group name and function name
//those square brackets indicate variables
//first I push a raw numeric value (here 1) on the param stack
/*then the system.set command pops that value from the param stack and copies it to the given
If you put something on the stack, the value! is on the stack so if a command wants to change
a variable it has to require it as param*/
//this is a jump mark, because you have to implement your loops on your own
//first I print the variable to the world
/*a mathematical operation is done by pushing the two values on the stack and give the
target to the command
//and now I want to if [counter] came to 10 so I use the logical.lesser command
//these brackets indicate a ressource
logical.equal [isNowEnd] //so if counter==11 then isNowEnd=1
//and if isNowEnd==1
//don’t forget to free the variables
//a ressource can be like variables a number or a string
//and here is another feature: if you put a ‘#’ in front of a number you can type hexadecimal
//decimal, this is 11
The code might look irritating, if so, delete the commentars and try to understand just the actual code.
The compiler/interpreter application is done in the meaning that this code can compiled in bytecode and this bytecode can be executed by the virtual machine in the same application, but it isn’t enough finished (particularly the error handling procedures), so it won’t be released now, but I hope I’ll get this done before next LudumDare. I’ll also write a full reference of this lanuage, the bytecode, the virtual machine and the compiler.
If you have any questions about it just ask me.
cause this problem was a bug in my LD game and will be a bug in other games I want to present it and possible solutions for it. I would like to know what you think about these or have another solution.
Not all computers are as fast as other computers. That’s why a game without any timing limiter would execute on other computers faster or slower.
There are some possible solutions I already know:
- Limit the frame rate to a constant value (all procedural movement can be done with a constant value)
- Compute the elapsed time between two frames (the elapsed time must be multiplied with all speed values)
I want to show you my opinion about these.
Limit the frame rate to a constant value
It looks very easy you calculate the time span of the current frame and subtract it from the time span a full frame for the desired frame rate and you have the time you must wait before a new frame may start. But what is when you notice that your game is suddenly slow? The problem in the code can be thousand code lines before the code you were actually working on, but you don’t saw it because you can’t see when the frame takes more time. The frame rate, if you don’t have a very bad computer, stays at his value.
Compute the elapsed time between two frames
That is what I did all the time and it worked. But at that time I used the graphic functions of the SDL, but I switched to OpenGL because SDL was too slow (especially for large images). As I used SDL the max frame rate was about 500 and this was good enough for me. As I started Mr.No’s Laboratory I got 10.000 FPS and the timer function was broken. The reason is that I use milliseconds for computing the elapsed time. But at 10.000 FPS a frame only take 0.1 seconds but the function for getting the milliseconds returns an unsigned int (so there is no comma). The timing function works only with frame rates up to 1.000 frames per second (elapsed time=1)
For ludum dare I already knew this problem but I thought I solved it with computing the elapsed time every 50 frames (max frame rate=50.000). But I doesn’t work. Multiple people reported that the player is moving very fast. For a postmortem version I activate VSync (so the frame rate is about 60-75), but I want to keep my high frame rates. But what to do? I already know two solutions:
- using nanoseconds instead of milliseconds
- determine a proportion between the frames to skip (for the elapsed time calculation) and a performance of the computer (like cycles in one millisecond)
There is a easy-to-use function for java but for c++ I only know the functions for windows and even if I don’t port my applications to Linux or Mac I want to keep the possibility for it.+
determine a proportion
Using a code like: while (SDL_GetTicks()-ticksAtStart<100) count++; you get a performance value of your computer. Maybe there is a proportion between this value and the number of frames I must skip for a elapsed time value which I can use to do procedural movements.
But whats your opinion about all these problems?
You are a ‘volunteer’ in a laboroty.
You want to get out?
Hack yourself your way through consoles and doors to the freedom!
<ARROW KEYS> – move
<SPACE> – activate
<ESCAPE> – escape (from the game)
Hi, I am in…
- ISO C++ (IDE: Microsoft Visual C++ 2008 Express) for programming.
- Paint.NET for graphics
- SXFR for sounds
- Maybe Aira Maestosa for music
- SDL (for openGL loading, Input, stuff like that)
It’s my first Ludum Dare so I hope I will create a game which is acceptable