Page 1 of 3

Isometric 2,5D game

Posted: Sat Oct 06, 2012 6:35 pm
by micha
Hi,

I started programming an isometric 2,5D game:
isogame_1210.love
(207.68 KiB) Downloaded 718 times
Edit: updated file to fix level1.lua loading problem
Edit (Oct 11): Uploaded canvas free version
Edit (Oct 12): fixed problem with too large image


Here is a screenshot
isogame.png
isogame.png (304.4 KiB) Viewed 11286 times
arrow keys: movement
a: jump
w,s: raise/lower current tile
e,d: change current tile type
espace: quit

As you can see, the objects in the game are calculated in 3d, while the graphics are in 2d.

Unfortunately, I haven decided yet, what kind of game I want to make out of that. Here are some Ideas:
- Golf/Mini Golf: This is nice because the golf ball could "use" slopes and roll around in a physical manner
- Tower-Defense: With enemies that use pathfinding etc.
- Tower-Defense extendet: Tower-Defense with an additional player character that can run around, shoot and enter towers to control them
- Mission-based action shooter: with a player like it is at the moment and a mission in each map (e.g. kill some enemy, enter a building, survive, get rescued...), I'd probably prefer some James Bond like special agent setting
- Story-based action adventure: Similar to Zelda with a real story line

What kind of game do you prefer?


Secondly, I tried expanding the code to make the map rotate:
rotation.love
(9.98 KiB) Downloaded 675 times
left/right: rotate map
space: stop rotation

This is also more a 2d graphic, as things do not get smaller, if they are further away. Still it looks nice, I think. Do you think this rotation ability would improve the above game? Or is it making things more confusing?

Re: Isometric 2,5D game

Posted: Sat Oct 06, 2012 7:03 pm
by Nixola
I think that 90° rotation would be enough and perfect

Re: Isometric 2,5D game

Posted: Sat Oct 06, 2012 7:12 pm
by Kadoba
I got an error saying it couldn't find "level1.lua" but fixed it by replacing line 63 in main.lua with:

Code: Select all

( love.filesystem.load("level1.lua") )()
I don't have much to say except it looks really cool. I'm looking forward to seeing what this develops into.

Re: Isometric 2,5D game

Posted: Sat Oct 06, 2012 7:16 pm
by Nixola
Kadoba wrote:I got an error saying it couldn't find "level1.lua" but fixed it by replacing line 63 in main.lua with:

Code: Select all

( love.filesystem.load("level1.lua") )()
I just had to unzip the .love and run the folder via command prompt

Re: Isometric 2,5D game

Posted: Sat Oct 06, 2012 9:23 pm
by Nsmurf
I don't mean to be mean, but Y U USE CANVASES :x

I can't judge it off screenshots or gameplay videos, so, for now, that's about all I can say about your first attachment.

Just a suggestion, if you use canvases/pixeleffects/anything else that some graphics cards can't display, Post screenshots, gameplay videos, and anything else you can to show them what the game is like, so people like me don't just say:
Nsmurf wrote:Y U USE CANVASES :x
Right now, all i can say is this:
  • Rotation thing looks cool, but I'd leave it out of a game, because the orthogonal perspective looks kinda bad.
  • On the rotation thing, there is no upper limit to rotation, so if you make the game with rotation, I would fix that.
  • Tower defense would be fun, or if you want to do your extended idea you could have the player need to spend time actually walking around and "building" the towers while trying not to get overrun with enemies.
  • A mini golf *GAME*?!?! To me, that seems kind of stupid, but some people might like it, I don't know.

Re: Isometric 2,5D game

Posted: Sun Oct 07, 2012 10:35 am
by micha
Kadoba wrote:I got an error saying it couldn't find "level1.lua" but fixed it by replacing line 63 in main.lua with:

Code: Select all

( love.filesystem.load("level1.lua") )()
Thanks for that hint. Fixed the problem in the original post.
Nsmurf wrote:I don't mean to be mean, but Y U USE CANVASES :x
[...]
Just a suggestion, if you use canvases/pixeleffects/anything else that some graphics cards can't display, Post screenshots, gameplay videos, and anything else you can to show them what the game is like, so people like me don't just say:
I use canvases for performance reasons. Until now I was not aware that canvases can't be displayed on some graphics cards. Also the documentation doesn't say anything about that: https://love2d.org/wiki/Canvas. Is that a common problem?
For future work I will consider writing a canvas-free version of the game.

I added a screenshot to the original post.

Re: Isometric 2,5D game

Posted: Sun Oct 07, 2012 11:21 am
by Roland_Yonaba
That is looking good.
I can't try, though, my graphic card doesn't support Canvas (too).
micha wrote: I use canvases for performance reasons. Until now I was not aware that canvases can't be displayed on some graphics cards. Also the documentation doesn't say anything about that: https://love2d.org/wiki/Canvas. Is that a common problem?
For future work I will consider writing a canvas-free version of the game.
Definitely.
Also, for what it's worth, I dunno if this could help, but you can try to tabulate sine, cosine function.
Maybe you'll gain in speed, as trigonometrical computations are quite expensive.
Or at least, memoize them.

Re: Isometric 2,5D game

Posted: Sun Oct 07, 2012 1:42 pm
by pk
You can use love.graphics.isSupported to test for Canvas and other fancy graphics card features.

Re: Isometric 2,5D game

Posted: Sun Oct 07, 2012 2:50 pm
by Nsmurf
pk wrote:You can use love.graphics.isSupported to test for Canvas and other fancy graphics card features.
That's always a good idea especially if you only use canvases for one effect or something like that. I didn't look at your code much though, so i don't know how much it uses it.
micha wrote: Until now I was not aware that canvases can't be displayed on some graphics cards. Also the documentation doesn't say anything about that: https://love2d.org/wiki/Canvas. Is that a common problem?
Yes, it is a common problem, especially on older PC's (like mine :( ). Should i add something to the wiki about how some PC's don't have canvas support?

micha wrote:For future work I will consider writing a canvas-free version of the game.
That would be awesome!

micha wrote:I added a screenshot to the original post.
thanks, it's looking good. :) I can't wait to see what you make out of this! Are you planning to publish the framework as an engine?


[offtopic]Woot, 50th post![/offtopic]

Re: Isometric 2,5D game

Posted: Sun Oct 07, 2012 2:56 pm
by Nixola
If you fall of the edges and try to modify the tile you're on, it crashes trying to index nil