Tenoch

LD17

Arks of Mercy, now for Windows

Note the Windows 7 window decorations ^^

Note the Windows 7 window decorations ^^

The game has been ported! Or more precisely the library behind it, since the game itself is purely in Lua.

Grab it from the entry page.

Remember to read the README, lots of nice info. Also remember that you can entirely change the key mapping if you don’t like the default one (see file keymap.lua)

Please consider rating the game if you already skipped it for non-Windowsness!

Have fun (hopefully)!

Tags: screenshot

Read the rules, upload your source!

Maybe I’m just being anal here, but the rules of the competition clearly state that

  1. All content must be created during the compo
  2. Source code must be provided

There are still occasional entries with images obviously taken directly from the web.

And in many entries, the source is forgotten (ignored?). Some even claim proudly that their game is closed soure…

I know it’s an honor system, and it is very unlikely that people will actually check your source for copy pasted code. But how long can it take to zip your project folder and upload it along? You can even just put it in a single archive with the compiled game if you can’t be arsed to make two different zips.

Now it’s too bad because the game are good. But how should these be judged? They should theoretically be disqualified. Should they receive N/A, or minimal grade on Overall?

I’m pretty sure most people didn’t pay attention to that aspect, but somehow it’s bugging me. Has an admin advice on the conduct to take?

Comments

27. Apr 2010 · 18:00 UTC
Yay, somebody else noticed this is a fairly major trend too.
Praetor57
27. Apr 2010 · 18:13 UTC
I agree, the source is an important part of things, I don’t see the point in being protective of source written in 48 hours (mine is horrendously ugly, and I’d be amazed if someone could get anything more than a headache from trying to steal it…).
28. Apr 2010 · 07:06 UTC
I used the Unity terrain tools for my unfinished project and while my initial screenshots had some stock Unity terrain textures, I replaced them all with my own. I didn’t actually use Unity’s water shader because I didn’t want to make bump maps and such, so I just had a translucent plane with my own texture.
snowyowl
27. Apr 2010 · 18:21 UTC
Whoops, forgot about the source. I’ll upload mine…
27. Apr 2010 · 18:53 UTC
yeah we need to state this in big letters at the compo start, and maybe have a “flag for DQ” box in the voting (with a reason). Then the mods could go check anything that got flagged a few times.
geti
27. Apr 2010 · 19:10 UTC
One of the bonuses of using Lua: the source is right there 😛
KavuDX
27. Apr 2010 · 20:14 UTC
I agree with you too…

I was going to use music and stock pictures from the web, and when I learned that I had to create EVERYTHING I even abandoned the default game maker buttons and drew everything in paint.
Tyler
27. Apr 2010 · 20:16 UTC
Agree with Geti. I used the Love engine which is based in lua, and my whole game is simply a zip file with a .love extension. Your only one extract from my source :)
nitram_cero
27. Apr 2010 · 20:27 UTC
I hate purism.
Tenoch
27. Apr 2010 · 21:03 UTC
Violation of intellectual property is a problem bigger than LD. Yes it’s possible that someone steals your game, publishes it wherever, and pretends he wrote it. Even if they don’t have the source.
28. Apr 2010 · 02:37 UTC
None of the Ludum Dare entries are in a finished state after the 48 hours. The kind of person who would steal source code to re-release it with their name on it isn’t the kind of person who can be bothered to finish the entry.
pythong
28. Apr 2010 · 05:15 UTC
do you even realize what you’re saying?
28. Apr 2010 · 06:33 UTC
> Would you disqualify A HUNDRED AWESOME ENTRIES just for that?
27. Apr 2010 · 20:31 UTC
Yeah, and it’s also a solo competition, but I’ve seen at least one entry that had separate credits for code, graphics and audio.
nitram_cero
27. Apr 2010 · 20:33 UTC
“All content and the game must be from scratch.”

“Ludum Dare is about creating games, not about writing A* for the 8th time. ”
sfernald
28. Apr 2010 · 02:22 UTC
Nitram_cero, I assumed that wonderful music you have in your game was your own performance or that are in a band or something. Was that music just pulled from the Internet?
Tyler
27. Apr 2010 · 20:47 UTC
May I suggest that in future LDs, there are multiple categories? Instead of everyone in the same competition, have a “barebones” section where creatores must follow the current rules exactly, and another category where anything goes/ loose ruleset. This would allow for people to continue to use Unity/Torque in one category without being ostracized, and those who like to do it all by hand can have the satisfaction of knowing they aren’t up against someone who started with half of what they made.
27. Apr 2010 · 21:32 UTC
Even I also uploaded the source too late, I do agree 100%. Especially on the content-side. I personally find it so cool to be forced to do the whole content on your own. And the outcome can be hilarious(e.g. the “where is the cheese?”-soundtrack 😀 ) If some people violate this they make the games not comparable anymore. (Everyone knows the difference between a cool background music and no music at all!) Rules are there to be followed. If some say, BUT and BUT and BUT, then LD is not for them…quite easy.
madk
27. Apr 2010 · 23:13 UTC
I hadn’t realized inclusion of source was rule, but I updated the link with it when I became aware. My code is actually (relatively) legible and I want to do something bigger with it when the compo’s over. This may become difficult of my code is stolen. I really don’t want this to be a requirement, because it’s certainly a discouragement for me, if not some others as well, if we are required to put out our thousands of lines of code and make it ripe for the picking. There is absolutely nothing preventing others from claiming our work as their own when we upload our source.So yeah, I’d like the rules to be adjusted so that it becomes optional to include the source.
Tyler
27. Apr 2010 · 23:50 UTC
Suggestion to keep your code secure- Write it in FORTRAN.
KavuDX
28. Apr 2010 · 00:39 UTC
You are all taking this way too serious…

I doesn’t matter if you made your game all the way from scratch (creating the graphics from pixel to pixel, the sounds that you composed and recorded and even the fonts where you text is written) and someone use some tool that allowed him to make something better and with less work.

The person who did everything from scratch will surely be more proud of their game than someone who didn’t made everything. Whenever the first gets a compliment for the graphics or the music, he will feel so great, different of the second person, who will know that it was not all his work.
28. Apr 2010 · 01:06 UTC
Honestly, I think two things need to happen: #1, the rules need to be a lot more visible in the period leading up to the compo, and during the actual compo, so that people can’t just go “well, i didn’t see the rules, so, whatever”, and #2, the rules need to be re-written so they’re clearer about a lot of things. There’s some progress towards #2, but it’s obviously not good enough, since there’s still confusion and arguments about rules.
sfernald
28. Apr 2010 · 01:14 UTC
I have a question regarding content.
sfernald
28. Apr 2010 · 01:49 UTC
I think source should be provided for learning purposes. I have a lot more respect for multimedia fusion because hempuli does such great work with it.
moltanem2000
28. Apr 2010 · 02:20 UTC
I’m all up for people posting their sources, but I’m against it being a necessity. Personally i’m quite attached to the games i work hard on in these short periods of time. And i’m not exactly trusting of the internet to leave it alone, whether or not there are copyright/CC/things in place. That may just be paranoia, but it’s also my opinion 😛
28. Apr 2010 · 04:57 UTC
Clearly as our numbers grow there is going to be more problem elements that don’t want to comply with the rules. How can we deal with them?
28. Apr 2010 · 06:38 UTC
On the topic of creating your own content – is using music from someone else, with their permission ofc, allowed? I’m hilariously tone deaf and I don’t think I could create anything even remotely pleasant even if I spent the whole 48 hours doing just that.
localcoder
28. Apr 2010 · 07:56 UTC
Most people don’t read the rules, but everyone reads their feedback. So if someone has missed the rules, all you need to do is politely explain what they’ve done wrong in their comments.
29. Apr 2010 · 22:01 UTC
I uploaded my source. In the commotion I forgot to upload it.

Arks of Mercy: the future

My game got 15th place on 204 entries. “Yay”, mesays.

And 4th in Innovation, Community and Theme.

So close to a medal! Thank you so much for your votes, and comments.

About the comments, they are very very positive, and this is extremmely rewarding. You all point out very clear downsides, that I am going to list here.

You big enthousiasm gave me the will to rewrite the game. Take your comments in account, try to make it better. More optimised, more fun, more functionnal, more beautiful. It might become my first full fledged game. And that would be nice.

Controls are awkward

True. As I wrote, I designed them with a gamepad in mind, and that was probably a bad idea. First because everyone doesn’t have a gamepad, and second because as it’s been pointed out, mouse controls would be a lot better.

Also, there are far too many controls. Moving, rotating, zooming camera is already 8 buttons. Could be reduced by suppressing the “strafe” left and right controls and probably still be functionnal. Given the height of the hills, we certainly need camera rotation, to reach “behind” them.

In the same vein, the “beacon” and “boat” shortcuts might be removed. They allow for faster play, but are confusing at first.

However, mouse controls were a lot harder to implement (I’m still not sure how to do the inverse transformation to get from screen to heightfield cell), so I went for buttons.

Solution: go for mouse control, as in classic RTS. Mouse to select buildings, mouse buttons to bring up menus, mouse at the edge of the screen to scroll. Mouse wheel to zoom. Maybe mouse in the top corners to rotate?

With of course keyboard equivalents for the poor chaps who still one one button mouses… Wink wink nudge nudge. And good old RTS keyboard shortcuts.

Gameplay is a bit confusing

Some of you mentionned this, and the fact that 3 pages of manual is too long. I can understand that, especially when you have 204 games to grade. Guilty as charged. When I decided to make a strategy game — with different types of buildings, each with its specificities — the game became inherently complex. And not “casual” anymore like many of the LD entries. That’s a choice that probably rebuked many players, and a risk to take. On the other hand, the only remaining ones were the most perseverent, and they seemed to find the game worth the effort. And graded well. Thanks again!

Solution: as suggested, inside help could be useful, as well as tooltips, maybe even tutorials. And pictures in the external manual.

Polish

Shading is a bit off at night time, menus sometimes disappear under water, aiming precision is not great, beacon rings should be visible at all times, colors didn’t get unanimity, etc.

Obviously, in a limited time competition, some polish gets left out. Especially since the technical part was quite challenging to me. All that would be corrected/improved in a post compo version. Notably, I would like to:

  • replace my lousy 3D icons by 2D, maybe have a HUD à la Warcraft, or just a bring-up menu.
  • use 2D sprites as well for the dezoomed view, instead of OpenGL square dots.
  • more eye candy. My lightnings are a bit lame, the uniform water is not that nice. could use a sky in zoomed views. Maybe more gimmicks on the land so that it doesn’t look so empty.
  • sound effects.
  • longer music, maybe different themes.
  • different environments, colors themes, etc.

More gameplay

No one commented on that, but I was thinking about it in my postmortem. Although many of you found the game enjoyable as it is, my intention was in fact to make it multiplayer.

  • cooperative mode. 2+ players share the same ressources (max number of stuff) on the same map, and try to save as many people possible, together. Allows for more micromanagment and interesting strategic interaction.
  • competitive mode. 2+ players share the map and people, but have their own ressources/buildings. In the end, the winner is the one who saved the biggest number of people.
  • versus mode. 2+ players play on totally independent games but with an identical starting point. Other players can be displayed as “shadows”. There is no interaction at all between players, the point is to see how many people is saved by each player, given the same map.

Now I’m not sure a solo campain would be interesting. There are few types of buildings, one type of guys, and the point of the game is to control them indirectly. There wouldn’t be heros, or real stories behind.

Of course, there could a be a series of tutorials, introducing the buildings one by one. Or I could radically change the whole thing and add lots of unit/building types, and make it a full fledged RTS with military and bloodbaths and whatnot. But that wouldn’t really uphold the original concept.

I could, later, make a wargame out of this, in a sequel. But for now I’d just like to remake *this* game, since you seemed to like it so much.

Technical notes

I’m not really sure what i mean by “rewrite”. Of course, the LD code is pretty much unusable. Globals everywhere, fake OOP with ugly shortcuts, last minute patches that became core functions, etc. Also, it’s written entirely in Lua, and performance is probably not excellent. That means I should probably move the computation intensive parts to C (or a C based language such as Objective-C that I happen to know): heightfield generation and altitude interpolation, drawing calls, etc.

Sadly I don’t really know where to put the limit, and I haven’t really experimented yet with C-Lua communication and design. For now my library is mainly a wrapper that makes low-level functions available to Lua, and everything from low-level to logic is in Lua.

Might be an interesting challenge. Might also be one of these things I get sucked into and in which I roam around for ages in technical desperation.

The good things

You mentionned awesome, fun, damn cool, interesting, great visual style, atmosphere, “perfect” music, great feeling of doom.

Mission accomplished. Thank you a billion times.

Stay tuned for a possible remake, and see you during the next LD!

Comments

snowyowl
21. May 2010 · 00:20 UTC
A remake, huh? That would be brilliant.

Of the 30 or so games I played on LD17, this was probably the best. Certainly it was the only one with enough replay value to keep me hooked for three playthroughs, and that’s without any sort of secrets or extras that I wasn’t able to get the first time (which is usually what makes me play an LD game twice :P)

Retro awesomeness

There seems to have been a Dwarf Fortress frenzy in the channel these past few days (which of course pushed me to fall in the DF trap once again. Already 2 all nighters lost to it…) and necessarily I wondered about some of the technical aspects. And of course I started coding.

Screenshot

After a few hours, there I am, with an OpenGL powered virtual terminal, that displays a 256 glyphs bitmap font, has 16 colors, has background and glyph coloring, and is actually just a network terminal.

Yeah. The only thing it can do is connect to a server, get text and color information from it, and send keypresses.

It’s kinda like OnLive, but for 8bit text 2*4bits indexed color games. Awesome. In fact the original idea was that since keypresses and a few letters are quite light with modern connections, why bother duplicating the game world in each player’s client? It brings lots of annoying things like synchronisation, world updates, distributed computing, cheating, etc.

My legendary laziness suggested that any game could in fact regroup world data, game logic, input and output in a single place. Exactly like a local multiplayer game. But over a network. It gives interesting ideas like very cheap “observer” mode (just broadcast some player’s screen to anyone who wants), transparent join/leave (after a deconnection or a local crash, find the game as it was, assuming the server paused, or rejoin a persistent multi experience), etc.

Now a cool thing would be to apply that for this MiniLD. I’m still not sure I’ll have time to enter, but who knows. It will depend on the theme I guess.

EDIT: oh and needless to say, there is some Lua involved. The main app with the OpenGL drawing is in C, but the config and the network code is Lua. Manipulating text and sockets is much easier there.

And about the protocol, it couldn’t be simpler: client->server is “SDL_Key code (as decimal text) and newline”, server->client is “char, 4bit background color, 4bit glyph color” for all cells, topleft to bottomright, followed by a newline.

The client also sends “tsize w h” to announce its size to the server at connection. That’s about all control messages I’ll use.

LD18

Declaration of uncertainty

So the “Hello”-posts season has started. I won’t be very original, I always use the same things:

  • Code in Lua using my personal lib evöL. There are lots of new additions in the dev version that you can get by typing “bzr branch lp:evol2d” in the closest terminal. evöL runs on GNU/Linux, Windows and now Dingux (Linux for the Dingoo handheld device). It should compile fine on Mac OS X and *BSD, but I’m unable to cross-compile for these. Depending on my mood, I might make a Dingoo game (understand “low-res, limited input”), which by the wonders of portability, will run on PC OSes as well (with keyboard or gamepad). Oh and it’s binary compatible with the Ben Nanonote, if anyone of you has one.
  • Alternatively, I might give a try to my previous experiment, of a text based networked platform where all code is on the server, and the client is only a terminal that relays input and displays output. That’s in Lua too.
  • Compy is an EeePC 901 running Ubuntu 10.04, and the language is interpreted, so that limits seriously performance, although last time I managed to make a full 3D game entirely in Lua. If Dingoo there is, it’s even more limited (heh, no FPU!) But that’s good. Games shouldn’t need supercomputers to run on.
  • Text editor is Geany.
  • Graphics will probably be with Inkscape and GIMP. I do have a camera but no scanner. If graphics there are.
  • Sound: the usual Audacity and/or sfxr for sound, LMMS for music.

Now I happen to have my housewarming party on Friday night, and a birthday on Saturday. I may or may not be able to participate at all. I may as well have to drop to the Jam, even if my goal is really the compo. I managed the top 20 last time, which is extremely exhilarating. I wonder if I can top that.

I should also warn that I always make many motivational posters, and that they suck like you can’t imagine.

Now have fun people. See you on Saturday.

Montage

New and awesome. Here’s mine.

Montage

Tags: montage, screenshot

Feline genocide week-end

Kittens

Hurray! Dogs shall prevail!

Tags: motivation

Comments

ColdFusion
20. Aug 2010 · 09:52 UTC
Leave the kittens alone with your dirty jokes
20. Aug 2010 · 11:52 UTC
Couldn’t God just neuter them instead? That would save a lot of grief.

Hope

Comments

20. Aug 2010 · 23:08 UTC
This made me giggle. thumbs up 😉
Fiona
20. Aug 2010 · 23:12 UTC
I urm… Totally didn’t do this too… <_<
Tyler
20. Aug 2010 · 23:13 UTC
Lets just hope we aren’t the only ones :)

I suggest that bugs is our secondary theme this round, much like fishing was on the last one.
rAzzB1tcH
20. Aug 2010 · 23:31 UTC
Glorious …
Martoon
20. Aug 2010 · 23:31 UTC
I’m pretty sure bugs will be my secondary “theme”, no matter what.

Procrastination

Meanwhile, my game is non existent.

Comments

21. Aug 2010 · 11:33 UTC
hah! the soviet russia joke made me laugh. or i made it laugh, i donno.

I can haz spaec sheep!

Did you say &quot;BSG&quot;?

Did you say "BSG"?

I also have complete physics with 6 dof, and cool gamepad support. But appart from flying around an empty universe, there’s not much to do.

This feels so epic already!

This feels so epic already!

Tags: screenshot

Fusion trails

Now with cool trails. Of course it would look more interesting if the ships did something else than going straight…

Can you feel the epic?

Can you feel the epic?

Tags: screenshot

Comments

pants12
21. Aug 2010 · 16:08 UTC
i can feel the bugs are gooing to attack you….

just kidding 😀

yup thats preety epic
jakkarth
21. Aug 2010 · 16:17 UTC
This looks really sweet! I’ve always wanted to do a space sim/flight game but 3d is hard. Yay for 2d!
21. Aug 2010 · 16:21 UTC
I’m feeling the epic!
21. Aug 2010 · 16:42 UTC
Epic feel GET! 😀
21. Aug 2010 · 16:57 UTC
Yep… Pretty EPIC! :)

The failure of Newton

Space mess

Space mess

So far, I implemented the usual Newtonian physics, that is, the ship has a thurster control, which makes it accelerate in the current direction, and speed and position are integrated from it.

To control by hand, it’s a bit unusual, but we get used pretty fast. Especially since I coded a control that turns you automatically to the direction opposite to your speed, so you can “slow down”.

However, I’m stuggling to build an AI for something as simple as “go there and stop”. The easy way seems to be to first slow down to a stop, then turn to the point, accelerate half the way, deccelerate half the way. But that, of course, fails if the target is moving.

More naive solutions can work too, but they all seem to “diverge” in that if you aim at a fixed point, the ship will oscilate around it, on an increasing orbit.

Anyway, despite allowing for pretty nifty curvy trajectories, I’m affraid Newtonian physics are actually not fun. You almost never point at where you want to go, and you spend your time doing “straight” accel/deccel trajectories, because they are easier to visualize.

The solution I see is to go back to a more “arcade” system, where the player controls directly speed, instead of acceleration. Pressing the thruster button makes you go forward, period. Of course, in space it’s very impossible, but that’s the kind of behavior we are use to on Earth. Thanks to friction on the floor, cars, bikes and stuff are controled by direction.

On the other hand, I like the idea that you can aim at somewhere you don’t go, especially if weapons are aligned with the ship. That way you can do fly-by shootings, and looking around without actually moving erraticly.

Maybe I can try a hybrid system, where ships have proper Newtonian inertia, but as soon as the thrusters are on, the speed is fixed to the forward direction. Maybe also some sort of damping to avoid brutal speed jumps then.

Dunno. I’m getting tired and I haven’t done much yet. Also I’m far from any game at all.

Tags: screenshot

Comments

21. Aug 2010 · 20:43 UTC
You can cheat on the AI, using feedback loops… I’ve done so in the past with lots of success on that same context…

Feedback loops use the following piece of code:

LD19

Copy pasted “intent” post

[Hey folks. Here is a copy paste of my last “declaration of intent” post, because I would have written the exact same information. Except that my Friday night is free, and that I have a flatmates party on Saturday. Oh and I dist-upgraded Ubuntu since then.]

So the “Hello”-posts season has started. I won’t be very original, I always use the same things:

  • Code in Lua using my personal lib evöL. There are lots of new additions in the dev version that you can get by typing “bzr branch lp:evol2d” in the closest terminal. evöL runs on GNU/Linux, Windows and now Dingux (Linux for the Dingoo handheld device). It should compile fine on Mac OS X and *BSD, but I’m unable to cross-compile for these. Depending on my mood, I might make a Dingoo game (understand “low-res, limited input”), which by the wonders of portability, will run on PC OSes as well (with keyboard or gamepad). Oh and it’s binary compatible with the Ben Nanonote, if anyone of you has one.
  • Alternatively, I might give a try to my previous experiment, of a text based networked platform where all code is on the server, and the client is only a terminal that relays input and displays output. That’s in Lua too.
  • Compy is an EeePC 901 running Ubuntu 10.04, and the language is interpreted, so that limits seriously performance, although last time I managed to make a full 3D game entirely in Lua. If Dingoo there is, it’s even more limited (heh, no FPU!) But that’s good. Games shouldn’t need supercomputers to run on.
  • Text editor is Geany.
  • Graphics will probably be with Inkscape and GIMP. I do have a camera but no scanner. If graphics there are.
  • Sound: the usual Audacity and/or sfxr for sound, LMMS for music.

Now I happen to have my housewarming party on Friday night, and a birthday on Saturday. I may or may not be able to participate at all. I may as well have to drop to the Jam, even if my goal is really the compo. I managed the top 20 last time, which is extremely exhilarating. I wonder if I can top that.

I should also warn that I always make many motivational posters, and that they suck like you can’t imagine.

Now have fun people. See you on Saturday.

Basecode/lib: evöL 2.0-rc1

Fellow LDers, as required by the rules, here is my basecode, that I pretentiously call a library. It was available before in the bzr repository on Launchpad, but I made a release (or rather release candidate) in case anyone is interested.

evöL page on Launchpad or directly source tarball.

evöL is a multimedia library in Lua, based on SDL, aimed at fast game prototyping. It provides keyboard/mouse input, image loading/editing/blitting, font rendering, graphic primitives, sound/music playing, OpenGL context creation (to use with an external GL lib), and terminal simulation (curses like). Supported platforms are GNU/Linux, Windows and Dingux (Dingoo Linux), but it should be portable.

Moar basecode: Lalonde 1.0-beta

Mwahaha, this LD is the occasion for me to cleanup my basecode(s) and make pretty releases for them. This one is my character based client-server network terminal thingy where all the code is executed in the server.

Retro pretty

You can get it on the Launchpad project page, or get directly the source in a zip or a gzipped tarball.

Fell free to use, or absolutely ignore. I don’t know yet myself if I’ll use it. I’d like to try, because writing basecodes and not using them is le useless. It’s very much untested in terms of usability, hence the “beta”, but the code itself should be pretty solid.

I can has random heightfield generation

     ......oooxxxxooooo....o..o.ooooooooxoooxooo.ooo.o.ooo.....
 ......ooooxxxxxoooooo...o.oooooooooooooxxoooooooooooooo.....
 ........ooooxxxx*xxxxooooooooo.oooooooooxoooooxoooooooooooo.....
 ....oooooxxxxx*xxxxxxxooooooooooooooxxxxxooooooooooooooo.. ..
 ...ooooooxxxx**xxxxxxxxoooooooooooxxxxxxxxxoxxooooooooo...
 ..oooooooxx****xxxxx*xxxooooooooooxxxxxxxxxxxxxooooo.o.....
 ....oooxxxxx****x**xx**xxxxooxoxxxxxxxxxxxxxxxxxxoooo..... .
 ....ooooxxxx*************xxxxxxxxxxxxxxxxxxxxxxxxxxooo......
 ...oooxxxx***************xxxxxxxxxxxxxxxx****x*xxxoo..... ..
 ...oooxxxxx****************xxxxxx******x*******xxxoooo.......
 ...ooooxxxxxx***********************************xxxoooo.......
 ......oooooxxxx**********************************xxxxxoooo......
 ......ooxooooxxxx**************^*^^^^^************xxxxooooo.....
 ......oooooooxxx**************^^^^^^^^^^^^*******xxxxooooo......
 ....oooooooooxxx*****^^***^**^^^^^^^^^^^^^^*******xxooooooooo...
 o..o.oooooooooxx*****^****^^^^^^^^^^^^^^^^^^******xxxooooooo..oo
 oo..oooo.oooooxxx***^****^^^^^^^^^^^^^^^^^^^******xxoooooooo..oo
 ooo..ooo.oooooxxxx******^^*^^^^^^^^^^^^^^^^^******xxxooooooooooo
 ooo.....ooooooooxx*******^*^^^^^^^^^^^^^^^^^^****xxxoooooo.ooooo
 oo.......oooooooxx*********^^^^^^^^^^^^^^^^^*****xxxxxoooooooooo
 o.......o..oooooxxx*******^^^^^^^^^^^^^^^^^^******xxxxoooooooooo
 ............ooooxxx*x******^^^^^^^^^^^^^^^^^^^****xxxxoooooooooo
 ............oooooxxxx*******^^^^^^^^^^^^^^^^^*****xxxooooooooooo
 o.......  ..oooooxxxxx********^^^^^^^^^^^^^^^^****xxxooooooooooo
 o.......  ..ooooooxxxxxxx*****^^^^^^^^^^^^^^^****xxxxoxooooooooo
 o......   ....ooooooxxxxxx****^^^^^^^^^^^^******xxooxoooooooooo.
 .......   ....o..oooxxxxx*x***^^^^^^^^^^^*****xxxxooooooooooo...
 ......     ......ooooxxxx*****^^^^^^^^^^*****xxxooooooo.o.o.....
 ..  ..      ......ooooxxxx****^^^^^^^^^^***xxxoooooooo.o........
 .....oooxxx******^^^^^^^^^**xxxoooooooo...........
 ..ooooxxxx*****^^^^^^^^^***xxooooooooo.......
 ..oooxxxx*****^^^^^******xxxooo.oooooo......
 ..oooxxxxx***^^^^^******xxoooo...ooo........
 ..oooxxxxxx****^****xx*xxoooooooooooooo.....
 ..ooooxxxxx********xxxxxxoooooooooooo.....
 ....oooooxxxx*x**xxxxxooooooooooooooooo.....
 ....ooooooxxxxxxxxoooooooooooooooooooooo..  ..
 .                  .....ooooxxxxxxxxoooooooooooooooooooooo......
 .                   ....ooooooxooxxxoooooooooooooooooooooo......
 .......oooooooooooooo.oooooooooooooooooo.....
 .              ....   .oooooo.ooooo.....oo..ooooooooooooo...
 . .                  .   .........ooo......o.oo...ooooooooooo...
 ..                        ..........o.........o....ooooooooooo..
 ....                        .. ...................oooooooooooo..
 ....                              ...... .........oooooooooooo..
 ....                            . ...... ........ooooooooooooo.o
 ....                              .... ...........oooooooooooo..
 ....                              ..................oooooooooooo
 o...                              .................oooooxooooooo
 o.....                             ...............o.oooooooooooo
 ooo....                            ...............o.oooooooooooo
 ooo....                              ............ooooooooooooooo
 ooooo... .  .                         ..........o.oooooo.ooooooo
 ooooo.........                       ..........o.ooooooooooooooo
 .ooooo........                      ............o.ooooooo..ooooo
 ...oo...o......                .... .............o.o..ooo..ooooo
 oooooo.oooo..... .  .       .. ...................o...oo.....ooo
 o...ooooooooo........      ............................oo....ooo
 oo..oooooooooo........ .  ................o............ooo..oooo
 ......o..ooooo...........................................o......
 ..........oo.oooo............oo......o...o.oooo.................
 ..........ooooooooo.................ooooooooooooo........o......
 .... .....ooooooooooo.........oooooooooooooooooo........o.......
 ..   .....oooooxxxooo..........ooooooooooooooooooo.....ooo......

Now of course it requires some tweaking so that my game world does not end up being Waterworld, or Dune, but there you go. Oceans, plains and mountains.

Note that it wraps around in both directions, so my world is a torus. And there is of course lots of parameters that can be changed. (Understand: I’m going to play with the parameters for a few hours, and then discard them anyway.)

Somewhat broken river system

                          ..xxxoo*********?────────
 ..xxxooo?******?**ooxx..
 ────────┘─?****│**ooxx..
 ..xooo*********│*ooxxx..
 ..xo***********│*ooxxx.
 ..xxo*********?*└──┐xx...
 ──┐o**z******│*ooo└────
 .xx└───?z*****└────────┐.
 .xxxoo**zzzzz**ooooooxx.└
 ..xxoo***zzzz*****ooxxxx..
 ...xxoo***zz┌─────────┐xx..
 ..xxxoo*****?*****ooox└─┐.
 .xxxooo***┌─?*****ooox..└
 ...          ..xx?oo*o*│*******ooxx....
 .......       ─────┘oooo*│******oooxx.....
 ........     ....xxoooo**└──┐***oox┌── ..
 ...xx....     .....xoooo*****│o*oo┌─┘x.
 .. .....xx.....  .....xxxxxooo****└─┐o┌┘oxx....
 .... ...xx.xx...........xxxxooooo*****└─┘oooxx...
 ..... ......xxx..........xxxxxoooooo*oooo┌?oooxx...            .
 ........x.....xx........xxxxxooxoooooooo┌┘ooo┌────       . .....
 ..............x......xxxxxxxxoxxoooooo*o└┐ooo│oxx....   ........
 xxxx................xxxoxooxxxxxooooooooo└───┘oxxxx..   ......xx
 xxxxxxxxxx.xx......xxxxooooxxxoooooooooo***ooooxxxx.┌┘. .....xxx
 oxxxxxxxxx..x.....xxxxxoooxxxxoooooooo*****oooxooxx.│. ......xxx
 oxoxxxxxxx........xxxxxxxxxxxxooooooooo*****oooooxx┌┘....x...xxo
 ooxxxxxxxx........xxxxxxxxxxxxxoooooooooo****ooooxx│....xxxxxxxx
 oxxxxxxxx.........xxxxxx.xxxxxxxxxooooo*******oooxx│x..xxxxxxxxo
 ooxxxxxx.xx..... .xxxxx...xxxxxxxxooo*****zz***ooox└─┐.xxxxxxxxo
 ooooxxxxxxx........xxxx...x.xxxxxxoo***********oooo│.└──┐xxxxxoo
 ooooxxxxxxxxx.........xx....x...xxoo****zzzzz**oooo│...x└┐xxxxoo
 *oooxxxxxxxxxxx.............x.xxxxoo***zzz*z***o┌──┘xxxxx│xxooo*
 *ooxxxoxxx.xxxx............xxx.xxxoo****zz*zz**o│oooxxx┌─┘xoooo*
 **ooooxxxxxxx..............xxx.xxxo********z?───┘ooooo?│x└┐oooo*
 **ooooxxxxx....  ... ...x......xxoo******zz*****ooooooo│oo│oo***
 ooooooooxxx..... ......x........xxoo******zz******o**oo│o*│***o*
 oooooooooxxx..   ................xxo******zzz**********│**?***oo
 ooxooooooxx......................xxooo***zzzz*z*z*****?┘******oo
 ooxxxxoooxx.............. .    ...xxoo**┌┐*zzz*zzz***z********oo
 oxxxxxoxoxx...........         ...xx┌───┘│*zzzzzzzzzzzzz******oo
 xxxxxxxxoxx....xx....          ─────┘oo**└┐*zzzzzzzzzzzzz*****ox
 xxxxxxxxxx............         ...xxxooo**│*zzzzzzzzzzz******oox
 xx.xxxxxxx.       . .          ....xxooo**│***zzzzz***z*ooooooox
 xx.xxxxx...         .          ....xxxoo**│****zzz*****o?oooooxx
 .....xx...                     ....x.xxoo*│****zzzz***oo└─┐oxxox
 x........                      ...xxxxxo**?*****zz**ooooxx│xxxxx
 xxx......                       ....xxxo***********ooooxxx│xxxxx
 xxx....                          ....xxooooo******oooxxxxx│xxxxx
 oxx..                             ...xxo**ooo**o*ooooxx.┌─┘xxxxx
 xxx...                            ...xxooooo***ooooxxxx.└┐.xxxxx
 xx...                              .x.xxooo****oooxxxxx..│..x.xx
 .....                             ..xxxxoooo****ooxxx....│......
 .                             ...xxxxooo*****oox....     ..
 ...xxxxoo***?──────
 ...xxxxxooo***oxx..
 ..xxxxxooooooooxx..
 ..xxxxooo*oooooxx...
 ..xooooooooooooxx..
 ..xxoooooo**oooxxx.
 ..xxxooo****oooxxxx.
 ..xxxoo*******oox...
 ..xooooo******ooxx...
 ..xooooo********oxxx.
 ....xooo**********oooxx..

It simply follows the steepest slope, and erodes the land when there is no lower point around. Kinda works.

Comments

Sparky
18. Dec 2010 · 08:01 UTC
Whoah, that’s an awesome screen capture. It’s got a lot of texture.

Vegetation

≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦≈≈≈≈≈≈≈≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ttttttttttttt♦♦♦♦♦♦♦♦tttt≈≈≈≈≈≈≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈tt≈≈ttttttttttttttt♦♦ttttttttt≈≈≈≈≈≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ttttttttttttttttttttttttttttttt≈≈≈≈≈≈
 ttt T                ♦ttttttttttttttttttttttttttttttttt
 TTT            ♦♦    ttttttttttttttttttttttTttttttt♦♦♦t♦
 ♦♦         ♦♦♦T♦TTT♦TtttttttttttttttttttttTTTTttt♦♦♦♦t♦
 ♦♦♦♦♦♦♦      TTTTTTTTTttttttttttttttttttTTttTTT♦♦♦♦♦t♦♦♦♦
 .♦♦♦♦♦♦T   ⌠⌠TTTTTTTTtt♦ttttttttttttttttTTT♦T♦♦♦♦♦♦♦t♦♦♦♦
 .♦♦.♦♦♦♦⌠⌠⌠⌠TTT⌠TTTTTTTTTttttttttttttttttTT⌠.♦♦♦♦♦♦♦♦♦♦♦♦♦
 ....♦...T⌠⌠⌠⌠TTT⌠TTTTTTTTTTtttttttttttttttTTT⌠....♦♦♦♦..♦♦♦♦.. .
 ♦.... ..⌠⌠⌠⌠⌠⌠TT⌠⌠T⌠T⌠⌠⌠TTTtttttttttttttttTTT...♦♦♦♦t♦....♦♦♦...
 ♦...  ..⌠⌠⌠⌠TTT⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTttttttttttttttTTT♦..♦.♦♦♦♦♦♦♦..♦♦♦..♦
 ♦..... ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTtttttttttTTTTTT♦♦..♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
 ..⌠..⌠ ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTTttttttttTTTT⌠T♦.....♦♦♦♦♦TTTTTTTTT♦⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTTttttttTTTT⌠⌠⌠....♦♦♦♦♦♦TTTTTTTTTTT⌠
 T⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠T⌠⌠TTTttttTT⌠T⌠⌠⌠......♦♦♦♦♦TTTTtttTTT⌠⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTttTTT⌠⌠⌠⌠⌠..........♦TTTTTTTTTT⌠⌠
 ⌠⌠⌠⌠⌠⌠  ⌠⌠⌠⌠⌠√√√√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTTTT⌠⌠⌠⌠⌠f⌠........♦♦♦TTT⌠TTTTTT⌠
 ⌠⌠⌠⌠⌠⌠⌠ ⌠⌠⌠√√  √⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠TTTTT⌠⌠⌠⌠⌠⌠f.........♦♦♦♦⌠⌠⌠TTT⌠⌠⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠√√ √ √√⌠⌠√⌠⌠√⌠⌠⌠⌠⌠⌠⌠⌠⌠T⌠⌠⌠⌠⌠⌠⌠⌠⌠f.f......♦♦♦..⌠⌠TTT⌠.⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠ ⌠√√√√√√√√√√⌠⌠⌠√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠...............♦TT.⌠..
 .⌠f⌠⌠⌠ ⌠   √√√√√⌠⌠√√√√√√√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠................T...⌠.
 fff⌠⌠⌠   √⌠√√√√√⌠√⌠⌠⌠⌠√⌠⌠√⌠⌠√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠..............♦.......
 ff   ⌠   √√√√√√√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠√√√√√⌠⌠⌠⌠⌠⌠⌠⌠.........~.............ff
 f ⌠ ⌠⌠   √√√√√⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠√√√√⌠⌠⌠⌠⌠⌠⌠⌠.f.......f~~..........fff
 ⌠ ⌠√   √√√⌠⌠⌠+⌠    ⌠   √√√√√√⌠⌠⌠⌠⌠ffff......~.~.......ffffff
 ⌠√ff√√√⌠⌠⌠++       ⌠√√√√√⌠⌠⌠⌠⌠⌠ffffffff...f.....fffff⌠fff
 √√f   ffff +       f⌠⌠⌠⌠⌠⌠⌠ffffffffff~.ff...f...f⌠⌠⌠⌠ ff⌠
 +   +++f√f                ff+⌠⌠⌠⌠⌠⌠ffffffffff.f...ffffff⌠⌠⌠    +
 ++ff√ff                  +⌠+⌠⌠f++ffffffff....fffffff+f+++  +
 +++fffff                    +++++f+ffffffff....fffff++ +++
 ++fffff                       +++++fffffff....~~~ff++  +
 +++⌠⌠⌠⌠⌠fff                     +++ffffffffff....~~~~fff+ +    +
 ++⌠⌠⌠⌠⌠⌠√√f    +                 fffffffff~f..f..~fff~~+f  +++++
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠++  ++++             +ffffffffff....f.~fff~~f++f f++⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠+++f⌠⌠ +          +ffffffffff.....f.f~fff~~ fff+ff⌠
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠           fffffffffffff...ff.~ffff~~~fffffff
 f⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠          ~~~~ffffffff..f.f.ff.ff~~~~~ fffff
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠f         ~~~~~~~fffffff......fffff~~~fffffff
 ⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠         f~~~~~~..fff⌠........ff~f~ff~~~f fff
 ..⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠⌠         ~~~~~.~.~fff.........~ff~~~~~ffffff.
 ....⌠⌠⌠⌠.⌠⌠⌠⌠⌠⌠⌠⌠⌠          ~~~~....ffffff.......~~.~.....ff....
 .....⌠⌠..⌠⌠⌠⌠⌠⌠⌠            ~~~~......f..f......................
 ........f⌠ ⌠⌠                ~~~~.......f.......................
 .........⌠                  ~~~.................................
 ........f                    ~..................♦♦........♦.....
 ........                      ..............♦..♦♦♦♦♦♦♦♦♦♦♦♦♦...♦
 ♦.....                       ~........♦....♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
 ♦....                        .......♦♦.♦♦♦♦.♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
 .....                        .......♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦t♦♦♦♦♦♦♦♦♦♦.
 ......                        ......♦♦♦♦♦♦♦♦♦♦♦♦♦♦ttt♦♦♦♦♦...♦.♦
 .  ..                        .....♦♦♦♦..♦♦♦♦♦♦♦♦ttt♦♦♦♦♦♦♦....♦.
 .                            ...♦.♦♦♦♦♦.♦♦♦♦♦♦♦tttt♦♦♦♦♦♦♦♦♦.♦..
 ...♦♦♦♦♦♦♦♦♦♦♦♦♦♦tttttt♦♦♦♦♦♦♦♦♦♦♦..
 .♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦tttttt♦♦♦♦♦♦♦♦♦♦♦.
 .♦♦♦♦♦♦♦♦♦♦   ♦♦♦tttttt♦♦♦♦♦ ♦♦♦♦
 ♦♦♦♦♦♦♦♦♦♦  ♦♦♦ttttttttt♦♦   ♦♦♦♦
 ♦♦♦♦♦♦♦♦♦  ♦tttttttttttt♦    ♦♦
 ♦♦♦♦♦♦♦    ttttttttttttt♦♦
 ttttttt≈≈ ≈tttttttttttttttt≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈   ≈≈≈≈≈≈   ≈≈≈≈≈≈≈ttttttttttttttttt♦tttttttt≈≈≈≈≈≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ttttttttttttttt♦♦♦ttttt≈≈≈≈≈≈≈≈
 ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈t≈tttttttt♦♦♦♦♦♦♦♦♦♦tt≈≈≈≈≈≈≈≈≈

So hmm yeah, now I generate temperature maps (with altitude, distance from equator and noise), and precipitation map (just noise), and from those I deduce the type of vegetation in each cell. This is extremely non scientific and not accurate, but the result is ok-ish and I lost far too much time on these damn rivers that still don’t work properly. Damn, when will I have any kind of gameplay anyway?

Comments

True Valhalla
18. Dec 2010 · 12:25 UTC
Heh, who cares about gameplay, it looks great =)

LD20

Declaration of… wait, wut?

Theme. The Force is strong with this one. Although you can probably just make any single game with a tool and say, oooh wait, it’s dangerous to go alone, take this <insert random tool>. Be it weapon, magic staff, vehicle, football, companion, etc. But hey why not, we had more generic themes before, turned out fine.

This is a declaration of maybe, maybe not, since tomorrow (and by extension today) is national day of awesome here in Finland, and I may succumb to peer pressure and actually go outside with people for fresh air and social reinforcement (it’s dangerous to go alone, here take this friend/beer). But I guess the main festivities start later in the afternoon so I may hack up together a small joke game or something until then.

Tools. Lua for sure, maybe with LÖVE or my own lib evöL. Other tools will be according to random inspiration.

Seems there’s a lot of people in, which is good because more games, and bad, because the chatter on the IRC channel and compo blog will be hard to decipher. Also each individual gets a lot less attention, especially newcomers. It’s a harsh world. Dangerous out there. Ha. Anyhoo. Good luck all, kudos for the keynote, and remember to keep hydrated.

LD21

Rock’n’roll

So it seems that the LD week-end is my first free week-end in two months. Fatally, I’m in!

My toolset is the same as usual: Lua, plus my own SDL based lib, or alternatively LÖVE. Inkscape, GIMP, LMMS, plus any other free software tool I can find in Ubuntu repositories. This time I’ll try to focus on original gameplay more that anything else, so that my final product is indeed a game, rather than my usual toys or new technology tries. Graphic art is always a problem, but I’ll try to keep it simple. I usually take some time for music, because that’s one of the parts I prefer. Will see.

I plan to enter the compo, but if random external events come and trouble my nerd week-end, I might take another day for the jam. Good luck everybody, and remember, vote Evolution, it never wins but has to be damn close!

Comments

19. Aug 2011 · 19:17 UTC
\o/