Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Variants

Reply
 
Thread Tools Display Modes
Old October 24, 2010, 04:15   #1
Therem Harth
Knight
 
Join Date: Jan 2008
Posts: 926
Therem Harth is on a distinguished road
Olympus, my new and hopefully longer-lived project

In the wake of my giving up on TFork (again ) I've decided to start my own roguelike project. The working name is Olympus. Right now it's very much in the planning stages; my main goal for now is to learn something about programming from the project, though I do intend to try to make it fun.

Currently I am planning out the way the game will actually work. Actual programming won't start until I have a reasonable idea of what I want. If anyone has suggestions, I'm listening.

Meanwhile, I can say that it will have:

- No town, no stores, only one way to go (up) until the end of the game
- 4 stats, which can be raised with skill points (STR, WIL, AGL, and SPD)
- 3 classes (Warrior, Archer, and Thief)
- Mostly defensive/augmentative magic for the player
- Powerful offensive magic for monsters
- Skills for various types of usable items

As for the programming language I haven't yet decided. There are two main contendors.

Python with a Tk interface. Good because I like it better; bad because interpreted probably means more runtime errors.

Java with a Swing interface. Good because I know it better; bad because the JVM is total overkill for a text-based game.

I'm pretty ambivalent on the language right now; Python is quite enticing and IMO easier to code in, but Java might make my debugging work a lot easier, so I'm undecided.

I don't expect this thing to reach a playable state for a while, so don't hold your breath... And again, if anyone has suggestions I'd be glad to hear them.
Therem Harth is offline   Reply With Quote
Old October 24, 2010, 04:22   #2
Sirridan
Knight
 
Sirridan's Avatar
 
Join Date: May 2009
Posts: 560
Sirridan is on a distinguished road
If doing either python or java, try to make it so that you can have a display interface so that you aren't locked into Tk, or Swing.

For anyone who doesn't know what I mean, the interface has a set of methods to display text, clear the screen, and do all that other display related stuff. This way the game itself doesn't have to know *HOW* everything is displayed, and can use any display that implements those interface methods.

As for language, it's really up to you. I've done work on both sides, both are good.
Sirridan is offline   Reply With Quote
Old October 24, 2010, 04:42   #3
Therem Harth
Knight
 
Join Date: Jan 2008
Posts: 926
Therem Harth is on a distinguished road
Ah okay. I should be able to write an interface in Java for that, given the time. Not sure about Python, I'm not really familiar enough with it I think.

(And it looks like interfaces in Python are really different. So different that I'm not quite sure what they really are. Hmm.)

I'm starting to think I'll probably stick with Java. I prefer the way Python "feels", but it looks like working with what I know could save me a lot of trouble...

Edit: On the other hand, if I want to learn something new, I might as well use Python. Hmm.
Therem Harth is offline   Reply With Quote
Old October 24, 2010, 04:49   #4
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 9,014
Derakon is on a distinguished road
Python 2 doesn't really have the concept of interfaces, but you can accomplish something similar using inheritance:
Code:
class FooInterface:
    def bar(self):
        raise NotImplementedError("Function bar has not been implemented")

class FooImplementor(FooInterface):
    def bar(self):
        print "This class implements function bar"
Also, in my experience, Python code is easier to read than equivalent Java code -- Java tends to be needlessly verbose. Just my opinion though.
Derakon is offline   Reply With Quote
Old October 24, 2010, 05:14   #5
Therem Harth
Knight
 
Join Date: Jan 2008
Posts: 926
Therem Harth is on a distinguished road
Thanks. And IMO you're very much right about Java being needlessly verbose.

Anyway I've decided to write some basic code in Java, mostly to help me clear up my ideas of what I'm doing. I'll see where it goes I guess.

(Though I've generally heard that, the sooner you sit down and start writing code, the longer the project will take...)
Therem Harth is offline   Reply With Quote
Old October 24, 2010, 07:28   #6
AnonymousHero
Veteran
 
AnonymousHero's Avatar
 
Join Date: Jun 2007
Posts: 1,372
AnonymousHero is on a distinguished road
I'd recommend trying Scala.

It's as concise as Python, it runs on the JVM and is 100% compatible with Java classes, so you can use all of your favourite libraries. It's also strongly statically typed.

In particular you can use Swing without trouble. There a PDF with lots of examples here.

EDIT: Changed link.
AnonymousHero is offline   Reply With Quote
Old October 24, 2010, 14:47   #7
konijn_
Hellband maintainer
 
konijn_'s Avatar
 
Join Date: Jul 2007
Location: New York, the Big Apple
Age: 42
Posts: 367
Donated: $120
konijn_ is on a distinguished road
Quote:
Originally Posted by Therem Harth View Post
<snip>

As for the programming language I haven't yet decided. There are two main contendors.

Python with a Tk interface. Good because I like it better; bad because interpreted probably means more runtime errors.

Java with a Swing interface. Good because I know it better; bad because the JVM is total overkill for a text-based game.
Good luck and more importantly have fun. Note that Apple has recently deprecated their Java implementation for Mac..

T.
__________________
* Are you ready for something else ? Hellband 0.8.8 is out! *
konijn_ is offline   Reply With Quote
Old October 24, 2010, 18:39   #8
Atarlost
Swordsman
 
Join Date: Apr 2007
Posts: 441
Atarlost is on a distinguished road
Quote:
Originally Posted by konijn_ View Post
Note that Apple has recently deprecated their Java implementation for Mac..
They what? Are they in some stupid tiff with Sun? Because that does not do anything good to the value of their operating system.
__________________
One Ring to rule them all. One Ring to bind them.
One Ring to bring them all and in the darkness interrupt the movie.
Atarlost is offline   Reply With Quote
Old October 24, 2010, 19:15   #9
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 9,014
Derakon is on a distinguished road
At a guess, Apple had their own implementation because they didn't think Sun would be willing to bother maintaining one themselves (thus the choices were either no Java on OSX or Apple-supplied Java on OSX). Now Apple thinks they're big enough that they can get Sun to have to do that work instead. If they're right, that's actually a good thing for Java on OSX since IIRC Apple's been pretty laggardly about keeping the JVM up to date. If they're wrong, though...

In any event, it's not like the current OSX JVM goes away as soon as Apple says they're deprecating it. They just won't supply updates any more.
Derakon is offline   Reply With Quote
Old October 24, 2010, 21:36   #10
Therem Harth
Knight
 
Join Date: Jan 2008
Posts: 926
Therem Harth is on a distinguished road
Ooh I hadn't thought of that. Maybe part of the problem is that it's Oracle now though, not Sun any more?
Therem Harth 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
Variant Project Nick Development 47 July 12, 2010 17:56
TANG - Community Project Sirridan Vanilla 12 June 4, 2009 07:21
AngEdit - complementary project to JBand/Angband PaulBlay Development 0 May 29, 2009 15:13
object_value_base no longer required? PaulBlay Development 0 May 18, 2009 21:20
SVN: pvals no longer displayed (bug!) Pete Mack Vanilla 1 January 24, 2009 19:01


All times are GMT +1. The time now is 09:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.