Posts Tagged ‘opengl’
It’s been a full year since my last LD… ::sigh:: But it’s great to do it once again!
This time I made Runaway Money, a party game about being invisible and stealing money. Sounds kinda fun, right? Does it also sound kinda strange that a multiplayer game would use invisible players? Yeah, me too. I had to think a while to make sure it was possible.
As it turns out, it is and it’s pretty fun. Give it a try with your friends!
The first comment here seems to confirm Stingray Polymathic’s (Thanks again!) description of the issue:
I’ll go see about adding in a floor() method to see if that solves things.
Floor() ‘ing and position update values did the trick for now, and seems to be the best way to handle pixel perfect rendering ( which in retrospect, is rather obvious).
Click for a better look at it. It’s a very small 128 x 128 px sprite which should be rendered at a 1:1 scale from my understanding, but for some reason is occasionally distorted. The blue ‘eyes’ are the wrong size and the red triangle looks off if you look at it closely. It might not seem bad looking at the picture, but it’s been annoying.
I’m rendering an sf::Sprite in my update loop in a sf::RenderWindow, with the texture from a png file. Everything seems fine usually, but sometimes the sprites seem to distort a bit. As you can see from the clipped screenshots in the background the sprite usually looks the same, but occasionally looks like it does in the running window.
Vsync is enabled, and the top middle yellow text is from a very simple frame rate display i wrote, the top right is from fraps.
If it helps, i use SFML 2.0 rc and you can find all of my library code & the sfml binaries here:
I have no idea why this happens. It seems random.
Further, until I move the sprite, it continues to be distorted in exactly the same way every frame.
OpenGl 4.3 Context according to my logs. Anti-aliasing is at 8. depth bits at 24.
Nvidia GTX 550 ti, driver v 314.22 (latest)
Windows 7 x64 bit ( engine is built/running 32 bit though ).
Any help, tips, or pointers would be vastly appreciated.
So here’s what I have, a small iOS game =)
I call it Puwang
So many problems this LD, being the first week of the college semester had tons of homework and rolling blackouts in the area (thanks to the fact that a LOT of people are home doing homework, on a super hot day with the AC’s on, worst power outages of the year so far). Actually lost power twice yesterday! Thank god for battery backups and incremental saves though, I pushed through and though i lost a lot of time and didn’t quite do all I planned I managed to release a complete game again, just recorded a bit of it to show off the evolving aspect. The creatures body parts are independant and when you kill anything you “absorb” it’s DNA/traits and it reforms you into some…generally pretty silly looking things. (blob with bat wings and a wolf head, wolf with bird head, etc…basicly any combination of the monsters found in the game) It actually works pretty well and the dynamicly combining sprites don’t look half bad, especially for artwork I did
check it out here, it’s short as i cut straight to the evolving parts, but then the game is pretty short too, there’s only about 7 map areas but they’re all linked and you can freely explore them. (the maps are all done in tiled so you can edit them and link in more maps too if you really want)
I have to go out now to an aunts birthday and then see a friend off to their new house so I won’t be able to program for the rest of the day, hopefully I will be able to have something small and finished by the end of the Jam however!
In the mean time here’s another screenshot, so far I have some collisions and death, it needs the AI and evolution part to come but for now it’s shaping up.
I started working on this at about half past 9 local time (two and a half hours ago) and now have a simple engine built that I can play with.
As you can see, it’s very basic at the moment, and looks a bit like Asteroids (which I have made in the past) but that’s only due to me not bothering to change the background colour to a blue.
All objects will be made up of simple shapes. At the moment I have only implemented rectangles and triangles; the funny shapes you can see are just part of the background at the moment and I made them to make sure everything worked with displaying before implementing the shapes, they might even get removed entirely.
The objective of the game is to fend off increasingly advanced enemies made from similar simple shapes to you, that slowly evolve depending upon which ones last longer than the others. I plan on using a very simple genetic algorithm for cross-breeding the enemies to make them slowly evolve.
Think how Spore’s microbe stage worked and my game will hopefully be a bit similar but not as pretty and with more emphasis on evolution instead of design.
I added some bits and bobs to my entry version of the game. I’m done with it for now, but maybe in the distant future I’ll come back to it and make a much better version.
- added sound and music
- added pause, sound and music toggle
- changed level layouts to be more interesting
- changed speed of the game to generally to play faster
You can download it for Windows from here:
I’ll start with the part that’ll interest more people….now that I’ve rated 150 entries, here are my top 7! (in no particular order)
Bottlecolonies By tcstyle : A clever little strategy/puzzle game, the art direction is great, the sound both fitting and awesome, and the gameplay itself is solid and complete…a joy to play
Nanofactory By JustinMullin: A solid puzzle game about a nanobot assembling widgets, a little hard and cryptic at first but the puzzles are both simple and clever
ANT SURF HERO: THE SURFENING By Jigxor: A refreshing change from the massive number of dull uninspired platformers, aside from a few physics issues it’s really fun, and riding on top of the ant is amusing to say the least.
Housefly By dacap: You play as a fly on a mission: to get back outside! It’s a short but very immersive adventure game with solid controls, great visuals and sound…its hard to describe but the flight control feels “right” for a fly. Very fun.
Recluse By chambers: You play as a snail with a neckbeard in a “metroidvania” type game….but with a twist. Easy 5/5 for innovation personally, I don’t want to ruin it by the starting room is misleading and it quickly introduces one of the most unique gameplay mechanics i’ve ever seen. (even if it is mostly a gimmick…it fits the theme very well)
Hero of Rain By 31eee384: Extremely incomplete but what there is of it is very enjoyable, the story is both fitting and interesting, the gameplay is for the most part pretty good (though touchy at parts). All around a good feel to this game.
Fusion Time! By NeiloGD: A simple but solid arcade-type game where you fuse atoms in a sun. Theres not much too it but the explosions and strategy of timing the fusing makes it surprisingly fun to play.
Please try these out if you havent! Most still have a pretty low number of ratings and could use some more love! Also, <shameless plug> I really wouldn’t mind a few more tests on my entry as well, it’ll be linked below with the timelapse and postmortem</shameless plug>
First off, here’s the link, try it out yourself and let me know what you think!
I have to say…I had more fun with this theme than I would have thought, it was a lot easier to make a game that fit the theme but was still….you know…a GAME..than it was for “alone” (LD22)
What went right:
- My game Idea! I came up with it MUCH faster this time and IMHO it’s a much more fun game than my 22 entry
- My cross-compilers were already set up, saving me a lot of time testing the windows build
- Using my sprite editor (listed in the tools section to the right) I was able to do what little spriting I needed very quickly with decent results, it was MUCH easier than trying to do it in GIMP (great editor….not so good for animating)
- I planned fairly well what I would have time to do, I was complete (though had to cut a few units) and able to submit before the rush.
- Deciding early to render with opengl instead of plain SDL was a good call, I ended up abusing it quite a bit to scale/recolor graphics & text (SDL can do it but it’s so slow it would be near unplayable..). Having recently written a LOT of OpenGL code also it was pretty fresh in my mind and I was able to painlessly get it up and rendering.
What went…welll…not quite as right:
- Once again, LD fell on a weekend I had to be gone quite a bit, I wasn’t home on saturday till nearly 6pm, so I lost a good 18 hours of copetition time there (seriously, i had NOTHING planned that couldn’t be moved for like.. a month prior and a month after…only that one day)
- I had to take care of some stuff outside friday and was EXHAUSTED after the theme was announced, ended up losing even more time by going to bed early. (though i did finish a opengl renderer + sound system before then)
- I had a OpenGL/SDL/Angelscript based game engine I’ve been working on for quite some time that I was going to use so I could concentrate more on game code….unfortunately I had some last minute issues and there was no way I’d get a windows build of the engine working in time, so I had to change plans and just write a renderer/sound/input engine from scratch during the competition.
And of course, here is the timelapse video! (with soothing music added)
I managed to finish in time, adding menu music, a level, basic splash screens, multiple weapons, sound effects, and more animations.
I had to trim some features to make it, but everything turned out just fine. The final product is definitely worth it.
It’s still not up to my standards of originality, but it’s fun regardless. I would have liked to add secondary weapons, so we’ll see what happens to it in my spare time. I was able to build a reasonable level. It’s not that pretty and was annoying to make, so I only made one… I was really hoping to make a couple more, like desert and river levels. Also, “tiny world war” is a demonstration of my latest framework using the SDL_gpu library to drive 2D OpenGL accelerated graphics and using Box2D for collision physics.
Overall… Success! I’d like to put networking into a future version, which will be a good preliminary step toward doing the same to my current main project, Don’t Blow It! When that does happen, there may be a new release on my website.
See ya guys next time!
The second day of the jam has been worse than I hoped, but better than I feared. I managed to tackle the performance issues we were having earlier by switching to the OpenGL renderer in Processing, which incidentally also fixed the huge memory leak.
So, here’s the first thing you’ll see when you load up the game:
Daniel created some really dope art today and I was happy to get it into the build along with some graphical effects like animated sprites and a scrolling background image.
Daniel’s friend Optomon also is writing us an awesome chiptune soundtrack. Here is the first part he sent over.
Here are some screenshots to show off what the game looks like now:
I ran into a ton of technical issues today but wound up working through them all. I finally finished defining all of the level geometry as arc segments, so you can run around the level and collide with the walls and ceiling too. I got basic bullets working, and they travel along an arc. The animation system was a doozie but it’s all working really nicely now. I learned more about OpenGL and it seems less daunting than before, and now I’m wishing I had more direct access to the OpenGL API from Processing!
Some things seem much easier and more efficient to implement in low-level OpenGL, such as my scrolling background. If I could have just accessed the texture directly and set GL_TEXTURE_WRAP_S to GL_REPEAT, it would have saved me a lot of trouble since I could have just animated the uv coordinates of the texture instead of having to move two images around. I spent nearly 3 hours trying to figure out how to set GL_REPEAT from within Processing before throwing my hands up.
It wasn’t a waste of time though, as I was able to apply what I learned to the animation system to flip a sprite horizontally by inverting the u coordinates and drawing them to a texture I defined manually in Processing. This saves on memory and disk footprint since I only need to load sprite assets facing one direction, and hopefully helps with performance as well.
Daniel and I both have work tomorrow, so we are going to have to submit the game as-is before the jam deadline. Right now there are no enemies and no win condition, but we plan to keep working on the game after Ludum Dare is over since the hard part (at least for me) is done. Now, on to the fun part, making it into an actual game!
We plan to submit this build before the jam deadline tomorrow evening, once we have some new music.
My first Ludum Dare was neither a success or a failure. I managed to “finish” the game enough to submit it in time, but it lacks so many of the things I drew up at the beginning of day one.
Things I learned:
- Plan how to use your time, just as you plan the game. I ended up cutting like crazy in the last two hours just to submit something that felt somewhat finished.
- Start with a pre-made engine. I spent hours in the beginning setting up my core classes that I could’ve really used at the end.
- Use pre-made art. I was more focussed on the code, but I still spent SOME time drawing that could’ve easily been replaced with some (far better) open license stuff.
- Decide before the theme is announced roughly what TYPE of game you want to make and think about it. I had planned out the whole game in the first hour, but I hadn’t really considered how long the code would take for the game from scratch. With more thought beforehand I could’ve planned out the code better and hit the ground running.
I’ve been toying around with LuaJIT lately. If you’re not familiar with LuaJIT, it’s a just-in-time compiler that not only makes your Lua code run super fast, but it also makes it possible to call native code from Lua without any native glue code at all. Pretty cool tech.
OpenGL requires some special handling though, so I made an OpenGL loader for it that handles all the dynamic loading, version differences and extensions and such for you (based on the official spec files), and added some extra code to make shaders easier to work with. I didn’t really plan on using this for LD, but hey, might as well post it now so that I have the option: ld23base.zip (zlib license)
That zip includes some example code using SDL + OpenGL to draw a spinning rectangle in pure Lua =). I doubt anyone else will use this, but you’re of course welcome to if you want =). Please let me know if you do! It’s a bit WIP-y still, but fully usable and should be pretty straightforward if you’re familiar with SDL and OpenGL. It probably requires LuaJIT 2.0 (beta) to run, and it’s only been tested on 64-bit Linux, but it should hopefully run on anything supported by LuaJIT as long as SDL and OpenGL libs are available.
Here I am trying to make a 3D multiplatform racing game for my own amusement. This is the first time I delve myself into making a 3D game. Here are some screenshots, and here’s a link to the game (Windows only, Linux binaries coming soon, Mac binaries coming when I have I Mac).
I having nothing more to post for now, but if you are curious on what I still plan to do (and what I did so far, here’s my TODO list).
Any kind of feedback is always appreciated. Feel free to either praise or bash this work.
PS: I suck at doing this kind of posts, my english may suck (not a native speaker), and the game itself at this or any stage may suck. I’m doing my best to not suck at all =)
Had such a blast last time, which was my first LD that I’ll participate again (as long as my schedule allows me to, which it should).
My last entry did surprisingly well, taken it was my first time, but due to hectic times at work (we just released new game this Wednesday) I haven’t been able to finish the post-compo version (but its still coming and is actually progressing somewhat steadily, even if slowly… very very slowly!).
I will likely use C++/SDL/OpenGL again, even though I kind of promised myself that I’d use some other language (with GC(!)), but really don’t want to move too far out of my comfort zone while having such limited time. BlitzMax will be my backup tool if I happen to go nerd-rage over silly memory management issues again.
For “art” its the usual GIMP, TuxGuitar and SFXR.
I will probably end up using the same glitchy “framework” I used last time which I wrote a while back Link but I’ll try to get something more usable ready by the next weekend.
Edit: Given my recent drooling over oldskool games I might be using my “retro framework” which i unfourtanetly was unable to finish before LD, but guess its a good way to “beta” test it . Source available in here
Still on the fence here, as I’ve been crunching for a few weeks, currently have a splitting headache, and could use a few days off instead. But…
OTOH, the Kobo II Tech Preview is now on-line, which means that I have a working Win32 executive, making deployment trivial. (There is no game code in kobo2.exe, only EEL with SDL, OpenGL, ChipSound, physics etc.) So, I should be able to pull this off without touching glorified assembly languages, or even running a native compiler. (Well, I might rebuild the executive with a different icon. That should be safe. I think…)
So, if I do it, here are my weapons of choice:
Language: EEL (Runs on the Kobo II executive.)
Editor: KDE Kate
Libraries: Kobo II/EELBox executive (SDL, OpenGL, ZeeSpace, ChipSound, …)
Graphics: GIMP, ZeeSpace
Well, I guess it’s decided then: I will try my hand at an LD48. I started a few hours ago, but neglected to formally announce it; so here it is:
I’ll be using:
Libraries: SDL (for window management/input/audio/etc…), and OpenGL.
Any textures will probably be made with The GIMP, if I find the time to make any.
Sound effects: sfxr (if I get around to that.)
Right now gLapse is churning away at turning almost 1500 jpgs into a movie.
So far I’ve got OpenGL rendering, and input being processed, as well as movement through my 3D world, and “moving” platforms. Next up is to master the physics of falling onto said platforms, additional game mechanics, and resources. But, it’s late and I should have been sleeping over an hour ago, so I’m calling it a night. Perhaps tomorrow I’ll post my time-lapse so far. Good night!
This is my first LD entry, and it should be lots of fun, or at least very interesting!
I was thinking of possibly using C#/XNA, but I recently decided I will be coding in C++ instead. As a result, I’ll be using a new framework I started writing only a couple of days ago, and a bunch of other libraries of which I have little or no experience using. So the goal is to keep it simple. In a short moment we’ll all know the theme, at which point I can start pondering on the gameplay. Lots of improv (and learning) ahead!
Libraries used: SFML, OpenGL, boost, Eigen, and possibly lots more.
You can find the source code here: https://bitbucket.org/Trancelucid/ludum-dare