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/
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.
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?
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette! personal page and a raycaster
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).
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.
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.
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).
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
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette! personal page and a raycaster
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
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette! personal page and a raycaster
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.