Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Variants

Reply
 
Thread Tools Display Modes
Old December 28, 2013, 16:05   #1
nppangband
NPPAngband Maintainer
 
Join Date: Dec 2008
Location: Stat Gain, Angband
Posts: 926
nppangband is on a distinguished road
NPPAngband/NPPMoria QT port

The NPP Angband QT port now has a gihub page for its extremely modest start. There is not much to see so far. It just opens a basic window, makes a top menu, and a file menu for starting new games, opening, closing and saving game files, including a 5 most recently played characters section. The classic Angband start screen with the author and copyright information now appears in a dialog box under the "about" section. The open and save-as commands use the standard load/save widget that would found in any modern program, even though right now it just opens and closes simple .txt files.

https://github.com/nppangband/NPPAngband_QT

One major change so far: This port will give the player the ability to save and close a character, then open a new one without having to exit and re-start the game.

As stated in other threads, my goal is to build a modern port of NPP using QT and C++ with modern menus and dialog boxes that should be easily used by Angband and other variants.

Angband is a great game that basically runs off of a 25 year old custom-built game engine and game library designed for computers with the capabilities of 6-7 generations ago. I am trying to bring it up-to-date, give it a modern UI, and reduce the learning curve for new players, and eventually make a version playable on tablets. I think more than half of the source code will be eliminated and/or replaced before I am done.
__________________
NPPAngband current home page: http://nppangband.bitshepherd.net/
Source code repository:
https://github.com/nppangband/NPPAngband_QT
Downloads:
https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57
nppangband is offline   Reply With Quote
Old December 28, 2013, 16:08   #2
Magnate
Angband Devteam member
 
Join Date: May 2007
Location: London, UK
Posts: 5,054
Magnate is on a distinguished road
Send a message via MSN to Magnate Send a message via Yahoo to Magnate Send a message via Skype™ to Magnate
Quote:
Originally Posted by nppangband View Post
One major change so far: This port will give the player the ability to save and close a character, then open a new one without having to exit and re-start the game.
I thought the problem with this was memory management? (i.e. making sure that all memory is freed between restarts) Is that solved?
Quote:
Angband is a great game that basically runs off of a 25 year old custom-built game engine and game library designed for computers with the capabilities of 6-7 generations ago. I am trying to bring it up-to-date, give it a modern UI, and reduce the learning curve for new players, and eventually make a version playable on tablets. I think more than half of the source code will be eliminated and/or replaced before I am done.
You should get together with that Nick McConnell chappie, I hear he's doing something similar ...
__________________
"3.4 is much better than 3.1, 3.2 or 3.3. It still is easier than 3.0.9, but it is more convenient to play without being ridiculously easy, so it is my new favorite of the versions." - Timo Pietila
Magnate is offline   Reply With Quote
Old December 28, 2013, 16:32   #3
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,937
Donated: $8
buzzkill is on a distinguished road
Quote:
Originally Posted by nppangband View Post
... my goal is to build a modern port of NPP using <snip> modern menus and dialog boxes that should be easily used by Angband and other variants.

Angband is a great game that basically runs off of a 25 year old custom-built game engine and game library designed for computers with the capabilities of 6-7 generations ago. I am trying to bring it up-to-date, give it a modern UI...
You go Jeff!!! A maintainer that speaks of maintainence. Incredibly rare 'round here. No offence intended to the fledgling, just a babe really, Vanilla maintainer, whom also seem to have some maintainer blood coursing through his veins. This could be the start of a Golden Era.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old December 28, 2013, 20:12   #4
nppangband
NPPAngband Maintainer
 
Join Date: Dec 2008
Location: Stat Gain, Angband
Posts: 926
nppangband is on a distinguished road
Quote:
Originally Posted by Magnate View Post
I thought the problem with this was memory management? (i.e. making sure that all memory is freed between restarts) Is that solved?
It will be. Since I am starting with a blank slate and adding bits of NPP code at a time, it is just something I will have to manage. Whenever I add one of the global variables or arrays from Angband I will just make sure it is either freed or zeroed out in between games. This is more important in NPP because the player needs to be able to switch between NPPAngband and NPPMoria because there are a completely different edit files for each game.

Fortunately, memory management is a little easier in C++ than in C, and QT Creator (the QT editor) includes Valgrind, so it seems achievable.


Quote:
Originally Posted by Magnate View Post
You should get together with that Nick McConnell chappie, I hear he's doing something similar ...

Nick and I have borrowed a lot of code from each other over the years. I don't think this will stop any time soon. Also, AnonymousHero is working on a QT port for a version of TOME. I am sure some of his work will make it into my codebase as well. @AnonymousHero - please feel free to hijack this thread occasionally to talk about what you are working on.
__________________
NPPAngband current home page: http://nppangband.bitshepherd.net/
Source code repository:
https://github.com/nppangband/NPPAngband_QT
Downloads:
https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

Last edited by nppangband; December 28, 2013 at 20:23.
nppangband is offline   Reply With Quote
Old December 28, 2013, 20:22   #5
nppangband
NPPAngband Maintainer
 
Join Date: Dec 2008
Location: Stat Gain, Angband
Posts: 926
nppangband is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
You go Jeff!!! A maintainer that speaks of maintainence. Incredibly rare 'round here. No offence intended to the fledgling, just a babe really, Vanilla maintainer, whom also seem to have some maintainer blood coursing through his veins. This could be the start of a Golden Era.
Yes, I look forward to seeing what he does with it. He has used plenty of NPP ideas in the past, so he clearly has impeccable taste.

Oh, and Buzzkill, I should have mentioned that when I get around to tiles I will probably break up the tileset into hundreds of individual 32x32 files and load them at startup with a pre-set naming convention. That should make it easy to edit tiles and free us of all the mapping difficulties.
__________________
NPPAngband current home page: http://nppangband.bitshepherd.net/
Source code repository:
https://github.com/nppangband/NPPAngband_QT
Downloads:
https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57
nppangband is offline   Reply With Quote
Old December 28, 2013, 21:29   #6
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 52
Posts: 6,484
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
You go Jeff!!! A maintainer that speaks of maintainence. Incredibly rare 'round here. No offence intended to the fledgling, just a babe really, Vanilla maintainer, whom also seem to have some maintainer blood coursing through his veins. This could be the start of a Golden Era.
Actually quite a lot of maintenance has happened over the last few years - I'm just swanning in at the right point to grab all the glory.

Quote:
Originally Posted by Magnate View Post
You should get together with that Nick McConnell chappie, I hear he's doing something similar ...
My feeling on this is that the NPP and V approaches are different enough that it's best to keep them apart, then see what the end results are and probably try to use the best bits of both.

Or else I'll revert to type and pinch the lot from Jeff
__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.
Nick is offline   Reply With Quote
Old December 29, 2013, 00:43   #7
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,937
Donated: $8
buzzkill is on a distinguished road
Quote:
Originally Posted by nppangband View Post
Oh, and Buzzkill, I should have mentioned that when I get around to tiles I will probably break up the tileset into hundreds of individual 32x32 files and load them at startup with a pre-set naming convention. That should make it easy to edit tiles and free us of all the mapping difficulties.
I've got a program for that, GlueSprites. There are probably others that would work just as well, also I couldn't find a "clean" webpage or link to the program. It's a stand alone Windows executable. I can post it to my MediaFire page if you would like.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old December 29, 2013, 01:23   #8
nppangband
NPPAngband Maintainer
 
Join Date: Dec 2008
Location: Stat Gain, Angband
Posts: 926
nppangband is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
I've got a program for that, GlueSprites. There are probably others that would work just as well, also I couldn't find a "clean" webpage or link to the program. It's a stand alone Windows executable. I can post it to my MediaFire page if you would like.
I think my goal will be to write a quick function that reads the tile from tileset page, and then copies it to a 32x32.png file, and saves it with a descriptive name consistent with the naming convention I want to use.....something like 32xbabywhitedragon.png.

Gluesprites just splits them up, right? Does it give the user any control over the names each file is called?
__________________
NPPAngband current home page: http://nppangband.bitshepherd.net/
Source code repository:
https://github.com/nppangband/NPPAngband_QT
Downloads:
https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57
nppangband is offline   Reply With Quote
Old December 29, 2013, 01:38   #9
nppangband
NPPAngband Maintainer
 
Join Date: Dec 2008
Location: Stat Gain, Angband
Posts: 926
nppangband is on a distinguished road
Quote:
Originally Posted by Nick View Post

My feeling on this is that the NPP and V approaches are different enough that it's best to keep them apart, then see what the end results are and probably try to use the best bits of both.

Or else I'll revert to type and pinch the lot from Jeff
I must have missed some posts upcoming Angband UI changes. What is your plan?

The switch to QT and C++ is definitely a commitment. I think it will work well but there is no going back. For example, all 'char' variables are being changed to QChar, all strings will be changes to QString, and all msg_print, msg_format, etc will be torn up as well. But it is nice. QT takes care of all buffer overflow issues, so you don't even have to declare length of strings. For example, instead of adding to a string with something like:

mystrcat(mon_desc, "resists fire", sizeof(mon_desc));

is simply:
mon_name.append = (" resists fire");
__________________
NPPAngband current home page: http://nppangband.bitshepherd.net/
Source code repository:
https://github.com/nppangband/NPPAngband_QT
Downloads:
https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57
nppangband is offline   Reply With Quote
Old December 29, 2013, 01:55   #10
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 52
Posts: 6,484
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by nppangband View Post
I must have missed some posts upcoming Angband UI changes. What is your plan?
Well, one of my minions (takkaria ) is going to split all the UI stuff out of the game core, so we can have two separate systems (the core and the UI) which talk to each other. It's not technically a change to the UI, but it means that one could write a completely new UI, and the core essentially provides an API for doing that.
__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.
Nick is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Final NPPMoria and NPPAngband 7.1.0 released nppangband Variants 8 January 30, 2014 10:55
Final NPPMoria and NPPAngband 7.0.0 released! nppangband Variants 34 September 6, 2013 22:21
NPPMoria Competition Wraitheist Variants 5 September 3, 2013 17:10
NPPAngband and NPPMoria 7.0.0 beta-1 released! nppangband Variants 15 May 9, 2013 21:26
OpenGL port BreathesFire Development 2 November 3, 2011 07:22


All times are GMT +1. The time now is 01:41.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.