Home | Rules and Guide | Sign In/Create Account | Write a Post | Donate | #ludumdare on irc.afternet.org (Info)

Ludum Dare 23 — April 20th-23rd, 2012 — 10 Year Anniversary!

Ludum Dare 22 :: December 16th-19th, 2011 :: Theme: Alone

[ Results: Top 50 Compo, Jam | Top 25 Categories | View My Entry ]

[ View All (Compo, Jam) | Warmup ]


About AtkinsSJ (twitter: @atkinssj)

AtkinsSJ's Trophies

The Boboil Referencer Trophy of Redundancy
Awarded by moltanem2000 on December 14, 2009
Ludum Dare Donor
Awarded by PoV on December 14, 2009

AtkinsSJ's Archive

Oh Pants

Posted by (twitter: @atkinssj)
Saturday, December 12th, 2009 1:08 pm

I have been fruitlessly mucking about with random level generation and bumping into SIGFPEs and infinite loops. It seems to not fail now, however it doesn’t do what I want it to either. Here, have a nice picture!

Ooh, isn't it pretty

Ooh, isn't it pretty?

It should be linking all the rooms up, however I have done far too much complication to my code without really thinking and it now scares me. I think I really need to rip it out and rewrite it so I know what it does. *sigh*

I AM NOT GOOD WITH COMPUTER

I’m not horribly behind on everything! Honest!

Posted by (twitter: @atkinssj)
Saturday, December 12th, 2009 10:15 am

…ok, maybe I am.

Current state as of now

Current state as of now

I only just got a level drawn and (badly) randomly generated.  And I still don’t really know what this game will be… Oh well! I’ll keep on going.

Go-go-gadget Ludum Dare!

Posted by (twitter: @atkinssj)
Saturday, December 12th, 2009 6:04 am

So… Exploration. Not much of an idea so far, but I think I’ll go with something tile and turn based, and see what I think of once something basic is working. Unfortunately, it seems I haven’t learned from last compo that I am rubbish at random generators, and I am considering a random generator. :P Ah well, can’t be as bad as last LD.

Good luck to everyone else!

Wikiventure Post-Mortem

Posted by (twitter: @atkinssj)
Tuesday, September 15th, 2009 4:12 pm

Wikiventure went far better than I was expecting. Mainly because I wasn’t expecting anything remotely interesting. I’m still working on it, in fact, adding new things – just today I added user-input via a text-box and tags which react to that input, and score and cash variables that can be checked and modified. I’m really enjoying it, and plan to add a basic battle system like in proper game books. :P

What went well

  • The basic game, taking pages from the wiki and letting you travel between them, was very quick and easy to set-up. Then it was just a case of feature-creep for the rest of the weekend, which was perfect for me!
  • People took an interest and wrote some content for me! :P

What went badly

  • Spent rather a long time at the start battling with C++ libraries before moving to PHP. Though that did help me come-up with an idea.
  • Also spent rather a long time at the end trying to fix an infinite loop, but managed to do so before the deadline, so no real bad points. :D

What I would do differently

  • Plan-out code structure before writing it. I spent quite a while on the Sunday rewriting all the tag-parsers to remove a lot of repeated code. There’s still a lot now.
  • Put time into writing content! I only actually created two areas, as a test right at the start before I’d added any tags, and then I kind-of expected people to write my content for me. Which some people did, but it was horribly lazy of me.

Things I’d like to add

  • Cookies or some other way of keeping things persistent between sessions. Could tie it to user-accounts on my site.
  • Combat system, mentioned already.
  • More levels of persistence than ‘IFVISITED’ and ‘IFNVISITED’, so that the player wouldn’t necessarily have to follow the same set of actions multiple times.
  • Any other stuff I happen to think-up.
  • Content!1!1!!1!!!

So yeah, it went pretty well. I’ll keep working on it and maybe it’ll become something really interesting.

Gah, infinite loops!

Posted by (twitter: @atkinssj)
Sunday, September 13th, 2009 4:09 pm

Less than an hour until the deadline. It’s gone midnight. I am rather tired. The most complicated tags so far have just gone in, (SPEECH and TALK, for enabling conversation trees. And probably anything that needs a choice actually. Whee!) and I have an infinite loop somewhere. Oh goody.

Anyway, it’s been an awesome Mini-LD. MUST… FIX… INFINITE… LOOP…

EDIT: FIXED! YAYAYAYAY!!!

Turns out, it’s because I’d got the position in a string, modified the string, then still used that position. Silly me. All works now! Time to update the documentation, submit, and go to bed, and only 25 minutes to spare. :D

Items Complete!

Posted by (twitter: @atkinssj)
Sunday, September 13th, 2009 12:04 pm

Items can now be gained and lost, there are IFHAVE and IFNHAVE to conditionally output text, and you can click on items in your inventory to use them: if that area has a [[USE:Foo|Bar]] tag, then it will display Bar if you use Foo. Tags can contain other tags, but not perfectly if there are multiple tags at the same level. eg:

[[IFHAVE:Foo| [[GET:Fish]] [[GET:Chips]] ]]

The Get tags are at the same level here, and so will display oddly. Though I think they might still work.

If anybody has any ideas of other things they’d like in, please comment below! And feel free to use tags in pages: They make it a game rather than a wiki browser. :)

Gameplay!

Posted by (twitter: @atkinssj)
Saturday, September 12th, 2009 3:41 pm

I’m in the process of adding in codes you can use in area pages.

First, there’s [[GET:Foo]], which will let the player pick-up an item called ‘Foo’ from that area. The item will only appear there if they do not already own it.

Then there’s [[IFHAVE:Foo|Bar]]. This checks if the player has ‘Foo’ in their inventory. If they do, ‘Bar’ is displayed. Bar can contain formatting, but I think it won’t work if you put anything with ]] inside it. I’ll have a go at changing that.

I’m keeping an up-to-date list of codes and formatting that work here, if anybody wants to start messing around with them! :D

I think I’ll go to bed soon, so that’s probably it for today. It’s been really fun so far, especially considering how clueless I was to begin with.

Whee! Screenshot!

Posted by (twitter: @atkinssj)
Saturday, September 12th, 2009 9:50 am

OK, so I have a working prototype!

Kind-of pointless screenshot.

Kind-of pointless screenshot.

Not very exciting, but it works. Create and edit pages here (starting with ‘Adventure/’, link them up, and it’ll let you navigate between them. To make it easier, pages that don’t exist will give you a link so you can write them. To jump to a page, simply add ‘p=PAGENAME’ (without the ‘Adventure/’ bit) to the URL. It’s case-sensitive.

Um, not really sure where to go from here. Making ”’ become <b> and ” become <i> would be good. Then maybe some kind of inventory…? I really have no idea. :P

EDIT: The best bit about this is that other people are already writing the actual game pages for me! :P

Wikiventure

Posted by (twitter: @atkinssj)
Saturday, September 12th, 2009 7:02 am

I wasn’t planning on entering miniLD 12. But the theme was just so interesting that my mind won’t let me not enter it, so here I go.

My original plan was C++, SDL and cURL. However, cURL refuses to work at all, so I’m stuck with PHP, the only other language I know reasonably well. This limits my choices significantly, but since I didn’t have any to start with, this isn’t really a problem.

So, my current plan is a choose-your-own adventure made of wiki pages. First name I could think of is ‘Wikiventure’, which is awful, sounds like a Wiki-based investment company, and is probably going to stay as the name because I can’t think of any others. :P

It’s located here, and currently just outputs the wiki page, not that exciting.

Cave of Dinosaurs – Post-Mortem

Posted by (twitter: @atkinssj)
Monday, August 31st, 2009 1:10 pm

This was my first LD, and it was a lot of fun. I’ve learnt quite a lot from it I think, and I don’t think I’ve ever got so much work done on a game in such a short time-span.

I used C++ with several SDL libraries. Graphics were created in the GIMP (and Paint…), and the sounds were created in about 10 minutes using SFXR.

I did briefly consider using GameMaker instead, and at several times I thought to myself ‘All I’ve done so far I could have done in GameMaker in a couple of hours!’ but I’m glad I didn’t. It would have felt like a cop-out really. Not to say that anyone using GM was a cop-out, but I’m glad I took the challenge of using C++.

What Went Well

  • I got an idea fairly quickly, and actually managed it in the time frame (I would have liked to add more stuff, but at least it is a game).
  • I had a horrible, game-breaking memory-leak but managed to fix it in very little time.
  • I knew my way around the GIMP enough to animate Ted using layers – I’m always very frightened of having to animate things.
  • Mostly, it all works. The collision-detection between moving things and the ground is pretty random and bizarre, so you can climb walls much higher than planned. The dinosaur movement was put in in about 10 minutes at the end when I realised the game was impossibly easy. The game is hacky, but it’s pretty close to what I wanted.
  • Click-to-shoot! Wow, I was pleased when that all came together. The bullet heads toward where you clicked, and always at the same speed – at first I got in a complete muddle as to how to do this, but then it was really simple. I like it. The whole ‘click, shoot, bullet hits wall, rock breaks off and falls’ thing works really well I think, and I’m pleased with it.

What Went Badly

  • That collision-detection is awful. Checking collisions between the ground, which is a grid where 1 across = 1 tile; and the coordinates of everything else which are 1 across = 1 pixel, was tricky and horrible. I did it badly. When I eventually gave-in and added proper box collisions for the interactions between player, rocks and dinosaurs, it was instantly much better.
  • The levels aren’t interesting. I hadn’t originally intended it to be an infinite, random tunnel, but I hadn’t originally had much idea of how it would be a game. I just knew “Shoot rocks so they fall on dinosaurs”. One, random level seemed much easier. The first area is fixed, then the rest is generated as needed, one column at a time. I tried several ways of having each column based off the previous one, but slightly altered, but they all went wrong. So I got it to generate a random number, and pick a pre-defined column from a list based on it. Less interesting, but at least I could guarantee that you could actually get through the cave.

    What I Would Do Differently

    • Prepare in advance and get a basic… I can’t think of the word. A basic code-base which has drawing and tiling stuff already there. I spent far more time getting that set-up and working, and repeating code that I could have used a base class for.
    • Framework! That’s the word.
    • Get more sleep the night before it starts. And, in fact, several nights before that! I kept making silly mistakes, like copying code and forgetting to change x to y in the copy, because I wasn’t firing on all cylinders.

    Things I Didn’t Have Time For

    • Graphically, the cave looks pretty horrible. I’d hoped to get time to have a tiling system based on what was around each tile: so a piece of rock hanging from the ceiling would look like a piece of rock hanging from the ceiling, and not just a square block.
    • I’d also hoped to animate the dinosaurs. Just didn’t have time.
    • It would have been good to actually show Ted holding a gun, with bullets coming from it. With the image flipping though, it would have taken time I didn’t have. I wanted several animations for Ted, but like the dinosaurs, it didn’t happen.
    • Improved collision-detection! It’s abysmal.
    • Particle effects! Another thing I’d hoped to have time for.  Would have made it look less boring, possibly.
    • A proper menu. The menu in the final thing is the one I bunged in as a placeholder because I realised it would be handy to have later.
    • The text-drawing function I used has an awkward quirk in that it always draws an opaque background. I got it from the internet a while back, and though I tried fiddling with it, I couldn’t make it transparent. Makes the menu look even worse.

    I may well make a post-compo version with lots of these things added-in, but then again I’m incredibly lazy at this sort of thing. So maybe not. Still, I’m pleased I managed to do it, even though I’m not going to win any prizes.

    ~AtkinsSJ

    Possibly Final, again…

    Posted by (twitter: @atkinssj)
    Sunday, August 30th, 2009 4:12 pm

    A surprsigingly-to-implement new feature, which makes the game actually hard to play:

    Moving dinosaurs!

    screeny6

    They walk along, and jump in a ridiculous fashion, without animation. But it’s late, and I’m tired, and this will probably have to do. Please, please test this and say how well it works so I can make any last-minute adjustments, that’d be swell. :D

    Link: (Windows binary and source) http://atkinssj.nfshost.com/stuff/CaveOfDinos.zip

    Finally, something resembling a game!

    Posted by (twitter: @atkinssj)
    Sunday, August 30th, 2009 3:09 pm

    Firstly, annoyingly this is the third time i@ve typed this because Chrome went crazy. Oh, well.

    Got about 5:20 left, and finally I have something that can be played, lost, and you get a score!
    Also, I fixed it so that the level is now infinite and randomly generated.

    screeny5

    I’ve finally fixed the dodgy collision-checking too: Moving things can now collide, rather than only moving and unmoving.

    Thanks to DrPetter’s excellent SFXR, I also have some sounds! Yays! Not entirely sure they go with the graphics, but oh well – better than nothing.

    So… I’m going to upload a taster! This may well be the final thing if I don’t add anything else.

    Controls:
    A/D or left/right to move, W or up to jump.
    Click to fire.

    The story / instructions (possibly more entertaining than the real thing)

    You, archaeologist Ted Stuart (because archaeologists are always action heroes, for some reason) have wandered aimlessly into a cave that has laid undisturbed for millennia. Well, or so you think. It’s actually been disturbed rather frequently by all the dinosaurs living down there.

    Living dinosaurs would make your job a waste of time, and so to preserve the livelihood of archaeologists everywhere, you seek to destroy them all! However, your puny gun is no match for their unusually tough skin! Your only hope is that you can shoot down loose rocks from the ceiling to bonk the dinosaurs on the head with. Only then can you remain safely employed in these harsh economic times.

    Download current version (may be final, depends if I think of anything to add)  Please download and test! :D

    Buggy scrolling

    Posted by (twitter: @atkinssj)
    Sunday, August 30th, 2009 11:42 am

    Well, this is getting odd:

    Beyond the edge of the world, there are... odd floating blocks that shouldn't exist.

    Beyond the edge of the world, there are... odd floating blocks that shouldn't exist.

    I’m currently sorting-out level scrolling. But due to something odd and inexplicable, when you go beyond the level you get odd floating blocks. And invisible ones like the one I’m standing on. No idea why at all, but hopefully it should soon be sorted – I’m going to try changing the level format to a vector of arrays rather than a 2D array, and add new columns to the end of the level as needed.

    Ah, just looked it up and apparently vectors of arrays shouldn’t work, so there goes that. Actually, I could use a struct… Yeah, sorted I think.

    I’ve added dinosaurs, finally! Well, a dinosaur.

    DINOSAUR!!!!

    DINOSAUR!!!!

    The dinosaur sits there until a rock drops on its head, then it dies – flipping and sliding down the screen. Stylish. Unfortunately, that’s all it does.

    While I’m mentioning flipping images, I might as well also mention the terrible memory leak I had. I was flipping the images dynamically, which created countless identical images that were never deleted. Ew. Sorted now though, phew!

    I really, really should have set-up a framework before the weekend, it would have made all this much easier…

    Currently have 16 hours, 20 minutes left of my 48 hours. Though a lot of that will be sleeping. Better get up early tomorrow then!

    Hooray for keystates!

    Posted by (twitter: @atkinssj)
    Sunday, August 30th, 2009 6:15 am

    Shows how much of a noob I am really, but I just discovered that SDL lets you check keystates at any time, not just when a keypress event is raised. This makes the movement code much, much simpler. Currently attempting to let you jump, which currently conflicts horribly with the code that stops you falling through the floor… Wait a minute! I think I’ve cracked it! I just need to do a check if the vertical velocity is negative! Yay! :D

    Day 2… BEGIN!

    Posted by (twitter: @atkinssj)
    Sunday, August 30th, 2009 4:51 am

    Had Shreddies for breakfast (no photo again – my family already think I’m a bit odd without me photographing my breakfast cereal). Then was busy until about 12:30, so it’s time to get cracking!

    Priorities today: (which I may well completely ignore…)

    1. Let the player move! Left, right, jump.
    2. Let the player fire bullets, rather than them appearing from the centre of the screen! Hopefully with a mouse-click, if I can get that working within a reasonable amount of time. Shouldn’t be too hard though, hopefully.
    3. Have blocks interact with the player – ie, if they fall on your head you take damage.
    4. Killable dinosaur, really simple.
    5. Finish the level-scrolling code – I put a lot of it in already, but the level has so far been the same size as the screen.
    6. Better dinosaurs.
    7. Panic because I’m running out of time and still don’t have much of a game.
    8. Levels, and finishing-up – sounds, maybe extra frames in animations, etc.

    This will probably last me way past noon tomorrow, when my 48 hours elapse. But oh well, that’s the way it is. I like this game enough that I’ll try to produce a snazzier version after the contest has ended.

    ‘Time for Bed’ said Zebedee

    Posted by (twitter: @atkinssj)
    Saturday, August 29th, 2009 4:03 pm

    It’s midnight, and I’m reasonably happy with what I’ve got done so far, so time for bed. Just animated Ted – only 4 frames for walking, so it looks a bit pants, but I can always sort that out later if I get time. Some animation > no animation.

    Otherwise, not much different from last update, so this is probably a bit pointless. Oh, well. :P

    Tomorrow I might get around to actually making something playable. And with dinosaurs in.

    Yay, slightly better falling rocks!

    Posted by (twitter: @atkinssj)
    Saturday, August 29th, 2009 3:24 pm

    Now I finally feel like I’m getting somewhere! Which is good, as I need to sleep soon.

    Also featured: My nifty little archaeologist guy, Ted Stuart.

    Also featured: My nifty little archaeologist guy, Ted Stuart.

    Rocks now stop falling when there is a rock (or ground) in the way. This is a good thing. Took me a while of wondering why it didn’t work to realise that I was checking if there was solidness to the right rather than underneath. Oops. Just now added pseudo-physics: things accelerate as they fall, then snap nicely back to the grid when they land. And there’s a (n uncontrollable) player! Quite pleased with him. I had the sense (for once) to use layers, which should make animating him easier. The GIMP is wonderful! :D

    Yay, falling rocks!

    Posted by (twitter: @atkinssj)
    Saturday, August 29th, 2009 1:34 pm

    Progress has been going incredibly slowly, not helped by my getting distracted a lot. Anyway, as can be seen below (well, I could have faked it, but if I had you’d be seeing this post much earlier) pressing space fires bullets randomly from the centre, and when they collide with the cave wall, cause a rock to fall. Finally!

    Hurrah, falling rocks.

    Hurrah, falling rocks.

    So, no dinosaurs, no player, and the rocks fall through the floor. Gah! Why are so many other people so far ahead? It’s demoralising… Though admittedly I haven’t spent that long on it, I guess.

    I might as well take this opportunity to explain what I’m using for this: C++ with SDL, in the Code::Blocks IDE. GIMP for the graphics… and that’s about it. :(

    Some kind of idea

    Posted by (twitter: @atkinssj)
    Saturday, August 29th, 2009 6:09 am

    I didnt take a picture of my sandwiches, so instead I grabbed this off google.

    I didn't take a picture of my sandwiches, so instead I grabbed this off Google.

    OK, egg sandwiches consumed, I now have an idea that actually is a game. Maybe.

    You, archaeologist Ted Stuart (because archaeologists are always action heroes, for some reason) have wandered aimlessly into a cave that has laid undisturbed for millennia. Well, or so you think. It’s actually been disturbed rather frequently by all the dinosaurs living down there.

    Living dinosaurs would make your job a waste of time, and so to preserve the livelihood of archaeologists everywhere, you seek to destroy them all! However, your puny gun is no match for their unusually tough skin! Your only hope is that you can shoot down loose rocks from the ceiling to bonk the dinosaurs on the head with. Only then can you remain safely employed in these harsh economic times.

    So, yeah, lots of waffle to describe a game of very limited gameplay! I can think of other uses for dropped rocks, but that’ll depend on how much time I have after.

    Um, Hi

    Posted by (twitter: @atkinssj)
    Saturday, August 29th, 2009 5:21 am

    So, this is my first attempted LD, though I’ve followed it for a while. Started late, about noon GMT, because of being busy this morning, and so far my ideas are thus:

    ‘Caverns’

    • Rocks
    • Darkness?
    • Dinosaurs!
    • Digging.

    And that’s about it. Dinosaurs are there because everyone knows that they live in caves deep underground. I did manage to work-out how to use GIMP and draw a naff picture of a dinosaur though, so all’s not going too badly. Hopefully I’ll think of something more substantial during lunch. Egg sarnies!

    A naff dinosaur

    A naff dinosaur


    All posts, images, and comments are owned by their creators.

    [fcache: storing page]