Olvand is a little multiplayer sandbox RPG, where the players live in self-built towns and can go on all kinds of adventures together. Imagine living with your friends in a small town in the mountains, or creating a new group of friends in a pub in the metropole you all live in. There will be several minigames the inhabitants of a server can play together, among which will be combat based games like King of the Hill or Capture the Flag. You will be able to play against other people in your city, or as a city against another city, or as a whole server against another server. The combat works with self-built guns, in which all kinds of powers can be combined to create unique effects. You can sign up to be a tester on olvand.com.

Some pictures of what I want to add in the future:

Image RSS Feed Latest Screens
Building a little town together A fishing contest Mining for materials
Blog RSS Feed Report abuse Latest News: Practical challenges with the cave generator

1 comment by Woseseltops on Jul 26th, 2014

Hi all, last week I told you about how the cave generator worked. Unfortunately, I've discovered that building a cave generator algorithm is one thing, but going from the blueprint to an actual cave you can walk around in is another. That is, I walked into several practical problems before I got it to work (and I still haven't got it working fully as I want it). These are the problems, and how I'm trying to solve them right now:

It's quite a lot of info to send
If you had a look at [the visual representations] of the generated caves last time, you might have noticed that it's quite a lot of information to send. Not that it's impossible to send all those x's, dots and pipe symbols, it's just that it did cause much longer loading times than I'd hoped for.

While grumbling about this, I realized that it's not only a lot of info, it's also a lot of redundant info. That is because each cave exists of 10x10 blocks, and each block has four possible exits (north, east, south and west), all of which might be open or closed, which gives us 2*2*2*2=16 possible blocks...


...so instead of describing the whole layout of the block, I now translate it to a number server side (0-15). The client consequently translated it back to the real block. This reduces a cave [like this] to a list of numbers like this:

1000000000000000000000000000000000000000000000
000000000000000000000000000000000000000020141011
000000000000000000000000000000001013100400000000
0000000000000000000000001007001500000000000000
000000000000000000100750070000000000000000000000
0000000000100500040000001300120000000000000000
0000100700150000000640110000000000000000000010061
002100900095004000000000000000000000000000010
06100210110000000000000000

Much better, huh?

It's quite a lot of stuff to render on screen

But there's another problem as well: these caves are huge. I have of course chosen this size myself (small caves won't be that exciting, as you can't get lost and stuff), but I didn't realize that so much game objects would have to be realized to actually display them. There are 100 blocks in one cave, and in one block fit 1557 rock objects... which leaves us with 155700 objects for the game to handle! Some quick tests show that, even with some smart optimizations to make sure the game only considers objects that are closeby (like I do in the main world), this is simply too much.

There is one big benefit to rocks, though: unlike the softstone underground, or the trees in the main world, the players can't take them away. They don't move! That means I can take one 'snapshot' (=OpenGL DisplayList, for those interested) of them as the cave loads, and then use that all the time, instead of the individual pictures of the rocks!

This gave me a speed-up of about 20-30 times (yay!) but it had one problem: while the rocks couldn't move, the player could: sometimes the player is behind rocks, sometimes he is in front of them, but if all rocks are combined into one image, rocks will be always either behind or in front. I fixed this by splitting my snapshot in two: one of the forward facing rocks, which will always be behind the player, and one of the backward facing rockes, which will always be in front of the player:


And that seems to work! I'm still not fully happy with the framerate, though, so let's stop talking and get back doing!

If you want more development, see [twitter] or [facebook]. If you want to be a tester, you can subscribe on [olvand.com].

Media RSS Feed Latest Video
Post comment Comments  (0 - 10 of 390)
Guest
Guest Jul 1 2014, 8:58pm says:

Question.. Can we ever expect Single-Player?
Sorry if there already is and I just missed it, I'm in a hurry.

+1 vote     reply to comment
Woseseltops
Woseseltops Jul 5 2014, 2:27am replied:

Yes, you can play the game singleplayer (you can start the server software from your local machine).

+1 vote     reply to comment
kaytavo
kaytavo May 23 2014, 7:37am says:

hiya wose how have things been. seems things are progressing nicely, i need to get back into playing olvand...

+2 votes     reply to comment
Woseseltops
Woseseltops May 25 2014, 2:49am replied:

Haha, thanks, and you should indeed ;).

+2 votes     reply to comment
RenderedWorld
RenderedWorld May 17 2014, 2:14pm says:

I like the look and concept of this game. Looks awesome!

+2 votes     reply to comment
Alitron
Alitron May 17 2014, 10:19am says:

I like where this is going, I used to work on a game with a similar concept with a little touch of roleplay.

+2 votes     reply to comment
Guest
Guest May 23 2014, 7:35am replied:

This comment is currently awaiting admin approval, join now to view.

Woseseltops
Woseseltops May 18 2014, 1:36pm replied:

Interesting. Was it on IndieDB?

+1 vote     reply to comment
Alitron
Alitron May 24 2014, 2:17pm replied:

Yeah, it was. I set it as inactive though, it shouldn't be visible.

+1 vote     reply to comment
Woseseltops
Woseseltops May 8 2014, 2:35am replied:

Hi YellowGaming, thanks for your interest, and sorry for the late response - I was on holiday. I'm going to send you a personal message on Desura to talk about this :).

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Olvand
Platform
Windows
Developed By
Woseseltops
Engine
Custom Built
Contact
Send Message
Official Page
Olvand.com
Release Date
Released Aug 18, 2012
Game Watch
Track this game
Share
Community Rating

Average

9.3

67 votes submitted.

You Say

-

Ratings closed.

Highest Rated (5 agree) 10/10

Looks really interesting and really needs a good playerbase!

Oct 8 2012, 8:30am by fastfire10

Style
Genre
Role Playing
Theme
Fantasy
Players
Multiplayer
Project
Indie
Boxshot
Boxshot
Twitter

Latest tweets from @olvandgame

Another problems-and-solutions-post: T.co

Jul 26 2014, 3:04pm

We´re back! In this blogpost, I describe the cave generation algorithm: T.co

Jul 22 2014, 9:49am

Looks like T.co will be down for a while. I'm going to postpone the blogpost until the problem is solved.

Jul 19 2014, 6:26am

Hmm... My friend, who generously let me use the server space for T.co is on holiday, and I can't reach him. :(

Jul 19 2014, 6:26am

Hmm... the website and login server seem to be down. I'm working on it!

Jul 17 2014, 1:58am

Caves in Olvand: why and how, pt. II T.co

Jul 13 2014, 3:58am

WHOA! Out of nothing, player 'Undaunted' has managed to match Kaytavo's #1 score: T.co

Jul 10 2014, 1:15am

My next focus: caves! T.co

Jul 5 2014, 4:13pm

Rewrote the world generation code. It just generated 10.000 worlds in 8 seconds. Awesome.

Jun 29 2014, 3:17am

Help picking a name for Olvand v11.0! T.co

Jun 28 2014, 12:44pm

Embed Buttons

Promote Olvand on your homepage or blog by selecting a button and using the HTML code provided (more).

Olvand Olvand
Olvand
Statistics
Rank
380 of 22,943
Last Update
6 days ago
Watchers
512 members
News
98
Reviews
20