The Crawler of Dungeons™ [!RENAMED! AND !REBORN!]

Show off your games, demos and other (playable) creations.
Davidobot
Party member
Posts: 1214
Joined: Sat Mar 31, 2012 5:18 am
Location: Cambridge, UK
Contact:

The Crawler of Dungeons™ [!RENAMED! AND !REBORN!]

Poll results:
Battle System= 4 votes "Done"
Looting Chests = 1 vote
Game Engine= 3 votes "Done"

Here is my first "proper" games in LÖVE 2D. It is going to be a simple dungeon crawler, with RPG battle scene.
For now it is just raw code and only the layout of the first four levels are done.

Things that are done:
Movement
Map files
Collision
Player direction
Enemies
Battle System
Game Engine

Not done:
More Monsters...
Misc...

Current Stages:
-->Pre-Alpha: Game Engine <--
Alpha: Graphics
Beta: Sound
After-Beta/Gold: Debugging

Change lists and everythind else avaliable on the website.
Website: http://barturov.co.uk/
Attachments
The_Crawler_of_Dungeons.love
Game Version v0.1
Last edited by Davidobot on Thu May 10, 2012 3:40 pm, edited 20 times in total.
My projects: Raycaster, love.js v11.3 port
My library: LovelyMoon
MiniDemonic
Prole
Posts: 28
Joined: Tue Mar 20, 2012 10:39 am

Re: Dungeon Crawler

So far so good, waiting for the battle system
kraftman
Party member
Posts: 277
Joined: Sat May 14, 2011 10:18 am

Re: Dungeon Crawler

Nice

If you remove .lua from the requires then it will be 0.8 compatible:
Game Coded With Love.love
0.8
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Dungeon Crawler

Hello, for now your dungeon crawler is doing well. Just a few regards:

1 - You are drawing character before map. That's ok for now with empty floor tiles. But when you have real floor map that will be draw over character. Better switch the draw order.

2 - Even that you may intend your tiles be always 32x32 is advisable you keep that value instead in variables for use (tile.w/tile.h for example) in draws and calculations. It will give to your engine a proper flexibility later. Also introduce in draws routine zoom (even that normal x1 scale) will make it also ready for map zooms or other draw effects. This could be done of course later but the sooner you think your code this way the better.
Resuming don't keep in your calculations/drawings "hard-coded" numbers like the 32 value of tile size.

3 - the "if gamestate=="lvl_1" then --Checks the lvl lvl_1() end" checking is better suitable/wise to be keep in update and not in draw.

Nice work and have a good development on this.
Davidobot
Party member
Posts: 1214
Joined: Sat Mar 31, 2012 5:18 am
Location: Cambridge, UK
Contact:

Re: Dungeon Crawler

coffee wrote:Hello, for now your dungeon crawler is doing well. Just a few regards:

1 - You are drawing character before map. That's ok for now with empty floor tiles. But when you have real floor map that will be draw over character. Better switch the draw order.

2 - Even that you may intend your tiles be always 32x32 is advisable you keep that value instead in variables for use (tile.w/tile.h for example) in draws and calculations. It will give to your engine a proper flexibility later. Also introduce in draws routine zoom (even that normal x1 scale) will make it also ready for map zooms or other draw effects. This could be done of course later but the sooner you think your code this way the better.
Resuming don't keep in your calculations/drawings "hard-coded" numbers like the 32 value of tile size.

3 - the "if gamestate=="lvl_1" then --Checks the lvl lvl_1() end" checking is better suitable/wise to be keep in update and not in draw.

Nice work and have a good development on this.
1-Done
3-Done
2-How?
My projects: Raycaster, love.js v11.3 port
My library: LovelyMoon
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Dungeon Crawler

Davidobot wrote: 1-Done
3-Done
2-How?
You don't need do much. Just transfer it from love.draw to draw.update. It's the right place for that kind of code. (You won't "harm" left it in draw but it should do update stuff before draw).

Code: Select all

function love.update(dt)
if gamestate=="lvl_1" then --Checks the lvl
lvl_1()
end
if gamestate=="lvl_2" then
lvl_2()
end
---
You better design also a function to deal auto with multiple levels and also check when there is a level change. Because this way you in every cycle (either in update or draw) are loading again and again same level. Use some boolean to prevent loading level again. Turn it true when reaching a gate. Turn it false/nil after loading a level.
veethree
Inner party member
Posts: 820
Joined: Sat Dec 10, 2011 7:18 pm

Re: Dungeon Crawler

This is good so far. I like the smooth player movement. If you plan on doing bigger levels i'd suggest using tiled, it's a general purpose tile map editor. There's a lib that can import the files from tiled. You can get it here.
Davidobot
Party member
Posts: 1214
Joined: Sat Mar 31, 2012 5:18 am
Location: Cambridge, UK
Contact:

Re: Dungeon Crawler

coffee wrote:
Davidobot wrote: 1-Done
3-Done
2-How?
You don't need do much. Just transfer it from love.draw to draw.update. It's the right place for that kind of code. (You won't "harm" left it in draw but it should do update stuff before draw).

Code: Select all

function love.update(dt)
if gamestate=="lvl_1" then --Checks the lvl
lvl_1()
end
if gamestate=="lvl_2" then
lvl_2()
end
---
You better design also a function to deal auto with multiple levels and also check when there is a level change. Because this way you in every cycle (either in update or draw) are loading again and again same level. Use some boolean to prevent loading level again. Turn it true when reaching a gate. Turn it false/nil after loading a level.
Thanks for the help, but I needed more of it on the 3rd statement/answer
My projects: Raycaster, love.js v11.3 port
My library: LovelyMoon
Davidobot
Party member
Posts: 1214
Joined: Sat Mar 31, 2012 5:18 am
Location: Cambridge, UK
Contact:

Re: Dungeon Crawler

veethree wrote:This is good so far. I like the smooth player movement. If you plan on doing bigger levels i'd suggest using tiled, it's a general purpose tile map editor. There's a lib that can import the files from tiled. You can get it here.
Thanks but I prefer *for now* to make the levels manualy
My projects: Raycaster, love.js v11.3 port
My library: LovelyMoon
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Dungeon Crawler

Davidobot wrote:
veethree wrote:This is good so far. I like the smooth player movement. If you plan on doing bigger levels i'd suggest using tiled, it's a general purpose tile map editor. There's a lib that can import the files from tiled. You can get it here.
Thanks but I prefer *for now* to make the levels manualy
I also think it's better for learning do your own engine than obey "tiled" rules (even that is a flexible engine).
I did quickly and dirtly a change to how your treat levels. I think its a better way. (you don't need to do that level checking and you auto load levels now). Sorry if I mess with something and didn't notice and of course it's only a quick sugestion. A lot can still be improved.

Who is online

Users browsing this forum: No registered users and 12 guests