Ludum Dare 31
December 5th-8th, 2014

Posts Tagged ‘C++’

Dungeon Generator tool for you!

Posted by
Wednesday, August 13th, 2014 9:12 am

Recently, I stubled across the video on youtube about generating a dungeon and it was really exciting. I decided to make something like that and when I did I decided to share it with you guys. The result is quite nice and complex, just look at the picture:

dungeonPreview

(more…)

Joining in

Posted by (twitter: @Ananace13)
Saturday, August 9th, 2014 12:24 am

Well, I guess it’s soon time for yet another Ludum Dare.

 

I’ll be trying to join in this time, even though it’s in the middle of the new-student period of the university. My job as part of the welcoming committee might drag me away, just like it did two LDs back, when I was out in a tent during the LD weekend.

Hopefully this time I’ll be able to find the time to get something done, so I’ll be trying to at least get the preparations of a game engine done before the theme gets released. Starting from scratch in C++ takes some traction before work gets done on the actual game after all.

 

I’ll be sticking to my usual toolset for this time too;

C++11, Visual Studio 2013 / GCC 4.7.3 / Clang 3.3, SFML git

Maybe I’ll have the time to work in scripting courtesy of Lua or AngelScript though, should help with development speed after all.

 

Hope to see many good games and good times, just like every LD before.

N.A.M.E. A (very late) Post Mortem

Posted by (twitter: @Ananace13)
Sunday, May 18th, 2014 2:30 pm

Right, I should probably have written and posted this much earlier. But my life doesn’t always give me enough time for these things…

Regardless, prepare your eyes for the wonder that is;

Not Your Average Mining Emulator*

* Gameplay may actually be average

N.A.M.E.

N.A.M.E.

 

This would be my fifth finished game, but also the seventh Ludum Dare I’ve tried to join in on. And I’ve got to say that this was not one of the themes I was hoping for myself, but I still did what I usually do; Sit down for a few hours just after the theme’s released (3am here in Sweden) and sketch up a few game ideas. And then I can take those ideas and polish them after sleeping on it for a few hours.

The ideas I managed to sketch down for this LD were of a Diablo UI inspired rougelike, a submarine hunting game that also spun off as a wreck hunting game idea, an idea for a submarine shoot’em’up, and finally something of a clone of the old game Motherlode and Clonk. In the end I decided to go for the final idea, as that was the one I felt held the most promise with the lowest amount of graphical work (my weakest point).

 

So, with that in mind.

What went right?

  • Had already prepared a simple framework that worked well for a 2D sidescrolling digging game, helped cut down some on the development time. Inputs and things prepared in advance is really nice, since otherwise such things would eat development time.
  • Streamed everything, every second I was at the computer. This really helps with the focus, and I even managed to keep enough attention on the chat to be able to answer some questions that arose from viewers.
  • My art ability seems to have improved slightly since I started Ludum Dare, so the first sprites I did for trees and ores came out looking really well.
  • My thoughts on UI design turned out perfectly fine too, I’ve noticed that many people’ve commented on how nice and smooth the in-house UI looks.
  • A crafting system turned out easier than expected, so I was able to throw it together and put in two recipes in only about one and a half hour.

 

What went less right?

  • Didn’t think to grab an existing physics engine like Box2D, so lost a huge amount of time writing physics and debugging them. There’s actually a collision bug that slipped through when I was working on ladder support, since I moved some code about and accidentally removed the part of code preventing you from jumping when you have a wall above your head. I really need to cure my NIH syndrome I guess, but it’s just so much fun to recreate the wheel.
  • Didn’t feel I had enough time to really work towards sound or music in the game, so it’s a very silent game. This is something I really suck at doing, so I guess I won’t be releasing any games that take in high scores on Audio any time soon.
  • Still can’t draw a player character in any way, so the player stayed as a cube saying ‘IDLE’ until the last couple of hours. And even then I only really managed a simple stick man.
  • I failed to put together an inventory system like what I originally thought of making, so lost several hours of development rewriting that. In the end I figured that only having a single object on the player was acceptable, and spent more time getting the house to be able to store things.
  • Because the inventory system failed to be finished I had lots of code that was supposed to be used with in-game tools that you couldn’t craft or carry.
  • Didn’t have ingredients for proper food laying about, so ended up with simpler food and that just doesn’t feel as good. No food photos from me this time.

 

Other thoughts.

  • Another entry made from scratch in C++ using SFML, this is starting to look like a theme for my entries I think. Maybe I should sit down far in advance of the next one and create a larger base framework so I could use that instead, based on SDL maybe?
  • This Ludum Dare I decided to try a simpler game without using my home-grown entity component system Kunlaboro, so this game is more of a statemachine based game. And while it feels really good to go back to my roots for a simple game, I can’t help but feel that I could’ve gotten so much more done if I’d used Kunlaboro for it…
  • I should try to move game logic away from base C++ code and towards scripts, maybe using Lua or Angelscript. This needs for me to have more time before the start of the compo so I can properly prepare the framework though.

 

To finish, thank you to all the people watching me work. And those of you that commented on the entry, both during the stream and during judging, every bit of criticism helps.

I’ll be seeing about maybe cleaning this up later on and releasing a post-compo version, though I don’t know how much of the original code would be left afterwards. It started off so nice and neat, but now the codebase if just a horrible bunch of duct tape fixes.

Progress-iation

Posted by (twitter: @Ananace13)
Saturday, April 26th, 2014 8:09 am

So, almost a day into the compo and I’ve gotten myself done with the basic game looks. Going rather well I’d say then.

Game

I’ve still got to add proper physics, proper digging, resource management, buildings, etc, etc, etc. But it’s still going rather well I’d say.
Plus, I’ve somehow managed to actually make the game look okay, which I’m the most surprised about. I was expecting it to look horrible at this point, and all it does is look unpolished.

You can watch me creating it on my twitch page, though I’ll be breaking for some food right after this post. Look back in an hour and I’ll be back, hard at work again.

Settling In For 2 Days Of Microwave Meals & Junk Food

Posted by
Friday, April 25th, 2014 2:18 pm

This will be my second LD, and this year I’m taking a somewhat risky approach. I’ve been putting together a little entity/component/system in C++ over the last couple months, and threw a teensy little game engine on top of it with SFML. We’ll see how well it holds up :P (and if it doesn’t, I’ll get some work done on my engine :D). I’ll be working on throwing a few niceties into the engine in the next couple hours, in a last minute excuse for preparation.

My engine code is hosted on GitHub: https://github.com/stett/frame.

OK – time to run to the store to make some regrettable dietary decisions.

Let’s do this!

Into the fray

Posted by (twitter: @Ananace13)
Monday, April 21st, 2014 1:56 am

Well, now that I’m back on the internet again after my short vacation and gradma visit I’ll be making my entry statement to the compo.

Hopefully I’ll have time once I get home (on a train at the moment) to start working on a base framework, so I don’t have to spend the first hours doing that.
My tools however will be the same as they’ve been for all my other LD entries;

  • CMake (Visual Studio on Windows, Clang/GCC on Linux)
  • C++11 (Code for the Code god)
  • SFML (Graphics for the Graphics throne)
  • Gimp (Glorified stick figure drawing)
  • Blender (In case third dimensional needs arise)

The code will, as always, be on my GitHub. And I’ll be streaming the entire process on my Twitch account.
I’m going to make an effort to try and answer any viewer questions that might arise, since I haven’t been very good at that the last few times.

I guess all that’s left to say is; Good luck to all the rest of you nice people, and let’s aim for a nice theme.

Jumpy Human (It’s a human, I swear.)

Posted by (twitter: @powderblock)
Sunday, February 23rd, 2014 7:04 pm

I just submitted my  Flappy Jam game (For more information on the Flappy Jam, click me!) and it’s turning out to be pretty interesting! I am actually really proud of this game, as this was one of the first times I have taken more than a few days on a game. The main gameplay is just jumping over some randomly generated spikes. Really. It’s simple, but so was Flappy Bird. That was the point of this jam.

All in all, it was a lot of fun to make, I got to get better in a lot of areas and actually explored a lot of stuff.
JumpyHuman_Title

 

It’s not super flashy, but I am actually pleased with the art.

Some things I learned how to do from this jam:
- High scores saved to a file, keeps scores after player closes game.
- Improved randomized spawning systems.
- More reliable and less buggy “scrolling effect”.

I reused the speaker icon asset from my last LD game! Woo! Reuse of assets!

JumpyHuman_Bestdeath

Here is what the death screen looks like, as you can see, it has detected that my amazing score of five was greater than the score in the file (I set it to zero, for the demo.) and tells the player that they beat their score by showing the player a very fancy medal. I designed this system in about two days, without any prior experience with “long term” score capturing options. Pretty darn neat if you ask me.

Anyway, I thought I’d just share that with you guys.

I used the T-Rex C++ engine I made, with OpenGL (SDL_OpenGL) to draw everything, SDL for window and input management, MMSystems for the sound (I’ll get SDL_mixer working, someday.), glut for the text (I’ll get SDL_ttf working, someday.), and SOIL for texture loading!

(You can check out the game here, or you can get the source here. I highly recommend checking out the Flappy Jam and playing some games.)

Mini Ludum Dare 48 Game: Death Plot

Friday, January 10th, 2014 11:36 pm
Current Title Screen of the game

Yesterday, I posted the day zero development log of my Mini LD 48 game, Death Plot. Now I will explain the game. I am using a more literal definition of conspiracy and façade. The game is a top down two dimensional shooter/bullet hell. It is a single player game where you control two characters at the same time, tying in conspiracy.

The graphics are OBVIOUSLY placeholder. They’ll be worked on tomorrow.

One of the characters is controlled with WASD controls, the other with the arrow keys. You will fire bullets with the spacebar. It is intended that you use both hands on the keyboard, and control the characters single player. That adds a challenge. You could potentially do local multiplayer, but it is not designed that way.
The enemies come in two flavours: real and façade enemies. The real ones shoot bullets that one shot you. (It’s a bullet hell after all.) The facades’ shoot bullets that don’t harm you, but they serve as visual clutter to make dodging more difficult.
I haven’t completely decided on the visual style, but it will probably be ASCII or early sprite based.
Anyway, that’s the general gist of the game. If all goes well, I will have a playable prototype tomorrow. My Day 1 Dev Blog is coming next.
You can follow my Ludum Dare blogs on: www.ictuateanomaly.blogspot.com or twitter.com/Kerinova_xeon

Dropout time! (&a guide for plot-heavy designers)

Posted by
Monday, December 16th, 2013 4:57 pm

Yay! That was so much fun, though. Unlike LD25 with the team, I felt so little stress I thought I was dreaming!

NOT MY ENTRY. NOT MY ENTRY. NOT MY ENTRY. Lifted from http://www.ludumdare.com/compo/2011/08/22/post-ld-still-dreaming/ because it was (1) relevant and (2) Ludum Dare related. ^_^

 

I don’t currently intend to become the best game jam dev evar, hehe, I just had fun making something, even if I didn’t get all the way with it in the time limit, I will always have the ability to return to it and flesh it out. I love LD because of what people end up doing with the always loved-and-hated theme both during and after! :)

Postmortem and top-down, plot/world-focused game design heuristic (for those of us who ain’t so good at starting bottom-up from a gameplay mechanic) after the jump:

(more…)

Game Development; A Four Month Retrospective

Posted by (twitter: @powderblock)
Monday, December 16th, 2013 11:39 am

So, I have been learning C++ for some four to five months now. Last Ludum Dare, I used C++ to make a text adventure game. That was the first ‘official Ludum Dare’ game I made with C++, and I was pretty happy with it. This game had no graphics or sound, and that’s because I didn’t know how to program those at the time. This LD, I made a game with graphics and sound, personally, I think it’s pretty cool I was able to learn these skills in just four months.

Or, as I put it in a post on the second of October; “I am still learning more and more about C++ and OpenGL, so maybe next LD I will have sound and graphics. Who knows.” I am proud that I was able to make something playable in OpenGL and SDL in the span of just 48 hours that also had sounds and graphics. Thank you, everyone.

difference_menus
My progress over just four months, represented by menus.

I will still be doing a post-mortem after the voting ends, I just thought I could share this cool experience with you guys.

It’s getting there

Posted by
Sunday, December 15th, 2013 9:24 pm

After adding the parts to flip the tiles it was still kind of crazy so I had to go through and clean things up, make some things work how I didn’t intend and make it so there could be more empty space. It’s much better, but there is still a decent amount that needs to get done.

The right side I have to deal with and I’m thinking I may need for it to fix up certain areas automatically because as is, the logic can’t fix all the problems due to it not knowing what the next piece will be.  I may have it look ahead one space to choose the best piece, but that’s still a lot of work.

YouOnlyGetOne3

Level Generator

Posted by
Sunday, December 15th, 2013 4:32 pm

So I started the compo very late and I won’t be able to finish in time, but might for the jam.

Anyway since I haven’t made a post yet, I should explain.

My idea was to make a climing game where you only get one life and chance, meaning if you die you can’t play the game again, you know like real life, basically because I’m an ass (unless you delete the hidden file, then you can play again, but you lose your score).  Well I decided on 2D and for it to be pixel art, haven’t done either before, main mechanics were pretty easy to manage, but the biggest thing has been making the level randomly generate, which I’ve also never done before.  Let’s just say it’s taken a while to do that and partway through I realized I needed another piece.  The art is actually pretty easy, though I’m not much of an artist, used the program Pyxel.

I’ve been working in Unity, as that’s what I’m used to, pretty easy for 2D games from what I can tell, was easiest to program my own controller for it instead of using anything built in.

As you can see in the image, it looks like crap, that’s because I haven’t added anything to flip the pieces, which is used to determine what to place, based on what’s below and to the left and if the one to the left is facing left or right.  Once I get that, a lot of issues should clear up.  I’ll also need to shrink the character, and make art for that.

YouOnlyGetOne2

[cache: storing page]