Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411523 Posts in 69377 Topics- by 58431 Members - Latest Member: Bohdan_Zoshchenko

April 28, 2024, 01:21:08 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogs[Aug 15: new video!] EaS - Procedural 2.5D Platform Game
Pages: [1]
Print
Author Topic: [Aug 15: new video!] EaS - Procedural 2.5D Platform Game  (Read 7111 times)
runevision
Level 0
**



View Profile WWW
« on: August 08, 2010, 10:57:53 AM »


EaS is a procedural 2.5D platform game I'm working on with focus on non-linear exploration, set in a big, continuous world.

The entire world is procedurally generated at runtime, though it is consistent, meaning that the world will be the same on every play (save maybe for some special areas I'll add later).

To give you an idea of the current state of the game, I posted a simple playable demo of the game here. (This demo is a "tech demo" and features no enemies and no way to win. It extends infinitely to the right.)

Update: In this new playable demo you can fight (with fireballs!) against simple hunting enemies.

The single continuous world in EaS consists of areas which are each generated at runtime as the player approaches. An area is created first at a maze-like abstraction level, and then in more detail with uneven terrain, platforms, gadgets, background terrain and decoration etc. Unlike some other procedural games, the levels do not feature any destructible parts, but are generated such that they are always guaranteed to be solvable.


An area is first created as a simple maze.

The actual area is created based on the maze data.

As part of the levels there are locked door with matching keys that must be found. The game places locked doors and keys in a "perfect way" such that it is always necessary to find all keys and unlock all doors to be able to proceed, and a "deadlock" will never occur, where the key for a door is placed behind that door.

I'll keep this thread updated, and any feedback is appreciated. :)
« Last Edit: August 16, 2011, 10:34:33 AM by runevision » Logged

RCIX
Guest
« Reply #1 on: August 08, 2010, 02:42:53 PM »

Looks very impressive! i'll try and keep an eye on this one, i always love a good platformer Smiley
Logged
Paint by Numbers
Guest
« Reply #2 on: August 08, 2010, 04:05:44 PM »

Wow, this looks really great! I love procedural generation and 2.5D games, so I'm sure that this game will be enormously fun. Smiley
Logged
Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #3 on: August 08, 2010, 09:46:35 PM »

This is seriously awesome! I just played through the demo and loved it. My only substantive complaints concern the camera:

  • it rotates to face the direction the player is moving. It's a cool idea, but in practice, this makes it difficult to judge where the player is going to land during tricky jumps. Better to leave it facing straight-on from the side.
  • the camera needs to pull back when the player is faced with a long drop, so the player can see what's below. (Either that, or you should implement a "duck to move the camera down half a screen" function)

This has great promise. I'm looking forward to seeing this develop!
Logged

runevision
Level 0
**



View Profile WWW
« Reply #4 on: August 09, 2010, 12:09:15 AM »

Thanks for the comments guys! Glad you like it. :)

This is seriously awesome! I just played through the demo and loved it. My only substantive complaints concern the camera:

  • it rotates to face the direction the player is moving. It's a cool idea, but in practice, this makes it difficult to judge where the player is going to land during tricky jumps. Better to leave it facing straight-on from the side.
Aww, but I'm very attached to using those dramatic camera angles. :( I've gotten used to it; I think others can too, so I'll keep it for now. If it continues to be a problem for a lot of people, it's very easy to remove later. :)

  • the camera needs to pull back when the player is faced with a long drop, so the player can see what's below. (Either that, or you should implement a "duck to move the camera down half a screen" function)
Yep, look-up and look-down functions are on my todo-list. I also plan to make the default camera behavior a bit more "intelligent" in what it shows.

Thanks for the feedback!
Logged

davidp
Level 6
*



View Profile WWW
« Reply #5 on: August 09, 2010, 04:54:30 AM »

whoa this looks amazing. i can't try it yet as i'm at work, but i'm wondering if player can move in depth too? there are some tiles on the screenshot that seem to go in z direction (if y and x are for left and right).

so do you generate levels only in height and width or in depth too?
Logged

runevision
Level 0
**



View Profile WWW
« Reply #6 on: August 09, 2010, 05:24:14 AM »

so do you generate levels only in height and width or in depth too?
Gameplay wise I generate the levels only in two dimensions. The depth of the terrain is generated procedurally as well but for decoration only.

i'm wondering if player can move in depth too?
No, everything in the depth is for decoration only. You can't move in the depth.

Part of the challenge of making 2.5D games is that the world is in 3D yet the player can't move in 3D, so the game must be made in a way so it somehow doesn't feel odd that the player can't move in the depth. Some games do it by having the player constantly move on thin slices of support, like bridges, planks, on top of walls, etc etc. Pandemonium is an example of that. But I don't want the world in this game to be like that. I want the ground to feel more solid, and not like you're constantly climbing at high altitudes. The game LostWinds showed that a 2.5D world can feel a lot more natural, and have some of the action be on the ground, but simply use bushes, trees, fences, hills, and other decorative elements to keep the player's attention on the 2D plane without thinking too much about moving in the depth. I'm going for that approach as well.

If there's anywhere in the game that make you feel "this is stupid, if only the player could move in the depth, I could get past here much easier" then please let me know (with a screenshot maybe) because the level design algorithms is supposed to not let that kind of situations happen. :)
Logged

robert_msng
Level 0
**



View Profile
« Reply #7 on: August 09, 2010, 02:24:39 PM »

Great! So this is a living proof that you can code a complicated procedural game in Unity.
Are you using only java scripts?
Logged
runevision
Level 0
**



View Profile WWW
« Reply #8 on: August 09, 2010, 02:52:53 PM »

Great! So this is a living proof that you can code a complicated procedural game in Unity.
Are you using only java scripts?
Oh you can definitely code complicated procedural games in Unity! In EaS I'm generating the meshes for the terrain procedurally at runtime, while props (trees) and gadgets (spikes, springs etc.) are instanced from prefabs.

I'm using C# since that is my personal preference but nothing would prevent you from doing the same procedural generation with Unity's JavaScript. I have to say though that when handling the many data structures I use in the generation, it's handy to have the generic collection classes that C# offers.
Logged

fraxcell
Level 5
*****



View Profile
« Reply #9 on: August 09, 2010, 04:59:45 PM »

Very nice job! The procedurally generated levels felt very natural, especially because of your use of that environment tree idea. I would love to see a procedurally generated metroidvania emerge from this, with different powerups acting as "keys" to overcome various obstacles.
Logged

runevision
Level 0
**



View Profile WWW
« Reply #10 on: August 11, 2010, 11:52:12 AM »

New playable demo!


The AI pathfinding is now reasonably stable and in the demo linked to above you can fight (with fireballs!) against simple hunting enemies. Right now the enemies always know where the player is; later the knowledge of most enemies will be made less global and more based on local memory.

I've also been working on some new character models and animations. The new animations in particular bring the player avatar and enemies a lot more alive! Even though I'm a complete amateur as an animator, the crude animations I've made still make the character a lot more fun to watch, I think. :)

Like I've written about in this thread, I'm still not sure what gameplay elements would be best at making agile enemies like these the most fun in a platform game. Have a go at the demo above and then let me know if you have some ideas for how to make this gameplay more fun!
Logged

mokesmoe
Level 10
*****



View Profile WWW
« Reply #11 on: August 11, 2010, 12:40:57 PM »

Your game must save levels or wrap around, because when I played just now, I was running through the same levels I went through the first time I played.
Logged
runevision
Level 0
**



View Profile WWW
« Reply #12 on: August 11, 2010, 01:44:26 PM »

Your game must save levels or wrap around, because when I played just now, I was running through the same levels I went through the first time I played.
Yes, the world is static, like I wrote in the initial post:
Quote
The entire world is procedurally generated at runtime, though it is consistent, meaning that the world will be the same on every play.
This means that you'll experience the same world as everyone else who plays it, and that it'll be the same every time you play. This is purely a design decision - technically, it would be easy to make a "Make New World" button, but I want to make the world persistent so players can learn to get familiar with it and feel they gradually get to learn it better and discover its secrets - you know, like in most other games. Then there can be a feature so that once you've completed the game you have the option to play it again but with a new seed so you get a new world to play in.

Also, the world in the posted tech demo does not wrap around. You can continue infinitely to the right and keep on seeing new ground (although it's all kind of the same, but not quite).
Logged

RCIX
Guest
« Reply #13 on: August 11, 2010, 02:24:46 PM »

Impressive! I'd give enemies various abilities (maybe high jump, or invisibility, or a different weapon).
Logged
runevision
Level 0
**



View Profile WWW
« Reply #14 on: May 29, 2011, 11:45:52 AM »

I can't believe it's been 10 months since the last update I made. Anyway, I've been working on improving the world generation and I've posted an update about the development here:

http://blog.runevision.com/2011/05/eas-sweet-sweet-edges.html

I'll be posting more updates in the coming months...




Rune
Logged

fraxcell
Level 5
*****



View Profile
« Reply #15 on: May 29, 2011, 11:59:04 AM »

Wow, looks like you're making lots of progress.
Logged

poe
Guest
« Reply #16 on: May 29, 2011, 01:59:40 PM »

Jesus Christ those screens look AMAZING! Well done!
Logged
runevision
Level 0
**



View Profile WWW
« Reply #17 on: August 15, 2011, 10:22:12 AM »

The background scenery in the game used to be just parts of the foreground extended far into the distance which was not terribly interesting to look at.

Since then I've implemented generation of more interesting backgrounds with hills and cliffs and forests. I made a new video of the current state of the game where the background scenery can also be seen.

http://blog.runevision.com/2011/08/eas-video-of-new-environments.html

The video shows a green hilly environment and an underground dungeon style environment. There's no enemies in this demo and many objects are still placeholders - the focus is on the terrain itself.

Another thing to note in the video is the dynamic camera framing. It zooms the view in and out and places the player nearer the top or bottom of the screen as necessary based on the surroundings.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic