Posts Tagged ‘ruby’
By Daniel Smith and Paul Potgieter, with music by Tim Harbour
During LD29 we produced No Hawking, a game we’re both proud of. But it didn’t go exactly to plan, and we fell far short of our initial design. We now examine the process so that we can get closer to our mark in LD30.
The making of No Hawking went like this:
- We forgot to name our group.
- We aimed too high, and as a result did get core gameplay in place until the last day.
- First release build was attempted after deadline (it failed… continuously)
- Dan forgot to pack a toothbrush.
- We burnt out each day instead of sleeping at regular intervals. This disrupted the flow of development.
- We used an interpreted language with horrible garbage collection and no native threading support.
- Custom Engines take a lot of time, which we didn’t have.
- We used a graphics framework that wasn’t actually finished :’|
- We used a release tool that didn’t “just work” and consequently spent the last frantic minutes just getting a distributable build done.
- We had an incredible brain storming session right after the theme was announced and came up with a design really quickly.
- We built a “working” custom engine during LD!
- Despite everything that went wrong, we managed to make a playable game with objectives, obstacles, and win/end states.
- We got enough sleep. (Although it was all over the place)
- We had pizza and fizzers… a lot of fizzers!
- We didn’t give up.
- We had fun!
- Use finished engine/framework etc…
- Release early, release often
- Sleep properly.
- Have more fun!
- Ludum dare is a time for experimenting with game design but not a time to create a whole engine from scratch
- Ludum Dare is fun!
There will definitely be a more complete Post-LD version.
I want to create a timelapse video with screenshots showing what I’m doing during. I’m on OS X and made this script to help me do that: screencapture.rb
You pass a directory as argument, that directory is created and every 5 seconds a screenshot is saved there. The script can be killed and when running it again with the same directory, it will continue saving screenshots, in another “session” folder.
A Fuzzy Associative Memory (FAM for short) is a Fuzzy Logic tool for decision making. Fuzzy logic FAMs are highly applicable in Game AI.
A Fuzzy Associative Memory uses Fuzzy Sets to establish a set of linguistic rules , e.g.:
- “If the orc’s hit points are a little low, retreat from the enemy”
- “If the enemy is distant and my rocket ammo is low, the rocket launcher is a poor choice”
- “If the enemy is near and my shotgun ammo is okay, the shotgun is a very desirable choice”
- “If the ship is off course by a little bit, correct just a little to the right”
- “If the bird is much slower than the flock, speed it up a lot”
The linguistic rules, and the fuzzy sets they contain, are defined by a human “expert” (presumably, you). That is to say, the rules codify intelligence and map this knowledge from the human domain to the digital.
After the rules are defined, a FAM is consulted to help your AI make a descision:
- The orc retreats, attacks, strafes.
- The ship launches long range missiles or fires short range guns.
- The control rods are lowered into the reactor or raised out of it.
As you can see, the fuzzy rules are deliberately vague and use qualifiers like “a little” and “a lot”. Furthermore, the lines between fuzzy sets are intentionally blurry. This is the nature of fuzzy sets; they capture such human fuzziness in a way that extracts highly natural behavior from the fuzzy rules. When defining these rules, it helps to imagine interviewing a bona fide expert in the domain and writing down the skills necessary to be successful in the domain.
Learn more, and get the Ruby Gem for your own game:
I’ve really enjoyed adding to Seed Life.
I’ve already received great feedback from friends and LD comments. I’ve implemented some of them:
- Display currently selected seed
- Reworked how drag planting works (with shift-dragging for straight lines)
- Better performance on longer runs
- Can now harvest any type of seed with right-click(watch out, they’ll grow back)
- Clouds (disperse them with mouse motion)
- more to come..
- New types of seeds (I’d love some ideas from everyone)
- Critters that only come out based on your garden
- feedback wanted
Thanks for a great LD! Keep playing those games.
I’ve known of Ludum Dare but this is the first time I’m participating in the event. I’m really looking forward to it.
I’m planning on writing the game in Ruby using the Gosu library. I have a small personal library called Okami that encapsulates Gosu in a ruby-ish fashion, but doesn’t differ all too much from Gosu. It’s available on https://github.com/Aerotune/Okami and https://rubygems.org/gems/okami
I will probably also make use of some of the awesome gems for gosu like chipmunk, ashton, texplay for visuals and releasy for releasing the game.
Like my last two games, this one will also be HTML5. I’m not yet sure whether it’ll be canvas2d or WebGL, but I’m leaning towards the simplicity of canvas2d.
- SCSS is compiled into CSS, using Compass for its CSS3 mixins (which automatically add vendor prefixes like -webkit- and -moz-).
- Inkscape SVG files are exported to PNG files.
This makes for the quickest development cycle: just save the file, and refresh the page.
I have three rough game concepts. Here’s to hoping one of them can be bent to fit the theme.
Good luck everyone!
My first event after seeing a friend suffer through a few on his own.
- Language: Ruby
- Framework: Metro
- IDE: Textmate 2
- Graphics: Photoshop, Pixen, Tiled and TPEditor
- Audio: Ableton, Figure (iOS) and Bfxr
I am using this last week to learn and build a few more things before everything gets started:
- Generating animation with my own art assets using TPEditor
- Developing and exporting animations with Pixen
- Metro needs to be able to import Tiled exports
- Metro needs the concept of a viewport
Better late then never. Because I do not have much time left I’m likely to participate only in the jam. I will use Ruby and Gosu and I will test out an entity-framework I wrote last week, following the great tutorial of Richard Lord. You can download it here, just to abide by the rules. I do not recommend anyone to use it, because it is kind of the first piece of software I wrote in Ruby, lacking testing and proper error handling.
Have fun, everyone!
http://dl.dropbox.com/u/5227720/HTML5/grid.html as basecode.
I may give up half-way through and make it with Ruby instead. If so, I’ll be using Ruby(duh) and Chingu/Gosu.
He’s used the game engine better then then me, making some winding, fun, hard to beat, acid-filled caves.
Check it out:
Maybe I’ll make a sequel too since the original game was so tiny. Actually I already started hacking on it. Some ideas/goals:
- The collision detection wasn’t perfect (for example you couldn’t jump while running into an obstacle)
- I’m thinking level-building from One big image instead of several small, but there’s quite some things to work out before that’s possible.
- More interaction with the world, could be levels to pull, buttons to push, doors, modification of terrain or living enemies, not just acid pools/drops. Preferable additions that don’t complicate the level building to much, now it’s basically drawing a new image and creating one class — liberating easy.
All right, so, I’ve managed to work out how to participate without a) unboxing and setting up my computer just for the compo, in the middle of a move, or b) leaving little software dev turds all over someone else’s computer, the solution being, use entirely portable (as in USB-stick portable) software for development. In this case, allinoneruby.exe, notepad++, mercurial (the command-line part only), pidgin (for irc), and whatever graphics software is already on this computer (such as MS paint, probably). This is made even more delightfully awkward by the fact that I normally do my work on a Mac desktop, and now I’m on a PC laptop. Should be awesome.
I should also add, in addition to my previously announced use of Ruby and Gosu, I may make use of chipmunk for physics, and I may steal some code out of an earlier project of mine, Operation Lambda. I anticipate using application-level code like menus, user preferences and resource management, not any gameplay code.
All that being said, this is still a busy weekend; nothing like 48 hours will be spent on this project.
Finished my entry for the LD#15. It’s a pity I didn’t have enough time to include all the features (enemies, power-up’s, lots of blood, stalactites…) I thought at the design stage, but at least it is playable. I think I might continue the development, though.
I’ve had lots of fun! This was my first LD and I’m really satisfied. See you in the next one!
In my game I had some problems with gosu’s rendering of tiled graphics. jlnr was so kind as to quickly fix some bugs, so here is my updated LD14 entry:
Download: Evacuation v1.01 (Windows binary + Ruby source code)
- background and road tiling
- bunkers no longer getting placed under houses so villagers can’t enter
- sound glitch when game is won
Bummer, too late for the binaries torrent
Finished my game now. There could be some more polishing but I think it’s fun to play and turned out much better than I expected yesterday.
(It seems the gaps between some tiles are an issue with my GPU, please report back!)
I hope all of you had a great time, I definitely had. Now, finally some sleep!