News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

my 100% Assembly game development

Started by LordAdef, May 01, 2017, 03:22:26 PM

Previous topic - Next topic

Siekmanski

Creative coders use backward thinking techniques as a strategy.

jj2007

Perfect :t

Now the next step, collision detection: Keep track of all the bullets that you are firing ;)

jiucenglou


LordAdef

Quote from: jiucenglou on July 15, 2017, 11:31:34 PM
Excellent !! Hats off to you ! :t

Thanks!

I'm back and soon resuming the development!

anunitu

glad to kear you are on the game still.

LordAdef

I´m glad too!

I didn´t realised how much I was missing masm!

So, slowly coming back. Glad I could easily find myself around the code without much effort, which is a good sign.

New version attached. Collision detection: Now bullets kill you, and crashing onto enemies kill you too (though the code needs some polishing).
... But it still cannot kill anyone though... => next step

Alex

HSE

Equations in Assembly: SmplMath


LordAdef

version v8.141

Family away, weekend only for Masm!!!

A new version. Finally something to shoot and kill, and with explosions already in place and working. It´s actually happening quite nicely. You also now earn points for killing the flying bastards.

For testing purposes I disabled most of the collision detection codes. So you may try and have some fun shooting the moving things only (the others are still due to be coded, they belong to a different class)

JJ, would you give me a quick friendly help?
I do know I have something wrong (that´s why the first flying guy from the left looks drunk  :dazzled:)
There is a warning when I build it. It´s assuming something is a Byte. I cannot see what it is... Built with Richmasm, of course.

I´m getting there!
I hope it works for you guys

jj2007

Quote from: LordAdef on December 18, 2017, 01:55:36 PMThere is a warning when I build it. It´s assuming something is a Byte. I cannot see what it is... Built with Richmasm, of course.

      mov man.bullets[eax].????, FALSE   ; Which element of the structure???
      mov gm.badguys[esi].active, FALSE   ; This tells the assembler which element you mean

Btw: Impressive, this is getting professional :t

P.S.: I see you make good use of the bookmarks feature. Which is the last one you see? For me, it's ------- SHOW EXPLOSIONS -----
There is a limited number, of course. To see the lower ones again, hold Ctrl and click on upper bookmarks that you don't need any more.

felipe

Quote from: LordAdef on December 12, 2017, 06:07:02 AM

New version attached. Collision detection: Now bullets kill you, and crashing onto enemies kill you too...


This version crashed, in an espectacular way, in my system (The whole system collapsed by a moment).  :biggrin:
Maybe because i was using youtube too and listening music? Maybe too little RAM in the pc for it?  :redface:
It happened after a little time i started to play.  :icon_exclaim:

But looks nice!  :icon14: I guess it will be good to a big game like this to include some basic setting's detection in the pc of the players to see if they can play (requirements to play) and also to adjust the window to the screen. I actually use a netbook and the window don't fit too well in the screen.
Thanks for sharing some code  :t, i will check it and i will try the new version that you attached too.  :icon14:

felipe

I found this macro in one include file (stuff.inc) of the version 814:


RGB macro red,green,blue
           xor eax,eax
           shl eax,8
           mov ah,green
           mov al,red
endm


Check that, is not well defined (only a suggestion btw  :icon_mrgreen:).

:icon14:

felipe

From the same file (stuff.inc):


mUnroll9lines MACRO
; 9 lines combo
      invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
invoke TextOut, hBufferDC, 0, ebx, [map.mapLinePtr + edi * 4], cWIDTH       ; prints to buffer   <== find a register
      add ebx, 10
      add edi, 1
endm


Unless you want to use the CF it would be better to use INC edi (just a suggestion).   :icon14:
Btw if you don't want more suggestion from me i can shut up with no problem.  :greensml:

LordAdef

Hey JJ, THANKS!!

Quotemov man.bullets[eax].????, FALSE   ; Which element of the structure???
      mov gm.badguys[esi].active, FALSE   ; This tells the assembler which element you mean

How did you find it, Olly? It´s amazing it even built! Yep, missing the "active" element

QuoteBtw: Impressive, this is getting professional :t
I´m flattered! Cheers

QuoteP.S.: I see you make good use of the bookmarks feature. Which is the last one you see? For me, it's ------- SHOW EXPLOSIONS -----
There is a limited number, of course. To see the lower ones again, hold Ctrl and click on upper bookmarks that you don't need any more.

I heavily rely on Bookmarks!!! It´s a great feature and I already use the Ctrl-Click. -- SHOW EXPLOSIONS ----- was indeed my latest one
You should make it infinite! :badgrin: :badgrin:

LordAdef

Hi Felipe,

QuoteThis version crashed, in an espectacular way, in my system (The whole system collapsed by a moment).  :biggrin:
Maybe because i was using youtube too and listening music? Maybe too little RAM in the pc for it?  :redface:
It happened after a little time i started to play.  :icon_exclaim:

Would please tell your specs? The program is CPU intensive but not memory intensive.
Funny, It should run without any issue. Would you try it without the youtube + music playing and see if it holds?

QuoteBut looks nice!  :icon14: I guess it will be good to a big game like this to include some basic setting's detection in the pc of the players to see if they can play (requirements to play) and also to adjust the window to the screen. I actually use a netbook and the window don't fit too well in the screen.
Thanks for sharing some code  :t, i will check it and i will try the new version that you attached too.  :icon14:

Thanks, I´ll make a note of your suggestions. I´m not familiar if netbooks at all. What´s your screen resolution?