Author Topic: How hard can it be...(ParadroidRL)  (Read 9249 times)

Cap n Crunch

  • Newcomer
  • Posts: 32
  • Karma: +0/-0
    • View Profile
How hard can it be...(ParadroidRL)
« on: March 07, 2011, 08:41:40 AM »
How horrendous is writing a roguelike?

Given that there's a 7DRL challenge, i'm hoping it's within my capabilities to write one given time...
...well an RL version of one of my fave games ever that i think will translate well.

I want to write a version of an old 8/16 bit game called Paradroid that came out on the C64 and Amiga.
In it you play as the titular Paradroid, a robot capable of hijacking other robots to utilise their capabilities, usually just bigger guns and harder armour, but i have some ideas for other uses that weren't implemented in the originals.

I have dabbled with programming since i was a kid and know a little from BASIC and AMOS/STOS.

Does anyone...
A: Think it'll be a good idea and,
B: Have any recommendations for a language to tackle. I haven't coded in high level for some time and never learned low level code.
I really could use some pointers, as i'm planning on a long-term project...Paradroid deserves to be good :)
« Last Edit: March 10, 2011, 04:28:05 PM by Cap n Crunch »
I prefer David Gervais to Ricky Gervais...

Fenrir

  • Rogueliker
  • ***
  • Posts: 473
  • Karma: +1/-2
  • The Monstrous Wolf
    • View Profile
Re: How hard can it be...(!)
« Reply #1 on: March 07, 2011, 05:17:34 PM »
A: Think it'll be a good idea and,
As this is a roguelike-developer's forum, I don't think anyone is going to tell you that programming a roguelike is a bad idea. Fenrir grins.

Just do it. It'll either be worth it or not, but you can't really say until you have tried.
B: Have any recommendations for a language to tackle. I haven't coded in high level for some time and never learned low level code.
http://www.freebasic.net/forum/viewtopic.php?t=15821&postdays=0&postorder=asc&start=0
You might want to have a look at that. I think the zip file with Chapter 16 includes all of the previous chapters; if it does, that is fairly odd and unintuitive. I haven't read any of it, so I can't really make any remarks about quality.

Also, the programming language "Python" seems to be a common choice for beginners.

Go get 'em, Cap'n!

corremn

  • Rogueliker
  • ***
  • Posts: 700
  • Karma: +0/-0
  • SewerJack Extraordinaire
    • View Profile
    • Demise RogueLike Games
Re: How hard can it be...(!)
« Reply #2 on: March 07, 2011, 11:09:46 PM »
Python? Noooo!!! First you have to develop a generic c++ roguelike engine, heavily focusing on template meta-programming and template specialisation following Inversion Of Control and component-based programming methodologies.  Then you write your functionality as plugin DLLs where you pass generic interfaces for your framework to load, that is of course only after you create your of implementation of strong and weak pointers, because you find the boost ones to be somewhat lacking.

Stupid Newbies   ;D
corremn's Roguelikes. To admit defeat is to blaspheme against the Emperor.  Warhammer 40000 the Roguelike

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: How hard can it be...(!)
« Reply #3 on: March 08, 2011, 09:04:35 AM »
If you want something easy and familiar to start with then go with FreeBasic.  Keep things very simple to start with and gradually build yourself up.

siob

  • Rogueliker
  • ***
  • Posts: 64
  • Karma: +0/-0
  • blit(brain)
    • View Profile
    • gamejs
Re: How hard can it be...(!)
« Reply #4 on: March 08, 2011, 03:04:01 PM »
someone should do a rogue in excel macros.

the gfx engine is already there!!!1111!one

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: How hard can it be...(!)
« Reply #5 on: March 08, 2011, 04:19:56 PM »
Heh, that's almost tempting...  I've seen some cool stuff done with Excel before.

Cap n Crunch

  • Newcomer
  • Posts: 32
  • Karma: +0/-0
    • View Profile
Re: How hard can it be...(!)
« Reply #6 on: March 10, 2011, 02:50:17 PM »
Thanks, everyone :)

I'll look at Freebasic and Python while i'm pondering what would actually make Paradroid a good RL.

I was thinking of having upgrades rather than stats and items, and the original Paradroid games were sort of shmup/stealth affairs so i was thinking of taking a leaf out of AlienRL's book for combat, but make survival more based on needing to hijack another droid before the one you've 'jacked blows from damage than allowing for healing.

There's a hacking minigame that i think should be left in realtime, though the rest of the game will be traditional and turn-based.

I also want to transmit the the game from starships to moonbases and such like, to allow for a more roguelike feeling map. Maybe the players select a couple of the games early upgrades, to give a generation mechanism and 'class selecting' feel.

Sound like fun at all?
Thankyou for your feedback so far. :)
I prefer David Gervais to Ricky Gervais...

Ancient

  • Rogueliker
  • ***
  • Posts: 453
  • Karma: +0/-0
    • View Profile
Re: How hard can it be...(ParadroidRL)
« Reply #7 on: March 10, 2011, 06:11:59 PM »
Sounds like a thing I would like at least try playing. The bit about real time hacking slightly puts me off through. I have played and won Freedroid but if you are going the roguelike way my feeling is game would be better off with turn based hacking. Either do everything real time or turn based. IMHO mixed approach is difficult to pull off but there are such attempts. Have a look at promising RL Cracks and Crevices if you are curious.

If you could use help designing the hacking game just give us a shout. I will be glad to offer advice. Surely other temple regulars will chime in too.
Michał Bieliński, reviewer for Temple of the Roguelike

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: How hard can it be...(!)
« Reply #8 on: March 10, 2011, 10:34:19 PM »
I'll look at Freebasic and Python while i'm pondering what would actually make Paradroid a good RL.
Paradroid was a brilliant game. There's the remake Freedroid, as Ancient mentions, and also a Freedroid RPG, although I don't know how much that game borrows from the original C64 game.

When I started out making my RL, several years and rewrites ago, I was at a similar point where you are now, I think, with minimal experience in programming. I went for Python, and I'm mostly happy about that choice, but it's not without issues. I have two current headaches:

First: Python has garbage collection, which is great, but that doesn't mean you should just happily code away with no regard for memory allocation (as I did). For instance, say monsters/NPCs need to know in which map they are originally spawned. Don't put a direct reference to the home map in the Monster instance! Instead, do something like assigning each map a numeric value and let Monster.home_map be an integer, so you can look up the actual map in a global dictionary (same goes for individual monsters etc). My code is currently a mess of cross-references, which means that even if Python does garbage collection automatically, none of my garbage gets collected. I need to get around to rewriting huge chunks of the game to eliminate what is in pratice a memory leak.

Second: Python can actually get a bit slow. If I have dozens of monsters acting, calculating what to do and maybe using area attacks and stuff, there is a noticable lag. Similary, my clumsy map generation code usually needs about a second and a half to spit out a map. If you're a skillful coder, this shouldn't be a problem, and it's always something you can find practical solutions for then and there. But still, I thought I'd mention it. In light of this, I might have considered Java, or even C/C++, if I was starting today.

Anyway: Go for it, and best of luck.

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

Cap n Crunch

  • Newcomer
  • Posts: 32
  • Karma: +0/-0
    • View Profile
Re: How hard can it be...(ParadroidRL)
« Reply #9 on: March 15, 2011, 05:49:27 PM »
Thanks, guys, for the feedack and encouragement.
I'm getting more psyched by it all the time. I think an RL themed on Paradroid will rock, but i'd rather compromise the paradroid-ness than skimp on RL goodness. I have images in my head (nothing too grandiose ;) ) and can kinda feel where i want to be at.

Ancient, you are right about the Hacking needing to be turnbased, maybe there's something we can do with the hacking minigame. It needs to be stimulating, as players will be doing it all the time and i neither want it to be a chore, nor too easy or hard. Keeping a punishing learning curve is vital for what i want to do. Players won't just hack droids, but anything with a computer attached. Doors, consoles etc...

Thanks also for pointing out Freedroid, it's far more slick than my old Emu Paradroid.

I'm thinking of having it mission based. The first base one level, few objectives, escape. and then 2 levels, more objectives, escape...3 levels etc...looted upgrades can be mounted in between missions, to provide 'character' improvement. I'm jotting ideas down on a pad and ejecting that which i think will be little fun or un roguelik-y.
I'll keep you posted :)
Thanks again.
I prefer David Gervais to Ricky Gervais...