Author Topic: 7DRL Development Kit  (Read 19701 times)

Another_Mr_Lizard

  • Newcomer
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • Email
7DRL Development Kit
« on: January 31, 2013, 03:20:39 PM »
I've started working on a framework that takes care of the boiler plate involved in getting a roguelike up and running.
It's a Lua based system that aims to take care of some of the really common tasks, with a simple and clean interface.

My plan is to cover following areas:

Tile sheet clipping and sprite rendering
Font rendering
Basic Audio
Keyboard / Mouse Input
Line of Sight
A Star pathfinding
Decent random number generation
Game object system
Event System
Basic GUI components (Button, console)

It's designed to be useful without overly forcing a particular game structure.
I'm also planning to write coherent reference documentation for all components of the framework and a tutorial detailing an ultra basic roguelike.

It's also designed to be accessible to beginners. There's nothing to build and no dependancies, just an executable that hosts lua scripts.
 
I think what would make this framework useful for a 7DRL above existing alternatives is that it's specifically focused on the kinds of implementation problems that arise when developing an RL. There is functionality that almost every single roguelike implements, and this framework aims to abstract it cleanly and allow people to focus on gameplay ideas in the limited time they have.

I'd like to hear any thoughts or suggestions anyone has.

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: 7DRL Development Kit
« Reply #1 on: January 31, 2013, 08:11:00 PM »
It'd be nice to have a library of map generation techniques with the ability to plug in generated map features.

mrrstark

  • Rogueliker
  • ***
  • Posts: 66
  • Karma: +0/-0
    • View Profile
Re: 7DRL Development Kit
« Reply #2 on: January 31, 2013, 09:35:02 PM »
I'd like to see it, personally. Even if not for the 7DRL, the features you outline sound good, especially the sprite option for GFX not just ASCII, and if well documented, maybe with an example.

I'd also 2nd the request for various map generators.

Might be my excuse to learn lua.

jocke the beast

  • Rogueliker
  • ***
  • Posts: 103
  • Karma: +0/-0
    • View Profile
Re: 7DRL Development Kit
« Reply #3 on: January 31, 2013, 11:27:06 PM »
It sounds very good to me. Exactly what I've been hoping (and praying) for a long time.
Please make it!

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: 7DRL Development Kit
« Reply #4 on: February 01, 2013, 05:14:41 AM »
Uh, before you go to all that effort, have you seen the T-Engine? Lua-based, numerous customizable level generators, LOS, lots of options like hex, full graphics and sound support... You would be very hard pressed to rival it.

kraflab

  • Rogueliker
  • ***
  • Posts: 454
  • Karma: +0/-0
    • View Profile
    • kraflab.com
Re: 7DRL Development Kit
« Reply #5 on: February 01, 2013, 05:32:11 AM »
It seems like most of the areas you mention are generic system things, handled already and in better ways than you will ever achieve.  I just don't think an extra level of abstraction accomplishes anything since most modern system interfaces are so simple now anyway (i.e. sfml).  As far as the roguelike features, as Darren mentions we already have engines that do that as well.  Personally I think using any kind of engine like this is very restrictive and inhibits the learning process.

TheCreator

  • Rogueliker
  • ***
  • Posts: 370
  • Karma: +0/-0
    • View Profile
    • Fame
    • Email
Re: 7DRL Development Kit
« Reply #6 on: February 01, 2013, 07:21:00 AM »
Uh, before you go to all that effort, have you seen the T-Engine? Lua-based, numerous customizable level generators, LOS, lots of options like hex, full graphics and sound support... You would be very hard pressed to rival it.

Yeah. Let's give up everything we do because somebody has already done it. We would be still living in caves hunting polar bears if everyone kept thinking like this.
Fame (Untitled) - my game. Everything is a roguelike.

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: 7DRL Development Kit
« Reply #7 on: February 01, 2013, 08:33:56 AM »
living in caves hunting polar bears
Sounds awesome, but … hasn't someone already done that?

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

Another_Mr_Lizard

  • Newcomer
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL Development Kit
« Reply #8 on: February 01, 2013, 10:52:04 AM »
Uh, before you go to all that effort, have you seen the T-Engine? Lua-based, numerous customizable level generators, LOS, lots of options like hex, full graphics and sound support... You would be very hard pressed to rival it.

The T-Engine is really more of a full blown roguelike development system. The idea behind this project is that everything is really quick to learn and use, rather than being all encompassing. It's about the simplest possible abstractions rather than the most functional.
Also, I want to make a nice API for my own 7DRL attempts, so I might as well go the extra mile and polish it into something that other people can use.

Another_Mr_Lizard

  • Newcomer
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL Development Kit
« Reply #9 on: February 01, 2013, 11:30:58 AM »
It seems like most of the areas you mention are generic system things, handled already and in better ways than you will ever achieve.  I just don't think an extra level of abstraction accomplishes anything since most modern system interfaces are so simple now anyway (i.e. sfml).  As far as the roguelike features, as Darren mentions we already have engines that do that as well.  Personally I think using any kind of engine like this is very restrictive and inhibits the learning process.

Cross-platform generic system functionality has indeed been done well by SDL, glfw, smfl etc, and one of those will be used for window context and input in the back-end part of the project.
Lua itself exists at higher level of abstraction than any  of that. If anything, this project is about providing lower level functionality in Lua.
I don't agree that abstraction is harmful for beginners. If a beginner wants to draw an image on the screen in their first game project, I don't think they should have to go read the PNG specification, integrate the FreeImage library, and learn OpenGL.

kraflab

  • Rogueliker
  • ***
  • Posts: 454
  • Karma: +0/-0
    • View Profile
    • kraflab.com
Re: 7DRL Development Kit
« Reply #10 on: February 01, 2013, 10:40:29 PM »
If a beginner wants to draw an image on the screen in their first game project, I don't think they should have to go read the PNG specification, integrate the FreeImage library, and learn OpenGL.

And they don't have to because that has ALREADY been abstracted away for them, unless they're using something outdated.

I.E. in blitzmax you could write:

Code: [Select]
Graphics 800,600

image=loadimage("image.png")
drawimage image,0,0

flip

waitkey

That is the entire code.  Seems pretty simple to me...

Omnomnom

  • Rogueliker
  • ***
  • Posts: 79
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL Development Kit
« Reply #11 on: February 02, 2013, 01:14:32 AM »
Uh, before you go to all that effort, have you seen the T-Engine? Lua-based, numerous customizable level generators, LOS, lots of options like hex, full graphics and sound support... You would be very hard pressed to rival it.

Yeah. Let's give up everything we do because somebody has already done it. We would be still living in caves hunting polar bears if everyone kept thinking like this.

I think Darren is just warning against reinventing the wheel.

Another_Mr_Lizard

  • Newcomer
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL Development Kit
« Reply #12 on: February 02, 2013, 01:56:05 AM »
If nobody reinvented the wheel, we'd be rolling around on logs like the flintstones ;)

mrrstark

  • Rogueliker
  • ***
  • Posts: 66
  • Karma: +0/-0
    • View Profile
Re: 7DRL Development Kit
« Reply #13 on: February 02, 2013, 03:45:43 AM »
Make it in HAXE/NME then we can get a good framework portable to all platforms with minimal effort!

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: 7DRL Development Kit
« Reply #14 on: February 02, 2013, 04:30:30 AM »
Not trying to put you off or anything, but you should definitely be aware of a major project in the same area. And it's open source, so you may well want to just fork it and throw a better development interface on top - would save you a lot of time with SDL code, etc. Refinement is better than reinvention, or easier at least.

In general open roguelike engines are oft tried and rarely succeed, so they should be approached with care. To date only Band code, libtcod and the T-Engine have been successful at spawning numerous roguelikes from different devs. What you're suggesting can be done, but may take years of hard work, so be prepared for that.