Posts Tagged ‘C++’
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!
Ludum Dare END
SUBMISSION: Cave Runner
And so ends my first Ludum Dare. It was a challenging experience, especially since I didn’t have as much time to work on it than I had originally hoped. My plans changed a lot throughout the competition. I’d like to highlight the biggest changes.
- My original plan was to submit my game into the 48 hour competition, but I ended up needing more time, so I submitted it to the 72 Jam instead. I hope to make an entry to the 48 hour competition next time.
- I did not add sound. This had to be cut in order to meet the 72 hour deadline.
- I code generated shapes rather then art. I made this decision after the theme was announced, since to me it showed minimalism.
- I chose to make an infinite runner game instead of a roguelike. I ended up making this change almost as soon as the theme was announced, since I felt I could achieve this, and my top objective was to get something I could submit.
- I ended up using OpenGL as well as SDL, since I knew it would fit well with my level generation. I did not know how to do this in SDL, and with a little research I realized it would require one of the extra SDL libraries. This could have been a bad decision, since I didn’t have any experience making a game with OpenGL, but I believe I learned a lot because of this decision.
This wraps up my thoughts so far. I might make another post after I get the results back. I’m hoping to get at least 2′s or 3′s, and maybe get some insight from comments.
You get psyched on an idea that you think is totally unique, and you start coding it… and bam, you see a video online, and someone already made it, and it’s better than yours (well yeah, ’cause you just started, duh).
Fuckers, dammit, fucking fuck, !$#@$^%&*.
Oh well, I’m'a keep going anyway… fuckers… stealing my ideas before I had them. ~sigh~
On the plus side, I’m learning a lot of new technologies (ones that I wanted to learn), like MVC4, and SignalR so that’s pretty bad-ass.
Anyway, as far as the “it already exists” thing goes, just *shush* don’t tell anybody, pretend it’s not there… and keep coding. XD
Good luck everyone, esp. all you LD48ers who are almost done for the weekend.
We have Audio and a Splash Screen now (and at least a working title, if not name )!
I worked with one of my friends (not sure what he wants to go by on here, and he’s left so i’ll just be sure to give him credit when i submit) on the audio and setup a splash screen, improved the physics and then started expanding the level. I also added messages displayed at the top of the screen and a timer.
More on all of that later; I have more to do.
So, spent lots of time and work on the sort-of-game idea I had for the theme. Math was involved and sketching occured, evidence can be found here:
All in all, I feel pretty good about how the game is coming along, haven’t started making it look good yet. Gameplay goes first.
There are a couple of command line switches you can use:
-b Rebind all controls before starting the main loop
-r WxH Specify resolution
-m 0-100 Specify music volume
-s 0-100 Specify sound volume
Standard controls are WASD, and if you’re using -b then you can bind to both keyboard and joystick controls. It’s been tested with both an original Xbox Controller S and the Xbox 360 controller.
Also, I know that something is strange about collisions, at times they don’t seem to register at all. This is a bug that I’ve spent too much time trying to track down, and so sort of decided to leave it there until it becomes a more pressing issue.
If you happen to have a 32-bit Linux system, then you could try to build the game yourself. The source is available on Github (C++) and it uses CMake to build, you might need boost and SFML 2.0 (Don’t know if the RC works since I’m using the latest git myself).
There’s a small issue with the CMakeLists file so you might also have to set Kunlaboro_BOOST to On in your cmake cache for it to build properly.
Hope that you’ve enjoyed reading this (And maybe even enjoyed what exists so far of the game). Please comment.
This is Ace, reporting to bed.
After most of the first days frantic coding, I’ve taken a short break to cook myself something simple.
I’m a bit amused at myself when I realize that an advanced omelet is the simplest thing I can think of to cook…
Eggs, shredded cheese, finely chopped ham, fresh basil, thyme, and just a dash of coriander.
Topped with mozarella and tomato.
Damn, this is tasty.
Also, here’s a small screenshot of my game progress:
This theme had me thinking of something either way too complex or way too simple for this competition. I’m no novice to the tools, so doing the least bit of work would be a waste. Pushing myself beyond what I feel comfortable with is the key to the Ludum Dare for me.
The Theme Announcement: After the theme was announced last night, I took a while to think about permutations of the minimalism idea. Admittedly, it’s pretty abstract, not easy to visualize. So I thought of the zen/taoist view of minimalism, which is the emptying of ones self, the binding of mind and body, and the ability to calm distractions. This narrowed it down, and I had considered some sort of heroic Rampage-style game. Way too big and most likely not readable by you great Ludum Dare judges/developers. After another hour of plans in my head, I was exhausted so I went to sleep.
That Archimedes Moment: A great experience occurred while I was drifting into dreams. I had a major ‘eureka’ moment, as visions of a hero became clear, and of a platforming game, a fun mechanic, and a theme tie-in boiled to the surface of my sleepy-brain. I lept up and jotted down everything I could, messaged my best friend the great news, and smiled widely. This game development challenge now has a direction!
Morningtime: So, this morning has been piecing together a platforming engine. It will be very similar to platformers I’ve done before. Except for the gameplay twist. (No spoilers this time). I drew a placeholder hero character, and have enjoyed a nice breakfast and iced coffee. Momentum is high! No fear!
Plans for the Day: Actually, even with this momentum and good vibes for dreaming up a good idea, I’ve only got about 3 more hours before a long break in the middle of the day, to continue at about hour 19~20. Not letting it bust my groove for this moment. My plan! The plan is to have the level map system and moving the player around, jumping, attack hitboxes all before hour 14. The graphics are all placeholder until tomorrow. I do my best sprite work at 3am anyway!
I’ll be participating in this, my 6th Ludum Dare 48-hour competition! This weekend is something to be excited for, and prepare myself mentally and physically for. Let’s start with the basics:
Programming: C++ in MSVC++ Express 2008
Library: SFML 1.6, for Windows only.
Sounds: Audacity, SFXR, PXTone
Ingesting: A power smoothie made from the finest vegetables.
I’m going to give progress updates throughout the weekend. On this blog, on twitter (@feyleafgames), my facebook (for friends & family), and most likely youtube (because I assume everyone wants to hear my dashing voice!) Saturday early afternoon will be a break-time to spend with my son and my girlfriend. They are important, too ^_^
Viva Ludum Dare 26~
This is going to be my first Ludum Dare. I’m pretty nervous.
Here are my choice for tools, libraries, etc. so far:
- Language: C++
- IDE: Visual Studio Express 2012
- Libraries: SDL
- Art: GIMP
- Platform: Windows
My goal for this competition is just to complete a game, and keep it simple. I want to work on scope control and focus. It will be a plus if I get any decent scores. I’m going to be spending most of my time until the start time making sure I can quickly bash out the basic code for setting up the windows, rendering, update, etc.
Here’s my game plan from the start time so far:
- Friday Night – Saturday Night
- Get basic program up and running [window, rendering, update, fps control, input].
- Create a basic game state control [nothing too complicated].
- Get something moving based of of input.
- Plan the game elements I want to implement.
- Break the game elements into there gameplay atoms, and check the scope of the game.
- Start implementing the high priority gameplay atoms, such as movement, attacking, GUI, etc.
- Get the core gameplay implemented.
- Start polishing the game, and looking for bugs.
- Add more/extend features if QA is finished early enough.
- Finish quality control at least 2-3 hours before the end time.
My current idea is to create a dungeon crawler style game, assuming it works with the theme. My priorities for the game are as follows:
- Core Gameplay
- Basic Art
- Extended Gamplay
- Polished Art
I will be hosting my game on my website here:
Not sure if it’s going to be something.
I did not prepare at all compared to the previous contests.
I’ll copy one of the following repositories as basecode:
Obviously I will throw away the existing games and only use the technology utils part of the code.
If I feel like it I might use SFML and C++ without any basecode except from my eternally unstable monster of a serialization library.
Set sail for fail!
Since it’s soon time to start working on the real entry, I’ve decided to take the time to grab a few pictures and links before I start work.
I will be using the C++ code skeleton I’m currently writing a bit on, located on my github here. This code skeleton is built on my own entity system library that’s called Kunlaboro, and I’m hoping to have enough features in it to be able to create any type of 2D game by the time LD26 starts.
I’ve tried a few music generators and found Sound Helix, one that gives pretty upbeat piano music with the example preset. To simplify everything a bit for myself, I’ll be taking those midi files and running them through timidity and ffmpeg to get some ogg vorbis files instead, since SFML comes with built-in support for playing such things.
All in all, I’m hoping to be more prepared for this event than I was for the last three, maybe even get a basic Ubuntu system running so I have something mainstream to compile Linux builds on.
Here’s hoping for an awesome weekend, and lots of comradery on the IRC.
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.
First off this was the first Ludum Dare that my team and I have competed in. We decided to enter the 72 hour jam as a team so that we could create a more complete game than if we had entered the 48 hour compo. Initially we had a large team planned but a few people dropped out last minute which left us with 3: Myself and my friend Paul from University as the programmers, and our housemate Leela, who has never created any animations before or been involved in creating video games at all, as our artist and animator. So how did it go?
What Went Right
A lot went right to be honest. Like a few others we were expecting ‘End Of The World’ to win the theme vote. As such we’d started having a cheeky think about what we’d do if that came up the day before. ‘You Are The Villain’ took us by surprise a bit. We were a bit stumped for a bit but Paul came up with the main idea and we had decided on the sort of game and rough features we wanted after a few hours. I feel that the game fitted in with the theme quite well. We didn’t want to create the obvious you are a thief/bandit/zombie/vampire type of thing because we knew that many people would be going for that. As such Mother Nature as the villain was a little more left of field but we felt it was justified. After all she is trying to take down the entire human race in the game. Interestingly some of the criticisms we have had from the game is that people can’t see how Mother Nature is the villain and therefore how it fits in with the theme – If exterminating an entire species doesn’t make you a villain I don’t know what does
We got a lot of the features we wanted into the game. When we were first discussing the game we were talking about upgrades, different types of enemies, different landscapes and all sorts of different features. We were realistic about what we could achieve in 72 hours though and we managed to whittle this down to the core features, leaving other ideas as things we would add on if we had time (which we didn’t J) The game’s features are therefore fairly Spartan but they are the core mechanics and any other features would be built off of them. So we feel they enable the game to be played out as we had envisaged it.
Gameplay is one of the areas where we could have done a bit better. However I believe it is still enjoyable, if a bit short. We wanted to lock down our features on the Sunday So that we could focus on refining the gameplay and building levels on the Monday. Unfortunately it didn’t quite work out that way. We had a discussion on Monday morning about whether to hard code in our levels or to build a simple level editor to streamline the development. Paul was in favour of hard coding as he believed it would take too long to get a working level editor up and running AND then to create the levels. I believed I could knock up a level editor in a couple of hours and that it would save us time in the long run. I also thought that hardcoding would mean creating less interesting levels and more problems if we wanted to move things around after testing how it played. As it turned out it took me almost twice as long as I’d thought to create the level editor. Nevertheless by around 4pm we had a working level editor which could place our tiles and objects, set tile passability and so forth. It took Paul a short amount of time to create the level he had designed with it after that so I believe this is something that worked out well. I also believe that if we decide to enhance the game post-compo then this decision will pay off.
A few criticisms have been aimed at the need to invest early on or be swarmed by enemies in later levels. But this was a design choice. You can spam comets for the first couple of waves and get by but after that it becomes very hard to make it to the end. If you look at RTS’ such as AOE you will see a similar design pattern. You can build a barracks, spam the militiamen and send them over to the enemy. Whilst you might do damage initially you won’t do enough to finish the enemy off and they will be investing in their units. When they have better units they will destroy your militiamen then come and destroy you! Our game requires you to think a little and make an investment in the early waves to help you out in the later waves. Waiting and buying a volcano early on helps you out enormously!
I was particularly impressed with the artwork. As I’ve mentioned Leela had never made any sort of animations before or created graphics on the pc. On top of this she could only take part for about 2 days due to coursework commitments. So I was very impressed with what she produced for us in such a short space of time. The graphics fit in with what we had envisaged. They are bright with a good amount of contrast. The artwork she produced for the menus was my personal favourite.
The sound is something that only made it in at the last moment. I had created a simple sound manager on the first day but we didn’t have any sounds to really test it with until the last day. As it wasn’t central to gameplay it was left until the end as a less important feature. Nevertheless we all knew how important getting good sound into the game would be for setting the right mood and atmosphere. Once we had sourced some sound effects from online suddenly our comet impacts and lightning and so forth came to life. Our other housemate David, who couldn’t take part until the Monday night created the main theme and in-game music for us in a couple of hours and that really made the difference as well. Overall I am satisfied with how the sound turned out given the limited time we were able to spend on it.
What Went Wrong
Our biggest problem with the theme was that we didn’t realise that there was a bonus goat theme! All through the jam we were wondering why everyone was making games with goats in it but we’d just completely missed this extra aspect of the theme!
As I’ve said we would have liked to have added more features into the game. In particular a couple more weapons would have been good to have in. A hurricane/tornado was one we wanted to do but thought it would be a bit tricky on the art in the time we had so it was dropped. An upgrade system was something we really wanted to get in as well. This would have meant being able to upgrade the radius of attack for different weapons or their damage and so on as a trade for resources. We were hopeful that by limiting the number of weapons we had we could still keep the upgrade feature but it had to be dropped due to time constraints.
Whilst I like the gameplay it is also the area we are most disappointed with. Not so much in terms of how the weapons work and so on but more in terms of the levels themselves and this is all due to time constraints. The biggest issue is there is only one level with 5 waves. These waves are all too predictable. What I mean by that is that when the level starts all the humans spawn at a fixed time interval and all together. When we originally envisaged the game I wanted the waves to come down in groups. So rather than a continuous stream of people running to the spaceship you’d have little groups running together. I also wanted these groups to be separated a bit rather than all coming down at a fixed interval. Again this was all a case of running out of time. Another aspect that never really materialised was the points system. Although you earn points for kills this doesn’t actually mean anything to the game. We wanted to add in a highscore screen or something so that the points had a purpose but never had the time.
My biggest issue with the artwork was a lack of content. Again this is all about the limited time our artist had. We are missing animations in places which had to be replaced with static images instead. For example our volcanoes are static when idle when we really wanted them to be gently puffing out some smoke and ash. Our comets don’t animate when they fly just when they land. I don’t feel this has a huge effect on the gameplay but it would still have been good to have those animations in the game.
A lack of sound and music was the key problem although I think we managed to scrape in an acceptable amount at the end. Sound is a key component in games (amazingly I’ve played some ludum games without sound at all) which was demonstrated for us when we started putting the effects in the game. The game really came alive with the sound of comets exploding and volcanoes erupting and so on. There were other issues as well though. Some of the sound effects aren’t as loud as others, some go on too long or not long enough. When the music repeats in the menu it is not seamless as it should be. I would also have liked for you to only hear the sound effects emanating from the part of the game world you’re looking at, with all others either faded out
Most importantly though was the game ultimately fun to play? I believe that it is. One of our biggest criticisms was that the game does not last long enough which I will agree with. But that was a result of lack of time rather than design. I think that had we managed to create a few more levels the game would have entertained a bit more. Nevertheless I believe that it is still a fun game as it is. Whilst I have a few regrets over some of the features lacking in the game I am on the whole very pleased with how our game turned out. None of us had ever actually completed a full (largely bug-free) game before. The entry for our last game was riddled with bugs and almost unplayable. It left us very frustrated at the end with the time we had invested into it. But that was 2 years ago when we were starting out as programmers. This time I believe we have created a full game which is fun to play and looks and sounds good. It has also left me excited and looking forward to the next ludum dare. Can’t wait!
My concept was created in half an hour in which I was reminded about all those bad guys always trying to destroy the Earth but always lose the game and end up in jail or something. Not this time, this time you’re the villain is the idea and a game without winning is not fun. So, this time, you, the villain, will blow up the Earth starting with the two cities on your TODO list.
Obviously the heroes try to interrupt your evil plans but you found a way to lock them in the dockingbay where they try to cut the door. This gives you the time to go destroying the Earth. Sadly your station is not fit for such powerful ray and it starts to collapse.
Command your drones to repair the station as you try to blast Earth back to the medieval.
Tools used: Visual studio 2012 (code/c++), Irrlicht (3d), IrrKlang (Audio), Photoshop (2d), Illustrator (2d), Anvil (Audio), Audacity (Audio)
So after having worked on MiLWaDS for many (As many as 48 even) hours now, I feel like a short post-mortem might be useful.
So MiLWaDS, or as it’s really called; “My Little World Domination Simulator”, don’t ask about the ‘i’ and the ‘a’.
I was in luck about the theme choice because this is a game idea I’ve been wanting to make for a long time, a sort of demake of the world domination part of the RTS Evil Genius. Using the minions you gain through recruiting efforts you’ll slowly but surely complete nefarious acts and villainous deeds on the road to complete global domination.
Decided to again make my game in C++, because I figure that using a tool I’m comfortable with is better than using a simple tool that I’ve never used before. Plus, with building it in C++ I was able to use the Yarn engine I’ve been working on for university projects, which also lead to some interesting features being available that I had absolutely no use for. Full angelscript based script engine support and google breakpad exception handling among them, I did use other parts of it though. And SFML, let’s not forget SFML.
Just like last time I was in my tools are;
- Visual Studio 2010, for writing my C++ code.
- GIMP, for all my art.
- Blender, for 3d-modeling, even though I haven’t really needed them.
- Spotify, because music helps creativity for me.
So some thoughts afterwards;
What went well?
- I love the simple but still stylish color scheme I managed to create early on in the development process, simple dark-grey with cyan borders worked well and gave the game a sort of hollywood-hacking feel.
- Loading the data from basic csv style formats worked much better than I expected it to, at point I was hoping to instead save them with JSON but decided against that to save the time need to implement something like that.
What went less well?
- The agency system ended up having far too many parts that never got used, I delegated too much work to them in the design phase.
- I never got my minions fininshed completely, each minion was supposed to gain in strength when levling up them as well as being able to specialize in different abilities.
- I ended up breaking Kunlaboro (An entity system I’ve been working a bit on) enough that I had to add triply redundant error checking to most messages. Since I was low on time I didn’t really want to try to get a clean clone done of it either.
Play the game here: http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=10247
So I managed to finish myself a game for this Ludum Dare, which must mean that I’m more of a villain than an evolutionalist (Considering I fell ill the last LD).
You all better test my little world domination simulator now, or as I’ve lovingly nicknamed it: “MiLWaDS”
If you don’t have windows then I’ve heard it works well in wine, and I might have a possible linux build coming of it.
Timelapse will be put up as soon as it finishes uploading, and then you’ll be free to observe me sleeping half the time away.
Read more and get the download here:
I feel like this is really going well, drawn up russia and finland as well and started getting more gameplay-ish aspects done.
The UI still neesd a lot of work, but I’m confident something enjoyable can be gotten from this. If you want to sneak-peek a bit on the progress, a windows demo is available HERE. (Though I’ve heard it works in wine, so go right on ahead you linux people)
So I’ve fixed a few annoying bugs and gottens something that while not yet playable at least is heading on the right track.
All I need to do now is implement minions and add a few more nefarious activities.
Also, since people find it interesting; Have a picture of my breakfast: