dMZX Forums: Insidious's Journal - dMZX Forums

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Insidious's Journal

#1 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 15 August 2011 - 04:31 AM

EDIT: This is now pretty much a General Projects Thread for me, Insidious

This is the new project I'm working on MZX-wise, hopefully planning to get at least a short version done in a few months as it shouldn't be too involved to create.

Its called Pelican, and its a side scrolling shooter reminiscent of the 8-bit/early 16-bit eras, specifically inspired by the Commodore 64/Amiga series Turrican.

These are some mockups I've created at various points

The first mockup
Posted Image

Revised mockup based on #mzx suggestions (Also contains Crouched form)
Posted Image

Same mockup, now with a "Sprite Sheet" testing various animation frames
Posted Image

Revised animations/mockup now with a vague idea of a "Multi" shot
Posted Image

I realize I'm not exactly doing State Of the Art MZX Graphics here, but graphics have never been my strong suit. Anyway, this is about 2 hours time lapse of work so far. :(
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#2 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 15 August 2011 - 05:25 AM

no offense but I think you should probably have something tangible to show for your game before making a dedicated thread about it... looks, cool, I guess
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#3 User is offline   Old-Sckool 

  • megazeux breaker
  • PipPipPipPip
  • Group: Members
  • Posts: 649
  • Joined: 07-June 05
  • Gender:Male

Posted 15 August 2011 - 05:40 AM

I thought the main character looked like a turtle at first.

Not that I'm any better at sprites.
<Nadir> mzxers don't make GAMES, usually
<phthalocyanine> they make experiences.
<Nadir> demos, more like
<Nadir> a glimpse into what could have been if mzx wasn't such a bore to work with
<Nadir> actually, i'm being unfair
<Nadir> i would have made mzx games if it was capable of running on more than 20 computers worldwide in 1998
<Nadir> >:D

<%Alice> functor
<%nooodl> i hear C++ has a thing called functors and they're completely different from Haskell functors...
<rorirover> the result is the most horrid thing in C++, it's basically black magic and it transforms any code you're writing into some eldritch monstrosity
0

#4 User is offline   ThDPro 

  • Brontosaurus-Sea-slug; Gooey and phallic
  • PipPipPipPip
  • Group: Members
  • Posts: 718
  • Joined: 03-December 06
  • Gender:Male
  • Location:Portland, OR

Posted 15 August 2011 - 07:44 AM

View PostLachesis, on 14 August 2011 - 10:25 PM, said:

no offense but I think you should probably have something tangible to show for your game before making a dedicated thread about it... looks, cool, I guess

Why you gotta break balls, Lache? He's making a conscious effort to make a game and tell us about it and you step on it. Go rain on Guy or something.

Anyway, I like what it looks like so far Insid, is it octo-directional AND a platformer? I'm not sure how that would work out well in the end honestly.
original soundtracks
Better Than Nothing - DOMINATION - Commander Keen: Heroes Lost - Welkin - A Confectioner's Recipe - random ThDPro music stuff
<Risu21121> if you're not going to make a good game, you might as well make a blatantly racist one.
<Kuddy> Testicles.
"Where are my folder?" - KKairos
0

#5 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 15 August 2011 - 02:15 PM

View PostThDPro, on 15 August 2011 - 01:44 AM, said:

Why you gotta break balls, Lache? He's making a conscious effort to make a game and tell us about it and you step on it. Go rain on Guy or something.

Anyway, I like what it looks like so far Insid, is it octo-directional AND a platformer? I'm not sure how that would work out well in the end honestly.

List of games that have had journals created this early in the process that were actually released that weren't demos? I was just saying, maybe he should hold off on the thread thing until he's actually got a thing. The graphics are fine, really, but they don't mean anything without context... I'd personally rather this game DOES get finished, but journals tend to have a negative effect towards Things Getting Finished. I guess I'm a villain for trying to save the project before the journal kills it, huh :-P

octo-directional platformer
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#6 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 15 August 2011 - 02:17 PM

Its a platformer, you can shoot in any of 6 directions, left, right, upleft, upright, downleft, and downright. You can also duck to hit smaller enemies and avoid projectiles, which actually causes the player character to shrink his torso. When ducking, you can only shoot straight left or right however.

I'm considering mouse based shooting but for now I'm leaning towards a traditional "aim with the directional keys" style thing.

The actual platforming and animation engines are about half done, though right now I'm mostly focusing on what is the hardest part for me, making the characters. I've never been very good with MZX graphics as I said, so I'm wracking my brain for what I can make that would look interesting and maybe at least a bit intimidating.

I've gotten a selection of 18 songs to use for various levels/bosses taken from the original Turrican games for the Amiga. If I can find someone who would like to work with me on remixing these tracks, I'd appreciate the help to make the project just that much more unique!

I should have a screenshot of the first level up and coming sometime by the end of the week.

I'm actually hitting a bit of a snag with getting the "projectile" characters to line up with the player's gun, as its not quite in the center of a character.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#7 User is offline   NoahSoft 

  • DMZX Fo' Life
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,552
  • Joined: 14-May 01
  • Location:Canada

Posted 15 August 2011 - 04:41 PM

looks like a promising start, and way cooler sprite stuff than i could do, so keep it up! need any tracks?

:(
<=D I AM A ROCKER. I ROCK OUT.<=D
0

#8 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 15 August 2011 - 06:46 PM

Well, looking forward to the level screenshot, anyhow.

How do you plan on implementing the diagonal shooting controls? I think the mouse sounds like a decent idea (as long as you don't do it like this). Arrow combos might work, say, if you press up and then left, the player stays still, but if you press left and then up, then you can diagonal aim while moving. I'm not sure how that'd be in practice, though.

This post has been edited by Lachesis: 15 August 2011 - 06:46 PM

"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#9 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 23 September 2011 - 07:22 AM

Battle screenshot of my current project-of-the-week, an unnamed mix of JRPG and Roguelike

Posted Image
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#10 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 23 September 2011 - 11:37 AM

These portraits aren't whats going to actually be in the game, they're avatars Guy made that I decided to import just for shits and giggles

Posted Image

The top one is supposed to be Lachesis, the bottom me. Anyway, basic idea of the menu system.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#11 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 02:29 AM

Posted Image

Revised menu system. Still using guy's avatars as placeholders :(
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#12 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 06:39 AM

Hey, I've got a design document for my battle system!

I'd much appreciate input on the balance and feel of this system, especially from those who have played many computer and pen and paper RPGs before.


Battle Design


Character Attributes

Damage (How much damage the character inflicts with a normal attack)
Precision (How likely the character is to inflict damage on an enemy)
Luck (Complex. See explanation later.)
Armor (How unlikely the enemy is to inflict damage on a character)
Speed (Affects close to the top of the turn order the character will end up)
Aptitude (Affects maximum MP and magic damage)
Fortune Level (Chosen by player before game, directly affects attack rolls)


Precision, Attack Rolls, and Armor:

Precision is a modifier added to the base attack roll to help overcome the enemy's armor
Base attack roll is 1-20
Early enemies may be hittable with 0 precision (have armor between 10 and 20) but higher precision will make hits more likely
Later enemies will require a certain amount of precision to even hit (armor greater than 20)

Fortune Level is then added to or subtracted from the base attack roll to provide different levels of difficulty.

Basic attack formula

Base Roll = 1d20
Attack Roll = Base Roll + Precision + Weapon Attributes + Effects + Fortune Level

If (Attack Roll) > (Enemy Armor): Normal Hit
If (Attack Roll) < (Enemy Armor) but > (Enemy Armor - 5): Glancing Blow
If (Attack Roll) <= (Enemy Armor - 5): Miss
If (Attack Roll) = (Enemy Armor): Precision Hit
If (Base Roll) = 20: Lucky

On a Normal Hit, damage is calculated normally.
On a Glancing Blow, damage is halved.
On a Miss, no damage is inflicted.
On a Precision Hit, damage is doubled.
On a Lucky, damage is calculated normally and the character gets to take another turn.

Lucky can be chained up to 4 times, the 4th chain not earning another turn but earning a Precision Hit and the Angel status. This would be very unlikely.



Fortune Level:

The fortune level is one of 5 values selectable when the game starts:

Broken Mirror: -5
Black Cat: -1
Average Joe: 0
High Roller: +1
Leprechaun: +5

In addition there are a few hidden fortune levels only attainable by secret means:

Koji: -10
Son of Koji: -10 and Corruption status
Fortunate Son: +20




Damage and Damage Rolls:

Damage rolls are determined by the weapon used. Lets take a sword for example, which is a 1d6 weapon.

Sword Damage Roll: 1d6+DamageStat

Simple as that.


Aptitude, MP, and Magic Damage Rolls:

Magic damage rolls are determined by the attack used and by aptitude. Flame for example is a magic power 3 attack.
Aptitude is multiplied by 2 to get the dice size used.

Flame Damage Roll: 3dAptitudeStat

As well, the aptitude determines the maximum MP, which is generally Aptitude*5 but may vary per character



Luck:

In early stages, luck does nothing. However, when luck reaches above certain points, it provides permanent effects.

At 10 luck, your precision hit and lucky ranges will double. That is, a precision hit will be scored at both the enemy's armor and the enemy's armor - 1, and a lucky strike will be scored at both 20 and 19.

At 20 luck, your precision hit and lucky ranges increase again. Now, a precision hit will be scored at the enemy's armor, the enemy's armor - 1, and the enemy's armor +1. A lucky strike will be scored at 20, 19, and 18.

At 30 luck (the maximum), you are able to acquire the Angel status after only 2 consecutive lucky strikes.


Speed:

At the beginning of a battle, a 1d20 is rolled for each character (Party or enemy). Their speed attribute is then added to this score, and the resulting scores are compared to one another to determine the turn order for that battle. Player party turn order, relative to one another, is revealed to the player explicitly, however the enemy turn order, even if it interrupts the party, is not revealed.

Statuses:

Negative:

Poison: Suffer 5*Level damage per turn to HP.
Sleep: Unable to act until attacked (by enemy or party)
Stop: Unable to act until cured.
Unlucky: Damage from your attacks is halved. Damage from enemy attacks is doubled.
Silent: Unable to cast magic.
Dead: Acquired at 0 HP. Can not act until revived. If entire party dies, game is over.
Emo: Randomly unable to take turn.
Serge: Attacks continuously at half damage.
Corruption: Suffer 10*Level damage per turn to HP. Random negative status effects have a chance to be afflicted each turn.
<:D: You are a lightning rod! Enemy physical attacks favor you.

Positive:

Protection: Damage from enemy attacks is halved. Can only take a certain amount of damage before the protection breaks.
Well-Adjusted: Immune to negative status effects, other than Death.
Angel: Immune to negative status effects, including Death.

(NOTE: You can only acquire Angel by chaining four Luckys in a row.)


All statuses are only in effect until the end of a battle.


Example character:

JohnQ, Level 1 Warrior:

Damage: 4
Precision: 3
Luck: 5
Armor: 4
Speed: 3
Aptitude: 2
Fortune Level: Average Joe
Max HP: 15
Max MP: 10

Equipment:

Slightly Magical Sword (+1 attack, 1d6 damage)
Chainmail (4 armor)



Example attack rolls by JohnQ:

1d20+3+1+0+0: Rolled 19: +4 = 23
Enemy AC is 15
Normal hit. Normal damage.

1d20+3+1+0+0: Rolled 11: +4 = 15
Enemy AC is 15
Precision hit. Damage doubled.

1d20+3+1+0+0: Rolled 20: +4 = 24
Enemy AC is 15
Lucky strike. Take another turn.


Example attack rolls by JohnQ at Black Cat and Broken Mirror:

Black Cat:
1d20+3+1+0+0-1: Rolled 11: +4 = 15, -1 = 14
Enemy AC is 15
Glancing Blow. Damage is halved.

Broken Mirror:
1d20+3+1+0+0-5: Rolled 11: +4 = 15, -5 = 10
Enemy AC is 15
Miss. No damage.



Example damage roll by JohnQ:

1d6+4: Rolled 5: +4 = 9
Enemy is hit for 9 damage. (18 on precision hit)


Example magic roll by JohnQ:

JohnQ Casts Flame:

3d4: Rolled 4:
Enemy is hit for 4 damage.



Example speed contest by JohnQ and 2 Strabismus:

JohnQ rolls for speed: Rolled 13: +3 = 16

First Strabismus rolls for speed: Rolled 9: +1 = 10

Second Strabismus rolls for speed: Rolled 19: +1 = 20

Turn order:

Strabismus2
JohnQ
Strabismus1

- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#13 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 10:07 AM

Oh hey, I got someone from #tropers on Esper to start making art for me! :(

His nick is Brocrates and he's very good and very enthusiastic.
Posted Image

Bit of color bleed but its not really avoidable with this level of detail.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#14 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 11:28 AM

Yet more brocrates enemies.
Posted Image

I decided to keep the top one as he submitted it. Most of the enemies he's submit are in an "outline" format. Easy enough to make filled in (negative and delete the edges) but you lose a bit of detail sometimes doing that. Bottom one shows my other strategy for keeping said detail: putting my own 1-pixel outline around the character before deleting the edges of the negative.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#15 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 01:29 PM

I'm on a roll, and its not a kaiser.

Posted Image
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#16 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 03:24 PM

Yes, this thread has a lot of screenshots of the same battle scene with different enemies. So?

Posted Image
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#17 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 24 September 2011 - 04:23 PM

Posted Image

I'm proud of the coloring on this one, especially the lower enemy.

EDIT: I keep tweaking this one :(
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#18 User is offline   NoahSoft 

  • DMZX Fo' Life
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,552
  • Joined: 14-May 01
  • Location:Canada

Posted 25 September 2011 - 07:17 AM

i like the chrono trigger reference!

:(
<=D I AM A ROCKER. I ROCK OUT.<=D
0

#19 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 27 September 2011 - 04:39 PM

So.. hrmm..


I have 7 counters

jackturnorder
janeturnorder
roboturnorder
enemy1turnorder
enemy2turnorder
enemy3turnorder
enemy4turnorder

these are set to random values as per above design document and then I need to compare them to each other and basically sort them from highest to lowest, and then from there build the order of 7 turns in a round

my problem is I dont really know how one would go about sorting in MZX
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#20 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 27 September 2011 - 05:21 PM

Okay, I seem to have found a solution though there are probably easier ways of doing this.


end
: "start"
set "jackturnorder" to 0
set "janeturnorder" to 0
set "roboturnorder" to 0
set "enemy1turnorder" to 0
set "enemy2turnorder" to 0
set "enemy3turnorder" to 0
set "enemy4turnorder" to 0
set "$templatestring" to ".................."
set "local1" to 0
set "local2" to 0
set "local3" to 0
set "local4" to 0
set "local5" to 0
set "local6" to 0
set "local7" to 0
if "jack" = 1 then "#jackspeed"
if "jane" = 1 then "#janespeed"
if "robo" = 1 then "#robospeed"
if "enemy1" > 0 then "#enemy1speed"
if "enemy2" > 0 then "#enemy2speed"
if "enemy3" > 0 then "#enemy3speed"
if "enemy4" > 0 then "#enemy4speed"
if "jackturnorder" < "janeturnorder" then "#jackadd"
if "jackturnorder" < "roboturnorder" then "#jackadd"
if "jackturnorder" < "enemy1turnorder" then "#jackadd"
if "jackturnorder" < "enemy2turnorder" then "#jackadd"
if "jackturnorder" < "enemy3turnorder" then "#jackadd"
if "jackturnorder" < "enemy4turnorder" then "#jackadd"
if "janeturnorder" < "jackturnorder" then "#janeadd"
if "janeturnorder" < "roboturnorder" then "#janeadd"
if "janeturnorder" < "enemy1turnorder" then "#janeadd"
if "janeturnorder" < "enemy2turnorder" then "#janeadd"
if "janeturnorder" < "enemy3turnorder" then "#janeadd"
if "janeturnorder" < "enemy4turnorder" then "#janeadd"
if "roboturnorder" < "jackturnorder" then "#roboadd"
if "roboturnorder" < "janeturnorder" then "#roboadd"
if "roboturnorder" < "enemy1turnorder" then "#roboadd"
if "roboturnorder" < "enemy2turnorder" then "#roboadd"
if "roboturnorder" < "enemy3turnorder" then "#roboadd"
if "roboturnorder" < "enemy4turnorder" then "#roboadd"
if "enemy1turnorder" < "jackturnorder" then "#enemy1add"
if "enemy1turnorder" < "janeturnorder" then "#enemy1add"
if "enemy1turnorder" < "roboturnorder" then "#enemy1add"
if "enemy1turnorder" < "enemy2turnorder" then "#enemy1add"
if "enemy1turnorder" < "enemy3turnorder" then "#enemy1add"
if "enemy1turnorder" < "enemy4turnorder" then "#enemy1add"
if "enemy2turnorder" < "jackturnorder" then "#enemy2add"
if "enemy2turnorder" < "janeturnorder" then "#enemy2add"
if "enemy2turnorder" < "roboturnorder" then "#enemy2add"
if "enemy2turnorder" < "enemy1turnorder" then "#enemy2add"
if "enemy2turnorder" < "enemy3turnorder" then "#enemy2add"
if "enemy2turnorder" < "enemy4turnorder" then "#enemy2add"
if "enemy3turnorder" < "jackturnorder" then "#enemy3add"
if "enemy3turnorder" < "janeturnorder" then "#enemy3add"
if "enemy3turnorder" < "roboturnorder" then "#enemy3add"
if "enemy3turnorder" < "enemy1turnorder" then "#enemy3add"
if "enemy3turnorder" < "enemy2turnorder" then "#enemy3add"
if "enemy3turnorder" < "enemy4turnorder" then "#enemy3add"
if "enemy4turnorder" < "jackturnorder" then "#enemy4add"
if "enemy4turnorder" < "janeturnorder" then "#enemy4add"
if "enemy4turnorder" < "roboturnorder" then "#enemy4add"
if "enemy4turnorder" < "enemy1turnorder" then "#enemy4add"
if "enemy4turnorder" < "enemy2turnorder" then "#enemy4add"
if "enemy4turnorder" < "enemy3turnorder" then "#enemy4add"
set "$turnorder" to "$templatestring"
: "pullloop"
set "numadds" to 0
if "local1" = "local2" then "#jackadd"
if "local1" = "local3" then "#jackadd"
if "local1" = "local4" then "#jackadd"
if "local1" = "local5" then "#jackadd"
if "local1" = "local6" then "#jackadd"
if "local1" = "local7" then "#jackadd"
if "local2" = "local3" then "#janeadd"
if "local2" = "local4" then "#janeadd"
if "local2" = "local5" then "#janeadd"
if "local2" = "local6" then "#janeadd"
if "local2" = "local7" then "#janeadd"
if "local3" = "local4" then "#roboadd"
if "local3" = "local5" then "#roboadd"
if "local3" = "local6" then "#roboadd"
if "local3" = "local7" then "#roboadd"
if "local4" = "local5" then "#enemy1add"
if "local4" = "local6" then "#enemy1add"
if "local4" = "local7" then "#enemy1add"
if "local5" = "local6" then "#enemy2add"
if "local5" = "local7" then "#enemy2add"
if "local6" = "local7" then "#enemy3add"
if "numadds" != 0 then "pullloop"
if "jack" != 1 then "skipjack"
set "$turnorder+('local1'*2)" to "J"
: "skipjack"
if "jane" != 1 then "skipjane"
set "$turnorder+('local2'*2)" to "j"
: "skipjane"
if "robo" != 1 then "skiprobo"
set "$turnorder+('local3'*2)" to "R"
: "skiprobo"
if "enemy1" <= 0 then "skipenemy1"
set "$turnorder+('local4'*2)" to "e"
: "skipenemy1"
if "enemy2" <= 0 then "skipenemy2"
set "$turnorder+('local5'*2)" to "E"
: "skipenemy2"
if "enemy3" <= 0 then "skipenemy3"
set "$turnorder+('local6'*2)" to "m"
: "skipenemy3"
if "enemy4" <= 0 then "skipenemy4"
set "$turnorder+('local7'*2)" to "M"
: "skipenemy4"
end

: "#jackadd"
inc "local1" by 1
inc "numadds" by 1
goto "#return"

: "#janeadd"
inc "local2" by 1
inc "numadds" by 1
goto "#return"

: "#roboadd"
inc "local3" by 1
inc "numadds" by 1
goto "#return"

: "#enemy1add"
inc "local4" by 1
inc "numadds" by 1
goto "#return"

: "#enemy2add"
inc "local5" by 1
inc "numadds" by 1
goto "#return"

: "#enemy3add"
inc "local6" by 1
inc "numadds" by 1
goto "#return"

: "#enemy4add"
inc "local7" by 1
inc "numadds" by 1
goto "#return"


: "#jackspeed"
set "x" to random 1 to 20
set "jackturnorder" to "('x'+'jackspeed')"
goto "#return"

: "#janespeed"
set "x" to random 1 to 20
set "janeturnorder" to "('x'+'janespeed')"
goto "#return"

: "#robospeed"
set "x" to random 1 to 20
set "roboturnorder" to "('x'+'robospeed')"
goto "#return"

: "#enemy1speed"
set "x" to random 1 to 20
set "enemy1turnorder" to "('x'+'enemy1speed')"
goto "#return"

: "#enemy2speed"
set "x" to random 1 to 20
set "enemy2turnorder" to "('x'+'enemy2speed')"
goto "#return"

: "#enemy3speed"
set "x" to random 1 to 20
set "enemy3turnorder" to "('x'+'enemy3speed')"
goto "#return"

: "#enemy4speed"
set "x" to random 1 to 20
set "enemy4turnorder" to "('x'+'enemy4speed')"
goto "#return"

- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#21 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 27 September 2011 - 06:12 PM

Having gotten quite a bit of graphics done, I'm now working on the boring (at least for you guys) code-y bit of getting the battle engine running in a non-mockup state

So far I have it displaying statistics, setting the relevant statistics for the enemy group in use, loading enemy AI from txt, and determining turn order.

Posted Image
The yellow boxes are debug boxes. Actual turn order wont be visible in the released game.

This uses the code above, although due to Bug #383 I had to change jane's symbol to Q, enemy2's to A, and enemy4's to N in order to not cause conflicts.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#22 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 27 September 2011 - 06:55 PM

19:54 < Insidious> questions about LOAD_ROBOT
19:54 < Insidious> does a robot that load_robots retain its name as long as the
loaded robot does not start with .@?

For example, I'll probably be using LOAD_ROBOT to dynamically load in AI for each enemy that's in the group you're fighting
I'd like the up-to-4 robots that will be loading the AI to still be named "enemy1" through "enemy4" after the AI is loaded in, so that other robots don't have to know the name of the enemy to ask a certain enemy number to do something
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#23 User is offline   Old-Sckool 

  • megazeux breaker
  • PipPipPipPip
  • Group: Members
  • Posts: 649
  • Joined: 07-June 05
  • Gender:Male

Posted 28 September 2011 - 03:30 AM

I wrote up a more modular version of your turn chooser because I wanted to experiment, only instead of choosing the order based on a consistent turn order (unless I'm missing something from your code), the order is determined by comparing ratios and stuff I have forgotten long ago... but basically if jack's speed value is 2, and jane's is 4, jane's turn will come up twice as often as jack's

. "init dummy speed variables"
set "jackturnorder" to 1
set "janeturnorder" to 2
set "roboturnorder" to 1
set "enemy1turnorder" to 1
set "enemy2turnorder" to 1
set "enemy3turnorder" to 1
set "enemy4turnorder" to 1

. "init 'can battle' values"
set "jack_active" to 1
set "jane_active" to 1
set "robo_active" to 0
set "enemy1_active" to 0
set "enemy2_active" to 0
set "enemy3_active" to 0
set "enemy4_active" to 0

. "divides the speed value"
set "battle_div" to 100

. "init array of combatants"
set "$BAT0" to "jack"
set "$BAT1" to "jane"
set "$BAT2" to "robo"
set "$BAT3" to "enemy1"
set "$BAT4" to "enemy2"
set "$BAT5" to "enemy3"
set "$BAT6" to "enemy4"
. "set array length"
set "BAT" to 7

. "reset the speed count"

loop start
set "bat('loopcount')_speedc" to 0
loop for "('bat'-1)"

end
: "keyq"
goto "#fetchnextcombatant"
inc "$out" by "&$bat_next&\n"
message row is 10
* "~f&$out&"
end
loop start
set "bat_l0" to "loopcount"
set "loopcount" to "bat_l0"
loop for "('bat'-1)"


. "sets $bat_next as a return value"
: "#fetchnextcombatant"
set "bat_turns" to "('battle_div'+1)"
set "bat_next" to -1
set "bat_nextspe" to -1
set "bat_tturns" to -1

. "calculate 'turns' left to move"
loop start
if "&$bat('loopcount')&_active" = 0 then "skipBatTurns"

set "bat_speed" to "&$bat('loopcount')&turnorder"
set "bat_speedc" to "bat('loopcount')_speedc"
set "bat_tturns" to "(('battle_div'-'bat_speedc')*100/'bat_speed')"
set "bat_tturns" to "(('bat_tturns'/100+('bat_tturns'%100>0))*('bat_turns'>0))"
set "bat('loopcount')_turns" to "bat_tturns"
if "bat_turns" <= "bat_tturns" then "skipBatTurns"
set "bat_turns" to "bat_tturns"
: "skipBatTurns"
loop for "('bat'-1)"
. "update speed count if necessary"
if "bat_turns" = 0 then "dontUpdateTurns"
loop start
if "&$bat('loopcount')&_active" = 0 then "skipTurnUpdate"
inc "bat('loopcount')_speedc" by "('&$bat('loopcount')&turnorder'*'bat_turns')"
: "skipTurnUpdate"
loop for "('bat'-1)"
: "dontUpdateTurns"

. "find the fastest"
loop start
if "&$bat('loopcount')&_active" = 0 then "skipPickNext"
if "bat&loopcount&_speedc" <= "bat_nextspe" then "skipPickNext"
set "bat_next" to "loopcount"
set "bat_nextspe" to "bat&loopcount&_speedc"
: "skipPickNext"
loop for "('bat'-1)"
dec "bat&bat_next&_speedc" by "battle_div"
set "$bat_next" to "$bat('bat_next')"
goto "#return"


<Nadir> mzxers don't make GAMES, usually
<phthalocyanine> they make experiences.
<Nadir> demos, more like
<Nadir> a glimpse into what could have been if mzx wasn't such a bore to work with
<Nadir> actually, i'm being unfair
<Nadir> i would have made mzx games if it was capable of running on more than 20 computers worldwide in 1998
<Nadir> >:D

<%Alice> functor
<%nooodl> i hear C++ has a thing called functors and they're completely different from Haskell functors...
<rorirover> the result is the most horrid thing in C++, it's basically black magic and it transforms any code you're writing into some eldritch monstrosity
0

#24 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 28 September 2011 - 04:41 AM

Heh, we had Insidious fix it this morning by indexing all of the turn order counters (including the players') and running a loop with a single command. He might like your version better, though
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#25 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 29 September 2011 - 01:30 AM

Magic system!
Posted Image

Not a mockup. Magic doesn't actually work yet though, I'm just getting the menu system working and getting a magic menu working was part of that.

EDIT: Don't mind the Dummy AI bit at the bottom, thats because the AI isn't set to do anything but pass turns yet.

EDIT AGAIN: Changed the picture, now using > for arrow instead of sword hilt, no more DEBUG text

EDIT A THIRD TIME: Turned > into a proper arrow.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#26 User is offline   T-Bone 

  • Wastelander
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,487
  • Joined: 16-August 02
  • Gender:Male
  • Location:Canada

Posted 29 September 2011 - 01:54 AM

Those eneimes are awesome lol
Youtube - teabone3 - Twitter - teabone3 - Twitch - teabone3
0

#27 User is offline   T-Bone 

  • Wastelander
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,487
  • Joined: 16-August 02
  • Gender:Male
  • Location:Canada

Posted 29 September 2011 - 11:47 PM

and by eneimes i do mean enemies lol Can't wait to see this in action
Youtube - teabone3 - Twitter - teabone3 - Twitch - teabone3
0

#28 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 06 October 2011 - 03:31 AM

Battle engine is finally starting to take shape.


Anyone want to make sound effects? :(
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#29 User is offline   asgromo 

  • steiner, porsches
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 3,841
  • Joined: 04-May 02
  • Gender:Female
  • Location:New York State

Posted 06 October 2011 - 01:52 PM

Sure those characters shouldn't be jumping halfway across the battlefield when they attack?
0

#30 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,564
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 06 October 2011 - 10:14 PM

I see your snark, and I raise you redone animations and repositioned enemies. Also, not using WLMM ever again, virtualdub ended up doing a much better job:


- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

10 User(s) are reading this topic
0 members, 10 guests, 0 anonymous users