Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 4

Author Topic: Lazy Newb Pack Development Thread  (Read 30266 times)

LucasUP

  • Bay Watcher
  • Devout Cheeseist
    • View Profile
Lazy Newb Pack Development Thread
« on: February 27, 2013, 12:16:54 am »

Lazy Newb Pack is Now Open Source!
This thread is for discussion and sharing of development, updates, multi-platform support, etc of the Lazy Newb Pack GUI.
This thread is a work in progress.

Download
Download the LNP Source code on GitHub
*Released under the GNU General Public License V3
*Requires Microsoft Visual Basic 2008 Express or higher. Open "LazyNewbPackGUI.vbproj"
*The folder bin\debug is used when you export/test the program, it includes the LNP folder structure.
*Does not include Dwarf Fortress, or any utilities or graphics packs. You must add them yourself. (You can simply copy and paste these from the official pack if you want).
*GitHub/Fork/Email/message me if you want your changes included in the main forum post version, or else go off and create your own LNP-based programs!
*You have permission to use a version of this GUI in your own mod packs, so long as you give credit and adhere to the GNU GPL License.


Cross-platform development
Help Test A Cross Platform Version of LNP!

I also wanted to say, sorry to any experienced programmers who look through the code and face-desk. I was essentially teaching myself VB as I was programming it.
« Last Edit: April 04, 2013, 01:10:35 am by LucasUP »
Logged
OG founder of the Lazy Newb Pack

daveralph1234

  • Bay Watcher
  • Likes Dwarf Fortress for it's complexity.
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #1 on: February 27, 2013, 02:35:32 am »

I've made a few modifications.
Like I said in my PMs to you, very cool and crazy fast! It'd be neat to get it to save the custom utilities and run-on-launch settings across loads.
It would probably be good to keep this kind of stuff inside the Development Thread though
Done
http://dffd.wimbli.com/file.php?id=7426

Thundercraft

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #2 on: February 27, 2013, 03:16:23 am »

Now Open Source!

This is awesome! :)

I hope I can contribute in some way. But in the meanwhile:

Question 1: Describing this as "open-source", are you releasing it under some sort of free software license, such as GNU GPL or similar? I could not find a mention of license in the download. Not even a brief readme to credit yourself or point to this forum thread (and/or the LNP thread).

Question 2: Do we have permission to use a version of this GUI in our own mod packs, so long as we credit you (LucasUP) and the LNP GUI and adhere to whatever terms or license you're releasing this under?

I've made a few modifications...

Nice! So fast, too! :)
« Last Edit: February 27, 2013, 03:49:44 am by Thundercraft »
Logged

Thundercraft

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #3 on: February 27, 2013, 03:35:13 am »

The following is, in part, a reply to Yannanth's post on the Lazy Newb Pack thread. Though, I enjoy the opportunity to discuss some of this stuff anyway. I'm moving it here to keep things on topic.

FreeBASIC is probably the most popular non-Windows implementation of the BASIC language. It's intended to be a continued of QuickBASIC actually, and I have no idea if it compiles. I only have serious experience with Ruby (nicest language ever) and Bash scripting myself.

Anyway, StackOverflow says you can only run VB.NET on Linux after it's been ported to Mono (which has a Windows version too, by the way - I have no idea why people  use plain .NET at all). There is no way to run VB6 code. Or so I hear.

Anyway, make sure the next language you learn doesn't lock you in to a single platform. ;) I've heard pretty great things about VB6 (and terrible things about every version of the language since 2005), but honestly, there's great languages out there like Ruby and Python.

Visual Basic might be limited to Windows. (With the exception of the mono project.) But BASIC as a language is not locked to the PC/Windows platform. Basic has been used on many, many different systems for decades. It was popular on the Apple IIe, Timex Sinclair, Atari PCs, and the Commodore 64/Vic 20 in the 1980's. And while other languages may be more popular and have their own advantages, Basic is not exactly dead, either. To this day there are versions of basic for other platforms. And some are cross-platform.

There are various factors in choosing a language for new projects. It can depend on what one's employer or client wants, intended platform(s) to target for their user base, the type of project(s), the features of each language, the limitations, the tools available (both official and 3rd party), the documentation, frequency of updates, customer support... the list goes on and on.

Admittedly, Ruby and Python are rapidly growing in popularity. And they both have their advantages. But they also have disadvantages. (I think all programming languages have their pros and cons.)

For example, Python programs either rely on the end user having Python installed or they have to be compiled. Not only is Python a large install, but there are PC owners who have never even heard of Python, let alone have it installed or know how. If, instead, one compiles a Python program, it usually comes to several large .dll's and/or other dependencies. Compiled Python is notorious for wasting disk space. I saw one topic on a programming forum asking for tips on reducing Python compile size and someone just laughed and suggested that hard disk space is cheap these days!  ::)

Programming languages are actually like spoken and written languages - especially when it comes to learning them. Seriously. The first programming language you learn will stick with you. This isn't just me. Several computer instructors told me as much. Obviously, that's not to say you can't learn additional languages. But when learning other languages there is a tendency to "think" in terms of one's first or "native" language.

My point is that for those of us who grew up with QuickBasic, Visual Basic and similar, it's often easier for us to use some form of Basic and learn similar languages. I've had some classes in Pascal and C++, but it did not come very easily or "stick" very well. (Of course, they're not the easiest to learn, either.)

FreeBASIC may be popular. But the reason I suggested REALbasic and kbasic as possible ways to convert the Lazy Newb GUI to Linux/OS-X is because both are described as similar to Visual Basic to the point of being somewhat compatible and able to use a lot of the code unchanged. (Though, I was also impressed by the features and being described as "easy to learn".)

Porting Visual Basic Applications to Linux and Mac OS X: A How-To Guide for Visual Basic Developer
Quote
...quite similar to Visual Basic. It could use much of my Visual Basic code unchanged, and it could read most of my Visual Basic forms.

I could port my Visual Basic code to REALbasic, and at the end, my application would work under Windows—just like .Net. More importantly however, my ported application would also run under all 32-bit Windows (98/NT/ME/2000/XP) without the .Net framework; Linux (any Intel-based Linux running GTK2.0+ like Novell Linux Desktop or RedHat Desktop) and Mac (Mac OS X and Mac Classic). As an added benefit, there are no runtimes or "frameworks" required for an REALbasic application. In addition, my ported application would include the native interface widgets required to look great. In Windows XP for example, I was surprised that my REALbasic application takes on XP themes automatically!

KBasic - World's most advanced open-source Basic
Quote
...It is a new programming language, a further BASIC dialect and is related to VB.NET™, Visual Basic®, Visual Basic for Application® and Java™. It combines the best features of those tools and comes with built-in backward support for those tools and QBasic® as it is 100% syntax compatible to VB6, VBA and QBasic®.

Additionally, it comes with support for VB.NET™ syntax, functions and similar objects and classes.[/qote]
« Last Edit: February 27, 2013, 03:35:52 pm by Thundercraft »
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Lazy Newb Pack Development Thread
« Reply #4 on: February 27, 2013, 07:25:05 am »

First: Thank you for sending me the source code 1,5 years ago. You know what I did with it. ;)

Second: From personal experience I'd say that people would like more tileset options, JollyBastion comes to mind. The same is true for fonts. Some ttf that is more readable then the original DF font.

Third: If you ever want to include minor, optional mods, you should check out Modest Mod and/or Accelerated DF and/or Fortress Defense. I know that several people asked about parts being incorporated into the LNP. Grazing for example seems like a thing people like to toggle. Same goes for the standardized leather.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Yannanth

  • Guest
.
« Reply #5 on: February 27, 2013, 09:46:36 am »

.
« Last Edit: November 21, 2016, 04:47:00 pm by Yannanth »
Logged

TolyK

  • Bay Watcher
  • Nowan Ilfideme
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #6 on: February 27, 2013, 09:58:30 am »

VB was mostly used due to the drag-and-drop rapid-app-development interface, not just because of the BASIC.
A rewrite would probably best be done in C++ or Java with FLTK/SDL/jSwing/SomeOtherLibrary (I personally prefer C++, but :P).

Oh, and since it's now open-source, it might be a good idea to have a page somewhere so that new versions didn't rely on just the thread-top-posters.

I also wanted to say, sorry to any experienced programmers who look through the code and face-desk. I was essentially teaching myself VB as I was programming it.
That happened to me when I looked through my old Mod Loader Thing code...
Logged
My Mafia Stats
just do whatevery tolyK and blame it as a bastard mod
Shakerag: Who are you personally suspicious of?
At this point?  TolyK.

LucasUP

  • Bay Watcher
  • Devout Cheeseist
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #7 on: February 27, 2013, 03:24:30 pm »

Holy, this thread exploded overnight :)
So I'm a newbie when it comes to all of the technical side of the open source thing.
I agree though, I should attach a GNU GPL open source license to this, and also start a github page (even though I'm pretty lost when it comes to code repositories)

I'm in no way tied to Basic. VB just seemed like a quick and easy solution at the time. I'm also vaguely familiar with C, and quite familiar with ActionScript/Javascript, but I'd be fine with the project going to any language. I think it would be easier if it were made with some graphical/visual program, but if anyone else wants to take lead with porting it in another direction, go ahead! What my own personal involvement in this project going forward is hazy, but I would be quite interested in learning or getting acquainted with more languages.
Logged
OG founder of the Lazy Newb Pack

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Lazy Newb Pack Development Thread
« Reply #8 on: February 27, 2013, 04:05:17 pm »

Python springs to mind. Ask arclance, he probably has some kind of prototype flying around.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

LucasUP

  • Bay Watcher
  • Devout Cheeseist
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #9 on: February 27, 2013, 04:27:40 pm »

Now on GitHub
Released under GNU GPL 3.0
I have no idea what i'm doing, so tell me if I did something wrong/dumb.
I've included daveralph1234's changes in this version too, hope that's cool with you, I added your handle in a few places for attribution.
Logged
OG founder of the Lazy Newb Pack

Thundercraft

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #10 on: February 27, 2013, 06:05:06 pm »

Lucas, did you miss my question?:

Question 2: Do we have permission to use a version of this GUI in our own mod packs, so long as we credit you (LucasUP) and the LNP GUI and adhere to whatever terms or license you're releasing this under?

Okay, this is practically a given, especially since it's now licensed as GPL 3.0. And Meph spells out that he has used it for his mod. Still, I felt it should be addressed just for the sake of clarity.

Python springs to mind. Ask arclance, he probably has some kind of prototype flying around.

Python is a fine language. But please don't port all the development of this GUI to Python. That's a bad idea for the reasons I stated.

LucasUP's Lazy Newb Pack is targeted at newbies and those who are too lazy to keep track of updates and download and install the individual parts. And do keep in mind that the primary platform of the user base are Windows machines. Right now, being written in Visual Basic, the GUI itself merely consists of a single .exe that's less than 0.25 MB. Granted, VB has various file dependencies, but most Windows users already have them and don't have to install anything.

If this GUI was ported to Python, it would either require Python being installed and kept current (which many Lazy Newb players would find a daunting task) or it would balloon into the megabytes and need several .dll files. Just take a look at the crowded root directory of QuickFort. That is written in Python, with a compact macro/GUI written in AHK purely for Windows users. But (as I pointed out in this post) QuickFort 2.04 is -HUGE-! Installed, it takes nearly 21 MB!

I guess there's nothing wrong with using Python to create a splinter branch to port to Linux. But my fear is that the next thing we know -all- future development for this LNP GUI will be done in Python.
« Last Edit: February 27, 2013, 06:19:23 pm by Thundercraft »
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Lazy Newb Pack Development Thread
« Reply #11 on: February 27, 2013, 06:26:54 pm »

I only mention Python because it pretty much is already ported, by zenerbufen and arclance. Not 100% the LNP, but not far from it.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

LucasUP

  • Bay Watcher
  • Devout Cheeseist
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #12 on: February 27, 2013, 10:15:32 pm »

Oh god I have no idea what I'm doing with GitHub. It took me a bunch of commits to get it including the bin/debug folder with the LNP folder structure (Just for convenience). I decided on not including Dwarf Fortress itself for obvious reasons.

Question 2: Do we have permission to use a version of this GUI in our own mod packs, so long as we credit you (LucasUP) and the LNP GUI and adhere to whatever terms or license you're releasing this under?
Yes, you do!  :)

First: Thank you for sending me the source code 1,5 years ago. You know what I did with it. ;)

Second: From personal experience I'd say that people would like more tileset options, JollyBastion comes to mind. The same is true for fonts. Some ttf that is more readable then the original DF font.

Third: If you ever want to include minor, optional mods, you should check out Modest Mod and/or Accelerated DF and/or Fortress Defense. I know that several people asked about parts being incorporated into the LNP. Grazing for example seems like a thing people like to toggle. Same goes for the standardized leather.

First: You're quite welcome!
Second/Third, As you probably know, additional mods/utilities don't require any changing of the actual LNP code, just work on maintaining them in the pack, but still fair suggestions.
It would be good to get more flexible and separated tileset/graphicset options though.
Logged
OG founder of the Lazy Newb Pack

Greendogo

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #13 on: April 03, 2013, 04:18:45 am »

This is great!  Now the LNP will never be lost! Also, I'm glad you chose GitHub; it's probably my favorite.
Logged
Sail - The end reminds me of a goblin choking a kobold.  No ponies, sorry.

Ucarty

  • Bay Watcher
    • View Profile
Re: Lazy Newb Pack Development Thread
« Reply #14 on: April 07, 2013, 02:27:53 pm »

Hi, I'm not one of the techie people but I'd like to point something out.
As an Interface Designer (sometimes called UX) I can see where the following comes from:

Quote
LucasUP's Lazy Newb Pack is targeted at newbies [...] various file dependencies [...] users already have them and don't have to install anything. If this GUI was ported to Python, it would [...] require Python being installed and kept current (which many Lazy Newb players would find a daunting task)

But if you're going to use the, its targeted at Newbies so lets make sure whatever we pick doesn't have complicated, user-attention requiring dependencies, its very incorrect to state the following as a problem:

Quote
If this GUI was ported to Python [...] it would balloon into the megabytes and need several .dll files.

With today's hardware, newbies couldn't care less. Heck most of them don't know what kilobytes and bytes are.
Logged
Pages: [1] 2 3 4