In response to EmpirezTeam
EmpirezTeam wrote:
Why are you making a WALL-E fan-game?

I'm not sure if you're joking, but tbh, that kind of hurts.
In response to Bravo1
Bravo1 wrote:
EmpirezTeam wrote:
Why are you making a WALL-E fan-game?

I'm not sure if you're joking, but tbh, that kind of hurts.

EmpirezTeam is never to be taken seriously. So I wouldn't worry about it that much. Just disregard everything he says.
They just added E.T. to netflix.
Yut Put wrote:
https://dl.dropboxusercontent.com/u/8858375/ epochv81fullversion.zip

you now get essences with E and it immediately reads them. This is a much better system than the essence logs.

big enemies are no longer blurry(ty ter13) and their hitboxes are more accurate

temple of Tor added. took a really long time to make and has 2 pretty fleshed out bosses(Royal Infected Worms and Tor, Guardian of Body), T_T literally worked on just this dungeon for 12 hours today and a few hours 2 days ago also, probably 24 hours of work total in the last 3 days hahahahahahhaakillme

plenty of random fixes/changes here and there that I can't remember because today's main focus was the earth temple

Ter13
Tor
Tor13
hl3 confirmed
In response to Mickemoose
hl3 already came out.

Didnt you see the honest trailer for it?
After talking a bit about the idea in the Discord channel, I now kind of want to make a game idea I've had for a while. Kind of liked Banished meets Sims meets Harvest Moon (though only a little bit of the latter, as I've never played it and mostly just know what it's about). It would be set in the constructed world I've been setting, and be just as much an exercise in game development as it would be an exercise in world building, because I'd have to finally develop a lot of things I only have as notes now. The problem is, I'm not particularly good at art.

For now, I'm just gonna try and finish that multi-precision integer arithmetic library. After I get that done (and probably a random number generator using the library) done, I might consider it more seriously.
Feed:
- Fixed an issue where target arrows wouldn't remove if a player died before finishing the wave.
- Performance fixes.
- Ambient lighting now reflects the progress status of the current wave with it being darkest during the midst of the wave.
- Some other small things I'm sure I forgot.

Special thanks to SSX and Ter13 for helping me with some of the improvements/features Feed's seen recently. I also want to make a thread soon that covers the gameplay mechanics in depth. I feel like this will help OG Feeders and newcomers alike get a better grasp of the chaos in my gifs and what exactly Feed is.


Deathmatch wave -- Kumo versus Syxoul. Thought I was being clever before I was killed in literal frames.


Well, we suck.


Hey, I lived. What do you know.

Comments, questions, ideas, and complaints are all welcome. (^:
Well, I did a hand-run of Algorithm D, and I think I understand the logic behind it now. Next step is to figure out exactly how to incorporate it into the system I have going on at the moment.
ter13 sure helped me a lot with programming the bosses in the new dungeon

Maf.
y dont u just marry kaio
While writing up the division method, I realized that by using preprocessor macros I could make the important behavior of my code semantically clearer. Compare, the guts of the Multiply method before,
var
// These are the bytes of both src and Int.

src0 = src.block_1 & 0x00FF
src1 = (src.block_1 & 0xFF00) >> 8
src2 = src.block_2 & 0x00FF
src3 = (src.block_2 & 0xFF00) >> 8

Int0 = Int_block_1 & 0x00FF
Int1 = (Int_block_1 & 0xFF00) >> 8
Int2 = Int_block_2 & 0x00FF
Int3 = (Int_block_2 & 0xFF00) >> 8

// Bytes of the final result. We will only use the first byte of each, while
// the second byte will be used as a buffer to temporarily store bits until we
// shift them to the next byte. E.g., byte_1 = XXXX FFFF, where XXXX is data that
// will be moved to the first byte of byte_2.

byte_1 = 0
byte_2 = 0
byte_3 = 0
byte_4 = 0

// A buffer used to temporarily store results of multiplication.
buffer

/// Compute the terms with a coefficient of r**0 == 1. Assuming src0 = Int0 = 0xFF--the largest integer
/// that can be stored in one byte--then byte_1 = src0*Int0 = 0xFE01. Thus, we can just throw it in here
/// and pull the buffer into byte_2.
///
/// Maximum value after this step: 00 00 FE 01

byte_1 = src0*Int0
byte_2 = (byte_1 & 0xFF00) >> 8 // Shift buffer of byte_1 var into byte_2
byte_1 &= 0x00FF // Clear out byte_1 buffer.

/// Compute the terms with a coefficient of r**1. Assuming all terms are 0xFF, the largest integer that
/// can result from src1*Int0 + src0*Int1 is 0x2*(0xFF*0xFF) = 0x2*0xFE01 = 0x1FC02. Thus, there may be
/// overflow.

// Maximum value after this step: 00 00 FE 01 + 00 FE 01 00 = 00 FE FF 01

buffer = src1*Int0
byte_2 += (buffer & 0x00FF)
byte_3 = ((buffer & 0xFF00) >> 8) + ((byte_2 & 0xFF00) >> 8)
byte_2 &= 0x00FF // Clear out byte_2 buffer.

// Maximum value after this step: 00 FE FF 01 + 00 FE 01 00 = 01 FD 00 01

buffer = src0*Int1
byte_2 += (buffer & 0x00FF)
byte_3 += ((buffer & 0xFF00) >> 8) + ((byte_2 & 0xFF00) >> 8)
byte_4 = ((byte_3 & 0xFF00) >> 8)

byte_2 &= 0x00FF // Clear out byte_2 buffer.
byte_3 &= 0x00FF // Clear out byte_3 buffer.

/// Compute the terms with a coefficient of r**2. Assuming all terms are 0xFF, the largest integer
/// that can result from src2*Int0 + src1*Int1 + src0*Int2 = 0x3*(0xFF*0xFF) = 0x3*0xFE01 = 0x2FA03.

// Maximum value after this step: 01 FD 00 01 + FE 01 00 00 = FF FE 00 01

buffer = src2*Int0
byte_3 += (buffer & 0x00FF)
byte_4 += ((buffer & 0xFF00) >> 8) + ((byte_3 & 0xFF00) >> 8)

byte_3 &= 0x00FF
byte_4 &= 0x00FF

// Maximum value after this step: FF FE 00 01 + FE 01 00 00 = (01) FD FF 00 01

buffer = src1*Int1
byte_3 += (buffer & 0x00FF)
byte_4 += ((buffer & 0xFF00) >> 8) + ((byte_3 & 0xFF00) >> 8)

byte_3 &= 0x00FF
byte_4 &= 0x00FF

// Maximum value after this step: FD FF 00 01 + FE 01 00 00 = (01) FC 00 00 01

buffer = src0*Int2
byte_3 += (buffer & 0x00FF)
byte_4 += ((buffer & 0xFF00) >> 8) + ((byte_3 & 0xFF00) >> 8)

byte_3 &= 0x00FF
byte_4 &= 0x00FF

/// And lastly, the terms with a coefficinet of r**3. Assuming all terms are 0xFF, the largest
/// integer than can result from src3*Int0 + src2*Int1 + src1*Int2 + src0*Int3 = 0x4*0xFE01 =
/// 0x3F804.

// Maximum value after this step: FC 00 00 01 + (FE) 01 00 00 00 = (FE) FD 00 00 01.
buffer = src3*Int0
byte_4 += buffer
byte_4 &= 0x00FF

// Maximum value after this step: FD 00 00 01 + (FE) 01 00 00 00 = (FE) FE 00 00 01.
buffer = src2*Int1
byte_4 += buffer
byte_4 &= 0x00FF

// Maximum value after this step: FE 00 00 01 + (FE) 01 00 00 00 = (FE) FF 00 00 01.
buffer = src1*Int2
byte_4 += buffer
byte_4 &= 0x00FF

// Maximum value after this step: FF 00 00 01 + (FE) 01 00 00 00 = (FF) 00 00 00 01.
buffer = src0*Int3
byte_4 += buffer
byte_4 &= 0x00FF

and now with macros,
var
// These are the bytes of both src and Int.

src0 = BYTE_ONE(block_1)
src1 = BYTE_TWO(block_1)
src2 = BYTE_ONE(block_2)
src3 = BYTE_TWO(block_2)

Int0 = BYTE_ONE(Int_block_1)
Int1 = BYTE_TWO(Int_block_1)
Int2 = BYTE_ONE(Int_block_2)
Int3 = BYTE_TWO(Int_block_2)

// Bytes of the final result. We will only use the first byte of each, while
// the second byte will be used as a buffer to temporarily store bits until we
// shift them to the next byte. E.g., byte_1 = XXXX FFFF, where XXXX is data that
// will be moved to the first byte of byte_2.

byte_1 = 0
byte_2 = 0
byte_3 = 0
byte_4 = 0

// A buffer used to temporarily store results of multiplication.
buffer

/// Compute the terms with a coefficient of r**0 == 1. Assuming src0 = Int0 = 0xFF--the largest integer
/// that can be stored in one byte--then byte_1 = src0*Int0 = 0xFE01. Thus, we can just throw it in here
/// and pull the buffer into byte_2.

// Maximum value after this step: 00 00 FE 01

byte_1 = src0*Int0

ADDBUFFER(byte_1, byte_2) // Add byte one's buffer into byte 2.
FLUSH(byte_1) // Clear out byte_1 buffer.

/// Compute the terms with a coefficient of r**1. Assuming all terms are 0xFF, the largest integer that
/// can result from src1*Int0 + src0*Int1 is 0x2*(0xFF*0xFF) = 0x2*0xFE01 = 0x1FC02. Thus, there may be
/// overflow.

// Maximum value after this step: 00 00 FE 01 + 00 FE 01 00 = 00 FE FF 01

buffer = src1*Int0

ADDDATA(buffer, byte_2)
byte_3 = BUFFER(buffer) + BUFFER(byte_2)

FLUSH(byte_2) // Clear out byte_2 buffer.

// Maximum value after this step: 00 FE FF 01 + 00 FE 01 00 = 01 FD 00 01

buffer = src0*Int1

ADDDATA(buffer, byte_2)
byte_3 += BUFFER(buffer) + BUFFER(byte_2)
ADDBUFFER(byte_3, byte_4)

FLUSH(byte_2)
FLUSH(byte_3)

/// Compute the terms with a coefficient of r**2. Assuming all terms are 0xFF, the largest integer
/// that can result from src2*Int0 + src1*Int1 + src0*Int2 = 0x3*(0xFF*0xFF) = 0x3*0xFE01 = 0x2FA03.

// Maximum value after this step: 01 FD 00 01 + FE 01 00 00 = FF FE 00 01

buffer = src2*Int0

ADDDATA(buffer, byte_3)
byte_4 += BUFFER(buffer) + BUFFER(byte_3)

FLUSH(byte_3)
FLUSH(byte_4)

// Maximum value after this step: FF FE 00 01 + FE 01 00 00 = (01) FD FF 00 01

buffer = src1*Int1

ADDDATA(buffer, byte_3)
byte_4 += BUFFER(buffer) + BUFFER(byte_3)

FLUSH(byte_3)
FLUSH(byte_4)

// Maximum value after this step: FD FF 00 01 + FE 01 00 00 = (01) FC 00 00 01

buffer = src0*Int2

ADDDATA(buffer, byte_3)
byte_4 += BUFFER(buffer) + BUFFER(byte_3)

FLUSH(byte_3)
FLUSH(byte_4)

/// And lastly, the terms with a coefficinet of r**3. Assuming all terms are 0xFF, the largest
/// integer than can result from src3*Int0 + src2*Int1 + src1*Int2 + src0*Int3 = 0x4*0xFE01 =
/// 0x3F804.

// Because we add directly to byte_4, from this point on we can drop using the buffer. We do
// continue to flush byte_4 after each step to prevent roll-over or loss of precision causing
// problems.

// Maximum value after this step: FC 00 00 01 + (FE) 01 00 00 00 = (FE) FD 00 00 01.
byte_4 += src3*Int0
FLUSH(byte_4)

// Maximum value after this step: FD 00 00 01 + (FE) 01 00 00 00 = (FE) FE 00 00 01.
byte_4 += src2*Int1
FLUSH(byte_4)

// Maximum value after this step: FE 00 00 01 + (FE) 01 00 00 00 = (FE) FF 00 00 01.
byte_4 += src1*Int2
FLUSH(byte_4)

// Maximum value after this step: FF 00 00 01 + (FE) 01 00 00 00 = (FF) 00 00 00 01.
byte_4 += src0*Int3
FLUSH(byte_4)


As for the division algorithm, right now I'm really wishing that DM had arrays at the moment. Having a constant time-lookup, fixed-width array would really, really help make the code for what I'm working on nicer.
In response to Kumorii
Kumorii wrote:
Comments, questions, ideas, and complaints are all welcome. (^:

needs a moose zombie boss
In response to Mickemoose
Mickemoose wrote:
Kumorii wrote:
Comments, questions, ideas, and complaints are all welcome. (^:

needs a moose zombie boss

maybe some female zombies too if you dont already
In response to Kumorii
A shield as a weapon. You lunge in the direction ur facing when you shoot it <---- Blocks all projectiles the hit you in the direction ur facing like casual quest's shield

Classes
Berserker:
Can Dual Wield Weapons

Scout:
Access to a sniper rifle with 1 shot that can ohko anything and everything except bosses every 60 seconds(all non automatic weapons deal 50% more damage)

Medic:
Can aoe heal everyone around them to max hp and increase their dmg resistance by 50%

Liam Neeson:
Special Melee ability every 30 seconds that stuns the enemy

Chuck Norris:
Shotguns do 100% more dmg

Jester:
Once per wave can self revive

Knight:
Dmg resistance when closer than 5 feet to the target is increased by 100%

Marauder:
Automatic weapons no longer needs to reload

Bandit:
Pistols and such deal 200% more damage

Nerd:
Can place down a turret

Chinese Boy Band:
Zombies never aggro on them unless they are the last ones alive

Necromage:
Can turn 1 zombie on their side every 30 seconds

Average CoD player:
Standing in place without moving for 30 seconds increases damage by 700% until you move.


Testing out a new enemy. Extremely crude art for now, but it gives me an idea of what to expect when it's finished.
In response to Bravo1
Can you shoot the projectiles the enemy is throwing, back at the enemy or at least shooting them to destroy them?
In response to Bravo1
Their eyes are totally gems rite?? rite???
Maybe.

In response to Bravo1
Cool boss idea:

Boss which cannot be damaged by any of your own abilities, however each attack he uses can be repelled using an associated ability of your own, with different mechanics.
In response to Bravo1
Make the little pockets of dimensions home in a little.
Page: 1 2 3 ... 174 175 176 177 178 ... 349 350 351