## My Adventure Game Engine - Making Way For Adventure Engine 2

Jasoco
Inner party member
Posts: 3651
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

I just wanted to bump and mention that my project is still in the works, and that last night I was able to turn my crappy mediocre makeshift map editor into a full-featured map creation utility. It works amazingly and I love it. I'm very proud of what I did with it. It will make map creation for my game a breeze. Not completely done yet but it is really nice. Saving and loading of maps. Plus I fixed that bug I mentioned in my last post.

It's all point and click. You can use the keyboard if you want, but the entire thing can be controlled with just your mouse so you don't even need the keyboard to create a map. So that's nice.

All it needs is a catchy name. Something that conjures up thoughts of large land masses.. or something. All good engines need a name.

The toolbox can be moved too. You can drag it around. Layers can be switched to or hidden with a click. Scrolling can be done with the right mouse button. (I might add scroll bars at some point.)

bmelts
Party member
Posts: 380
Joined: Fri Jan 30, 2009 3:16 am
Location: Wiscönsin
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Are you going to port it to 0.6.0?

bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Cool, nice to know you're still working on it, looking forward to a release.

Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

As for the name, large land masses makes me think "Continent"

Virox
Citizen
Posts: 64
Joined: Thu Jan 07, 2010 6:24 pm

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Looks very nice!

Jasoco
Inner party member
Posts: 3651
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

It will be ported to 0.6.0... when someone sits down with me and helps me convert it. It's a lot of code, and they changed so much. And the lack of errors to help me through doesn't help me through. I need a complete list and rundown of EVERY SINGLE CHANGED OR REMOVED command. Not just a dinky simple "oh, the love.load is just load now." list. I still don't know how to make the main loop anymore. And all the fonts and all the images and all the loading and including and requiring. Dependence on keys and stuff. I know much of it would be a simple find and replace, but I need guidance.

bmelts
Party member
Posts: 380
Joined: Fri Jan 30, 2009 3:16 am
Location: Wiscönsin
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Well, stop by IRC and we can sit down and help you!

Prefixing all callbacks with "love." should be the first step - this will enable LÖVE to at least run your main loop, at which point it can start spewing errors at you.

If you're trying to draw text to the screen, replace love.graphics.draw with love.graphics.print.

love.default_font is now love._vera_ttf, but it doesn't matter because if you don't pass a Font to love.graphics.setFont, it assumes you want the default font.

Constants are now strings, but it should be fairly easy to port those - most of them are just simple replacements, e.g. "modulate" instead of love.color_modulate. The only exceptions to this rule I can think of are input constants - love.mouse_left is now "l", for example (see MouseConstant). Keys are mostly just the character they represent, with some exceptions (see KeyConstant).

Animations are out. Use Quads instead to draw sections of an image, or, if you want to minimize effort, use bartbes' AnAL lib.

Images now, by default, have their origin at the top-left instead of in the center. Further, Image:setCenter() has been removed; there are two new parameters in love.graphics.draw (ox, oy) to determine the offset from the origin.

Those are off the top of my head, I can't possibly come up with all the changes on short notice like that. Seriously, though, drop by IRC. It's snowing hard outside and I'm not going anywhere for a while.

kikito
Inner party member
Posts: 3153
Joined: Sat Oct 03, 2009 5:22 pm
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Code: Select all

All it needs is a catchy name. Something that conjures up thoughts of large land masses.. or something. All good engines need a name.

I will risk suggesting the obvious... geographic zelda terms. Sorted in my own personal preference:
• Hylia (lake) <- my favourite
• Hyrule (world)
• Celestia (city)
• Kokiri (forest)
• Kakariko (village)
• Lon Lon (ranch)
If you want to distance yourself from Zelda, you could choose some imaginary name zone... like Nocturia, Flashgard or Easnoth. Or anything else given up by a name generator.

Or, if you instead want to dick around with Zelda, and be very difficult to find in google, you can name it ... Hiperlink!
When I write def I mean function.

Jasoco
Inner party member
Posts: 3651
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

anjo wrote:love.default_font is now love._vera_ttf, but it doesn't matter because if you don't pass a Font to love.graphics.setFont, it assumes you want the default font.
I don't use TTF fonts. I prefer to draw my own in an image and use image fonts anyway. Vera isn't very attractive to me. Question though, can I place a TTF file inside the .love and use that as my font if I want something fancier? Or should I just stick to images?
Animations are out. Use Quads instead to draw sections of an image, or, if you want to minimize effort, use bartbes' AnAL lib.
This is where I get confused. What do Quads replace? This is what I use for images right now:

Code: Select all

love.graphics.draws(imageDef, sx, sy, ix, iy, w, h)
Where sx/sy is the location on screen, ix/iy is where in the image to crop, and w/h is the size of the crop. I don't get what Quads means. Simply put, what do I replace the above with to achieve the same result of a portion of an image drawn in a specific place on screen?
Those are off the top of my head, I can't possibly come up with all the changes on short notice like that. Seriously, though, drop by IRC. It's snowing hard outside and I'm not going anywhere for a while.
Don't really have IRC and am getting ready to leave. I need to do this when I can sit down and concentrate. I wish 0.6.0 had a hand-holding option where it would try and run a 0.5.0 file and stop whenever it came upon a known changed command to tell you to change it. Or it could examine all the code then feed out a log of all the stuff that won't work anymore and help you change it.

What I need first is to know how I make my own main loop. I heard you can do this now and saw code for it but do not remember where. Or will the old load, update and draw functions work fine? I heard making your own main loop was more flexible though.

bmelts
Party member
Posts: 380
Joined: Fri Jan 30, 2009 3:16 am
Location: Wiscönsin
Contact:

### Re: My Zelda style adventure engine (DEMO NOW AVAILABLE)

Jasoco wrote:Question though, can I place a TTF file inside the .love and use that as my font if I want something fancier?
Yes. Yes you can.
Jasoco wrote:

Code: Select all

love.graphics.draws(imageDef, sx, sy, ix, iy, w, h)
Where sx/sy is the location on screen, ix/iy is where in the image to crop, and w/h is the size of the crop. I don't get what Quads means. Simply put, what do I replace the above with to achieve the same result of a portion of an image drawn in a specific place on screen?

Code: Select all

local q = love.graphics.newQuad(ix, iy, w, h, imageDef:getWidth(), imageDef:getHeight())
love.graphics.drawq(imageDef, q, sx, sy)
Jasoco wrote:What I need first is to know how I make my own main loop. I heard you can do this now and saw code for it but do not remember where. Or will the old load, update and draw functions work fine? I heard making your own main loop was more flexible though.
You make your own main loop by overriding love.run() - you can see the default here. The default functions the same as 0.5.0's main loop, though, so love.load, love.update, and love.draw will all work fine even if you don't touch love.run.

### Who is online

Users browsing this forum: No registered users and 23 guests