Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Hot_Dog

Pages: 1 ... 25 26 [27] 28 29 ... 194
391
Elimination / Re: Elimination: A New FPS
« on: October 30, 2011, 09:17:01 pm »
how is this going?

Actually, this would probably be a good time for a progress update.  I just fixed the bug where enemies were disappering into walls, a problem that existed in the original Gemini.  At least I think I fixed it.  Also, I fixed a bug where health bars were popping up even without an enemy on-screen.

Now to continue work on saving games :)

392
Art / Re: Monochrome art
« on: October 30, 2011, 05:58:58 pm »
My monochrome artwork. Everything fits on a TI calculator screen(I prefer 96*64). If you want me to make titlescreens or cutscenes: just ask :) I also make sprites


(Ow I also work with grayscale sometimes)

I'll look you up ;)  I have cutscenes planned for my game

393
ASM / Interesting Collision Detection problem
« on: October 29, 2011, 07:29:33 pm »
In the game Gemini (and thus Elimination as well), every enemy has an X position and a Y position.  I'm pretty sure that the X position and Y position are governed by the left side of the enemy when you are facing it.  In other words, if an enemy is at X = 1200 and Y = 1300 in one possible situation, this is the left of the enemy, and the middle of the enemy will be at approximately X = 1215 and Y = 1315 in some cases.

Also, every enemy position takes two bytes.  If the X position is stored in HL, H will contain the tile from a row of 32 tiles, and L will contain the location to the nearest 1/256 of that particular tile.  If the Y position is stored in HL, H will contain the tile from a COLUMN of 32 tiles, and so on.

Collision detection in Gemini checks the X and Y position to see if the tile an enemy is on is occupied by a wall.  Register B contains the tile number out of the 32 tiles in a row, and register C contains the tile number of 32 tiles in a column.  If C * 32 + B points to a tile that is occupied by a wall, the enemy is told not to move to that direction, and a new direction is calculated.

So here's my problem.  Registers B and C will, like I said at the top, pertain to the LEFT of the sprite.  So the left side of the sprite never, ever runs into a wall.  However, the right side often does.  Considering the code below, what's a good way to fix that?

EDIT: Part of my problem is the enemy always faces toward you, no matter at what angle you are facing in the map.

Code: [Select]
objectsEnemyCalm:

; --------------------- ;
; Update enemy movement ;
; --------------------- ;

ld hl, (object)
ld de, 14
add hl, de
ld a, (hl) ;This is how many units the enemy will move in the current direction
or a
jr nz, objectsEnemyMove

dec hl
ld a, r
srl a
srl a
ld (hl), a ;Store a direction, from 1 - 32
inc hl
ld a, r
srl a
srl a
ld (hl), a ;Store how many units the enemy will move in the direction

objectsEnemyMove:

dec (hl)
dec hl
ld a, (hl)

; Get trigs
ld hl, movtbl
ld b, 0
ld c, a
add hl, bc
ld e, (hl)
ld c, 8
add hl, bc
ld d, (hl)

; Speed depends on enemy
ld hl, (object)
ld a, (hl)
and %00111111
or a
jr z, objectsHandgunSpeed
dec a
jr z, objectsShotgunSpeed
dec a
jr z, objectsChaingunSpeed

; Plasma-rifle enemy, move swiftly
jp objectsSpeedDone

objectsHandgunSpeed:
sra d
sra e
jp objectsSpeedDone

objectsShotgunSpeed:
sra d
sra e
jp objectsSpeedDone

objectsChaingunSpeed:
sra d
sra e
sra d
sra e

objectsSpeedDone:

; New X
ld bc, (objectX)

ld h, 0
ld l, d
ld a, l
and $80
jr z, objectsPosCos
dec h

objectsPosCos:

add hl, bc
ld (ox), hl

; New Y
ld bc, (objectY)

ld h, 0
ld l, e
ld a, l
and $80
jr z, objectsPosSin
dec h

objectsPosSin:

add hl, bc
ld (oy), hl

ld a, (ox + 1)
ld b, a
ld a, (oy + 1)
ld c, a
call checkLevel
or a
jr nz, objectsEnemyWalkingWall


;;;CODE IS MISSING FROM HERE.  IT JUST SAYS "YES, THERE'S NO WALL, MOVE THE ENEMY."

objectsEnemyWalkingWall:

; Enemy was walking into a wall, new direction
ld hl, (object)
ld bc, 14
add hl, bc
xor a
ld (hl), a
jp objectsEnemyLocation

;;;;CODE IS MISSING FROM HERE, IT'S IRRELEVANT CODE.


; ========================== ;
; Check cell of level (b, c) ;
; ========================== ;
checkLevel:

ld a, b
ld b, 0
sla c
sla c
sla c
sla c
rl b
sla c
rl b
ld hl, level
add hl, bc
ld b, 0
ld c, a
add hl, bc
ld a, (hl)

ret


movtbl:
.db 0, 6, 12, 17, 22, 26, 29, 31, 32, 31, 29, 26, 22, 17, 12, 6
.db 0, -6, -12, -17, -22, -26, -29, -31, -32, -31, -29, -26, -22, -17, -12, -6
.db 0, 6, 12, 17, 22, 26, 29, 31,

394
Elimination / Re: Elimination Screenshots
« on: October 24, 2011, 07:14:35 pm »
Some of level 4!  New features:

* Herm Injection!
* Better map revealing: more is revealed from exploring, and doors have a symbol different from walls
* Health Bars!  (I did my best to make some health bars higher on the screen than others to help with distinguishing them, but it's not perfect)  By the way, these health bars have been extremely helpful in distinguishing enemies from other objects.
* Armor now reduces, rather than eliminates, damage taken, except for really weak enemies.  Armor will take 1/2 of the damage rounded up, and health will take the other half rounded down.

395
Humour and Jokes / Re: Dilbert: "We could only program with 0s"
« on: October 24, 2011, 03:34:57 pm »
You know, we always talk about how NOP is a useless instruction, but actually, ld a, a etc. are the only useless instructions on the z80.  NOP DOES have its purposes

396
I understand your point Hot Dog, it's true. But some pressure is also needed. Like, if the programmer doesn't feel like adding a very major feature to the game and everybody loves it we should help him (coding, spriting, etc.) and say "That would completely change the game and make it really awesome". It may not work, and it should not be abused if the programmer really doesn't want to, but just a bit of pressure may be crucial ;)

That's also a good point.  We just don't want the programmer to feel like the game will be terrible without the requested feature.

397
Ben_G and boot2490, the small health pack now gives 10 health, and the big one gives 25 health.  Ben_G, I will adjust the arboretum level you gave me so that you don't have to correct it yourself.

398
Elimination / Re: Elimination: A New FPS
« on: October 23, 2011, 02:44:07 pm »
As a suggestion, could the rocket launcher be somehow "flattened" a bit more? IMHO it seems like it's pointing upwards in that screenshot.

Hmmm...I agree with you there.  But I honestly can't think of what to do to change it--my 3d pixel-art skills are not the best.

399
Elimination / Re: Elimination: Vote on Powerups to include
« on: October 23, 2011, 12:26:23 pm »
We have some clear winners!  It was a close call, and I can't bear to part with any one of the 5 high-voted power-ups, so I'll incorporate all five somehow.  (I think I know of an easy way to do so)

So the A190 Pressurizer, the Herm Injection, the Map, the Case of Cylinders and the Disintegration Suit will all be in the game.

I've now included a new poll:  Should the Map power-up reveal secrets?

400
I wanted to offer more advice to help Omnimaga with being a friendly community.

A person writing a game or an application for calculators is not getting paid to do so, he or she is doing it for fun.  But a person has only so many hours in the day for "fun" as opposed to "work," so only so much can go into the game.  For this reason, the programmer has to choose what to put into a game and what to remove.  In my case, I choose what will be fun to program and what will be boring to program, even if the boring part will sweeten the look and feel of the game.  (There can be a boring portion that will take only 2 hours, and a fun portion that will take 10, yet I will still choose the fun part over the boring part ;D)

But with sufficient peer pressure, the programmer will feel obliged to add a feature because "everyone wants it."  At this point, the list of what goes into the game gets larger and larger, until the programmer is either unable to finish the game or loses interest in the game.

Does this mean we shouldn't offer suggestions?  No.  Does this mean we should say that a game with numerous bugs is absolutely outstanding?  No.  What it does mean is we need to be content when a programmer says "That's a good idea, and I understand how you feel, but I don't want to do that."  If there's a really cool side-scrolling space shooter game, and the programmer doesn't feel like going through the trouble of adding triple lasers that fire in different directions, we need to understand that it's the programmer's game, and it will never get done if he feels too pressured to continue making it.

401
Elimination / Re: Elimination: A New FPS
« on: October 23, 2011, 11:21:33 am »
Um, so it doesn't fire a rocket, just an invisible explody beam?

It's supposed to represent a rocket.  The imagination can do wonders ;D 

402
Gaming Discussion / Re: New Heart of the Swarm Multiplayer Units
« on: October 23, 2011, 12:54:56 am »
Hmm now that I look again at it, they sayt eh helion transforms like the viking. Does it means it becomes an air unit? Because if that's the case, I hope the upgrade is not too early in the game, otherwise defending helion harrass as zerg will be next to impossible.

It means it the hellion transforms into something different.

The viking transforms between air and ground, so it's either one or the other.  But it doesn't cost the viking anything once the upgrade is researched.  So the hellion is either fast or slow/heavy, but it's not both at once.

And I also like the new hydra-speed thing :)

403
Elimination / Re: Elimination: A New FPS
« on: October 23, 2011, 12:44:46 am »
I haven't been lazy!  But to keep you guys entertained, here's a snippet of the rocket launcher, which I've been working on (and am still working on).  I was tempted to program rockets as objects that could move around the map, but in the end I decided to keep things simple.

By the way, the rocket launcher is probably going to be a little more unforgiving than it is in DOOM.  Meaning, you have to be pretty far away to avoid being hurt.  However, you will less likely injure yourself from a close target than you will from a closER target.

404
Elimination / Re: Elimination: Vote on Powerups to include
« on: October 22, 2011, 11:27:51 pm »
Now that would be cool. Wouldn't you go past them when you used it, though?

That's part of the problem.  Personally, though, I would enjoy simply running through them and knowing that I had knocked the stuffing out of them

405
Gaming Discussion / New Heart of the Swarm Multiplayer Units
« on: October 22, 2011, 01:04:39 pm »
http://us.battle.net/blizzcon/en/blog/3768748/StarCraft_II_Multiplayer_Panel_at_BlizzCon_2011-10_21_2011#blog

What do you think?  I like what I'm reading so far, except that I wish that the carrier would remain and just be "upgraded" to hold the changes that the new Tempest would bring. 

Pages: 1 ... 25 26 [27] 28 29 ... 194