Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58429 Members - Latest Member: Alternalo

April 25, 2024, 01:29:42 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsAS.T.Ro (A Squad Tactics Roguelike)
Pages: [1] 2
Print
Author Topic: AS.T.Ro (A Squad Tactics Roguelike)  (Read 8480 times)
Paul Jeffries
Level 3
***



View Profile WWW
« on: March 12, 2012, 01:33:05 PM »



Latest screenshots:











PLAY IT HERE:
http://www.vitruality.com/ASTRo/Version1.0/launch.html

OR, DOWNLOAD IT HERE:
http://www.vitruality.com/ASTRo/Version1.0/AS.T.Ro_v1.0.zip
(Unzip and double-click 'launch.jnlp' to run.  Requires Java)


ORGINAL POST:
----------------------------------------------------------------------------------------

Hello all.

Because I wanted a fun way to teach myself Java and feeling inspired by the currently-running 7DRL competition, I've decided to make a simple roguelike.  What with my full-time job, my part-time teaching gig and the fact that I'm moving home this week I don't really have time to enter the competition itself, but because I'm interested to see how much I can get done in a short space of time I am going to time myself and see how long it takes to get something together.  Rough target is to have something playable in 48 hours of work, though based on current progress it may take a little longer than that!

So far I've got seven hours in (I actually started last wednesday) and have this:

Ensign McRedshirt chills on a desolate desert planet

So, not a lot to show for myself just yet, but I have got a lot of the behind-the-scenes framework in place - the rendering stuff, resource loading, state management and so on, so I can hopefully now get on with the actual game logic.  Once it's in an interactive state I'll start putting up playable versions here.

I'm kind of making it all up as I go along but I'm going for a slightly campy science-fiction theme.  I'm also pondering giving you control over a small squad rather than just one guy, something like a simplified Space Crusade.  Would that still technically be a roguelike?  I don't know.  And not knowing is half the battle.
« Last Edit: April 23, 2012, 03:11:52 PM by Paul Jeffries » Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Alex Norton
Level 0
***


www.msoa-game.com


View Profile WWW
« Reply #1 on: March 12, 2012, 04:39:04 PM »

Just on the base idea, I reckon I'd play this! Haven't seen too many sci-fi roguelikes! Keep it up!
Logged

Malevolence: The Sword of Ahkranox
The Infinite RPG
www.msoa-game.com
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #2 on: March 13, 2012, 02:48:28 PM »

10 hours total work time:

I have something playable!  Well, perhaps 'playable' is too strong a word, all you can really do is move around.  Also, rocks.



If you feel like 'playing' it you can do so in your browser by going here:

http://www.vitruality.com/Stuff/Version0.1/PlanetApplet.html

The yellow 'brackets' (placeholder art) show where you can move to in your current turn - left click on one of those squares to move there.  And then, do it again, because there's nothing else to do yet.  You may find that due to, uh, 'teleporter problems' you begin the game fused with a large chunk of rock and so unable to carry out your assigned duties.  If so, hit refresh to generate a new field of boulders.
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
peous
Level 2
**


Indie opportunist


View Profile
« Reply #3 on: March 13, 2012, 03:26:30 PM »

Demo works, and that's a good start !
Logged

Paul Jeffries
Level 3
***



View Profile WWW
« Reply #4 on: March 14, 2012, 05:46:38 PM »

12 (and a half) Hours total work time:

Rudimentary combat system: check.



Updated demo version here:

http://www.vitruality.com/Stuff/Version0.2/PlanetApplet.html

You can now shoot stuff and punch stuff, and there's a (currently deactivated) robot for you to try both of those out on.  Left click to move, right click to shoot.  Move into an enemy to attack in close combat.  Actual damage isn't implemented yet, so you can smack that poor robot around all day if you want to.

I've been giving the way I want the combat system to work some thought, particularly with regard to an issue which I think tends to pop up quite often in games with both melee and ranged combat.  Specifically, how do you balance the two?

In the real world, guns are just better.  The guy who can shoot you dead from cover from half a mile away has a distinct advantage over the guy who has to run right up to you and pummel you with his fists for a couple of minutes until you lose consciousness.  In a game, however, this is a bit problematic: how do you get the player to use the nice melee combat system you spent so long programming when nobody in their right mind would realistically choose to do so?

Some games of course are fine with this (most FPSs, for example) - saving melee as either a weapon of last resort or for the occasional contrived 'oops, I lost all my weapons' set-piece.  But things like RPGs, especially those where you can create a purely melee-orientated character, have a need to balance things out a little more so that either option becomes viable.  This tends to get done by nerfing the ranged weapons down to the level of water pistols - so that melee-orientated characters can shrug off a few hits before they can get into melee range and start causing damage themselves.  But, in my opinion at least, this tends to make the ranged combat in these games a bit dull (especially where two ranged-combat-oriented characters face-off), because each shot counts for so comparatively little.

For this game I'm taking a different approach.  Considering the sci-fi setting I'm fine with most disagreements being settled by ray-gun - so ranged weapons will be generally more powerful and more useful - but I still want to give melee combat some distinct tactical uses.  As well as the more usual disadvantages to guns - requiring ammo, having a lower to-hit chance and so on, there's going to be an important mechanical advantage to melee.  As with most roguelikes, each character can only perform one action per turn - so you can either move or shoot, then the other guy gets a turn, and so on.  But, you can move a couple of spaces at a time, and if you perform a melee attack as one of those moves, it still only counts as one action.  As a bonus, anybody who has just been hit by a melee attack can't fire a ranged weapon on their next turn.

This is a really simple mechanic, but I'm hoping it will add a bit more tactical depth to a lot of common situations in the game.

For example: imagine you are low on health and just around the corner from an enemy with a great big gun.  You could step out from behind the corner to get into a suitable position to shoot him, and then wait for your next turn to actually take the shot.  But in between then and now he's going to have a chance to blast you with his mighty cannon, and you better hope he misses...

Or, you could leave your shoot-o-matic laser pistol in its holster and instead charge around the corner at full speed and rugby tackle him to the ground.  You'll have done some damage immediately and removed his ability to blow your brains out, but of course with some other issues to deal with; you have to actually beat him in hand-to-hand for starters, and then you may ultimately have left yourself more exposed to his buddy further down the corridor...



Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #5 on: March 17, 2012, 04:20:22 PM »

17 Hours total work time:



The enemies have been attending evil alien school and have learned important life skills like how to walk around and punch and shoot people.  You also now control two characters at once (ultimtely you'll have four) , so I've set up a little 2v2 battle against a robot and a horrible space gribbly.  Here is the updated applet:

http://www.vitruality.com/Stuff/Version0.3/PlanetApplet.html
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Franklin's Ghost
Level 10
*****



View Profile WWW
« Reply #6 on: March 17, 2012, 04:49:49 PM »

Coming along nicely and reminds me of the old buck rogers game. Impressed with the speed you're progressing.
Logged

Paul Jeffries
Level 3
***



View Profile WWW
« Reply #7 on: March 18, 2012, 03:18:53 AM »

Thanks FG.  I'm finding that timing myself really increases my productivity, since it forces me to set specific goals and then stick to them.  I usually spend ages worrying about the best algorithm or data structure to use but this way I just have to go with my instincts.  Also even though I've never used Java before I'm finding it a really nice language for this sort of work.

I've never played that Buck Rogers game but I may have to give it a try now for inspiration...
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Franklin's Ghost
Level 10
*****



View Profile WWW
« Reply #8 on: March 18, 2012, 04:12:03 AM »

Here's a youtube link to the game, used to love playing it back in the day.





Also did you make detailed plans on how you'd approach the game before starting or you've just been deciding as you're going? Like how the bad guys run around like crazy after they kill you so far  Smiley
Logged

Paul Jeffries
Level 3
***



View Profile WWW
« Reply #9 on: March 26, 2012, 02:31:27 PM »

@FG: No, I'm pretty much making it up as I go along.  Deciding to do it in the first place was kind of a spur-of-the-moment type thing and then I started working on it that evening.  I do have a rough plan, but only in my head at the moment.

27 Hours Work Time:

Sorry for the radio silence recently, the aforementioned house move happened and left me without internet for a week.  But in between putting things in boxes, taking things out of boxes, waiting in for people to bring me boxes of wood, taking bits of wood out of boxes and hitting them with a mallet until they resemble furniture, accidentally stabbing myself in the leg with a pair of scissors and re-enacting the first level of every RPG ever made by killing the giant rats who seem to have set up home in the loft, I have found some time to work on the game and have made a fair bit of progress.



You now have your full complement of four characters at your disposal and so to even things up the test environment now contains four enemies to zap.  Do please have a go:

http://www.vitruality.com/Stuff/Version0.5/PlanetApplet.html

Left click still moves and melee attacks, right click uses the currently equipped item.  Left click on the icon in the top bar to open the active character's inventory.  On the inventory screen left click on an item in your inventory to equip it, right click it to drop it to the ground.  The area at the bottom of the inventory screen represents the ground at your feet - left click on an item there to pick it up.
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
stef1a
Guest
« Reply #10 on: March 26, 2012, 03:25:19 PM »

I love the concept and the graphics, and I'm wondering where they're coming from. If you made them, kudos; you're an amazing artist, in my book. Either way, it looks beautiful, and it reminds me of roguelikes I used to play in 2002-2003... I wish I could remember the name of a particular one, because your graphics are so similar to its.
Logged
PompiPompi
Level 10
*****



View Profile WWW
« Reply #11 on: March 26, 2012, 03:37:16 PM »

Hmm, I can't play it, it loads Java and then the game area doesn't draw anything(It shows the desktop background).
Are there any OS\Browser limitations?
I am on Windows 7, IE9 or Opera(heh).
Logged

Master of all trades.
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #12 on: March 26, 2012, 10:31:17 PM »

@stefa: The graphics are all mine, so: thanks! I'm glad you like them.

@PompiPompi: Hmm... now that you mention it I can't seem to get it to work online myself, even though it works OK running locally and I didn't have any problems with any of the previous versions... Thanks for letting me know - I'll have a fiddle when I get home tonight and see if I can fix it.  Probably I've touched something I shouldn't have in the compilation options...
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
capn.lee
Level 3
***



View Profile
« Reply #13 on: March 27, 2012, 12:35:19 AM »

graphics are cool and a star trek planet-exploration mechanic is perfect for a roguelike
Keeping an eye on this one
Logged
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #14 on: April 02, 2012, 02:51:47 PM »

Soooo... after what feels like many years of swearing and tugging out clumps of hair I finally figured out why the applet was no longer working online.  The culprit was this little chap:



This is a Boreworm, terror of alien princesses everywhere and, as it turns out, massive pain in the ass to would-be java programmers.  For it turns out that even more deadly than it's grossly befanged maw is... it's file name.

The name of the image file for this enemy is:

BoreWorm.png

The name that I had in my code was:

Boreworm.png

Now within the confines of Netbeans, java doesn't seem to give a fuck about the lack of capitalization on the W - it loads that file just fine.  But for some reason once that applet makes its way onto the internet it suddenly becomes the most important thing in the world and was causing the whole thing to hang (even though I thought I was explicitly handling the exception this should have caused)...

Anyway.  Please do me a favour and try out the now-hopefully-working applet and blast that little bastard to atoms for me:

http://www.vitruality.com/SFR/Version0.6/launch.html
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #15 on: April 08, 2012, 04:46:57 AM »

33 Hours work time:



I've mainly been working on 'dungeon' generation for the indoor levels.  I spent some time looking at various methods of dungeon generation but I couldn't find anything that really grabbed me.  Most of the completely random ones don't really suit the sort of squad-tactics gameplay I'm after and I'm not a fan of the ones which assemble levels out of pre-designed chunks.

So, I decided to come up with my own algorithm.  Again going back to Space Crusade, I wanted to have fairly compact levels with a high degree of interconnectivity, so that you can choose between several different routes and attack from different angles.  The algorithm simply recursively 'grows' rooms out of the sides of existing rooms and sizes them to fit the available space, connecting them together with existing rooms where possible.  It seems to work OK, although I may refine it a bit more later on if I have the time.

Updated applet is here:
http://www.vitruality.com/SFR/Version0.7/launch.html

Next thing to implement is fog of war - it's not particularly exciting when you can see where all the enemies are.
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #16 on: April 10, 2012, 02:01:49 AM »

39 Hours work time:





Recently added:

- Fog of war/line of sight
- Moving between levels
- Doors!
- Scanners!
- Sounds!

Most recent build:
http://www.vitruality.com/SFR/Version0.8/launch.html

Biggest new addition this time is the fog-of-war system, which fortunately didn't take too long since I was able to copy and paste the code to do it out of my other current project with only a little bit of tweaking to simplify it and convert it from C++ to Java.

This is another case where I didn't really fall in love with any of the algorithms I came across on the internet and came up with my own method for calculating the area each character can see.  The system is based around the observation that the visibility of each tile really only depends on the state of the one or two tiles that lie directly in front of it (between itself and the viewer).  If one of those tiles is visible and transparent the tile itself will also be visible - if all of them are solid or hidden then the tile in question will also be hidden.  The only mildly tricky bit is making sure you calculate the visibility of each tile in an order such that you check the visibility of tiles closest to the viewer first.  This algorithm is super-fast compared to something like ray-tracing since you only check each square once and the check itself is simply looking at the state of another two tiles.  The downside is that it's fairly permissive - i.e. it assumes that if you can see any part of a tile you can see all of it - but that's actually a good thing so far as I am concerned.  I might write up the method in a bit more detail if anybody is interested.

The game is starting to take shape a bit more now, which is good because I only have nine hours remaining until my arbitrary and not-at-all-binding target of 48 hours.  Will I make it in time?  Can you taste the artificially-generated tension?

Next job: experience points and levelling  up.  I also really need to think up a decent name.
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Paul Jeffries
Level 3
***



View Profile WWW
« Reply #17 on: April 14, 2012, 03:19:50 PM »

43 Hours total work:

The 48 hour deadline is rapidly approaching now.  I'm almost definitely going to continue working on the game after this point - I have loads of ideas for this now that I'm not going to have time to implement in the next five hours - but I'm still going to try and get a 'complete' game done by that time.

I have at least come up with a name for it now.  Most of the really good sc-fi adventure names have been taken already, so I decided to just call it what it is: A Squad Tactics Roguelike.

Or, for short:



...well, I thought it was clever, anyway.

(Alternative title, if you're feeling mean: A Star Trek Rip-Off)



Latest Build:
http://www.vitruality.com/ASTRo/Version0.9/launch.html

Mostly I'm working on adding small bits and pieces here and there, such as more enemies and weapons.  There are now five levels in the game, culminating in a final boss battle.
« Last Edit: April 14, 2012, 03:26:18 PM by Paul J » Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
peous
Level 2
**


Indie opportunist


View Profile
« Reply #18 on: April 15, 2012, 02:01:24 AM »

Hmmm nice ! Lot of progress since last time !
I tested it quickly, some feedback
- How do I knwo what item I have and what it does ?
- What does scanner ?
- How do I pick-up an item ?
- I clicked on my team member and hit him !?
- I did level-up, but don't know why nor what it brings to me
But it was nice ^^
I'll try later versions asap !
Logged

Paul Jeffries
Level 3
***



View Profile WWW
« Reply #19 on: April 15, 2012, 03:37:54 AM »

Hi Peous, thanks for giving it a try!

One thing I really need to add is some kind of screen that explains the controls, but briefly:

- Left click to move and melee attack (including your own troops, at the moment - although I'll probably take it out since there's not a lot of point to it!)
- Right click to use the currently equipped item (either on the square you're pointing at or on yourself, depending on the item)

which you probably already figured out.  However:

- Next to your character's name and health bars is an icon which shows the currently equipped item
- Left click on that icon to bring up the character/inventory screen, which looks a bit like this:



- Below this icon will be that character's inventory.  Left clicking equips an item, right clicking drops it.
- Below the name/health bars is a list of that character's stats.  If you have any upgrade points from levelling up, you can left click on any stat with a '
  • ' next to it to improve that ability.
- At the bottom of the screen is a region which shows all the items on the floor at the character's feet.  If you have inventory space, left click on one of these to pick it up.
- If you hover the mouse over any item or stat, you should get a description of what it does.

One other thing that may not be immediately obvious:

- When you reach the exit lift (green tiles with up/down arrows on them) a button will appear down in the bottom left of the screen.  Left click on this to move to the next level (once all your character are inside the lift!)

To answer your other questions:
- The scanner lets you reveal tiles that you cannot directly see, including any enemies or items that might be there.  It's not so useful on the first level since it's fairly open but it becomes pretty vital later on in the game for checking what horrible monsters are lurking around the next corner.
- You gain experience whenever you successfully perform an action (i.e. punching or shooting something, scanning, healing etc.) not just through killing things, which is why you can sometimes level up when it is not immediately obvious why.

Thanks again for trying it out!
Logged

www.vitruality.com | SPARTAN - Small Pixel Art Animator and procedural tile generator
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic