flat assembler
Message board for the users of flat assembler.

Index > Heap > Kolibri Game Competition: Last. Do you agree?


Results: Last place, 5th. Do you agree?
No, they should've given you something
50%
 50%  [ 2 ]
I don't know and don't care about what's good for technology. Please click BACK now
0%
 0%  [ 0 ]
You got what you deserve: NOTHING! You don't deserve electricity or heat in the winter. You don't deserve to afford to continue programming. Your 6 year old son doesn't deserve shelter and heat
50%
 50%  [ 2 ]
Total Votes : 4

Author
Thread Post new topic Reply to topic
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal
Quote:
* What? Mine - Theirs

* Written in? 100% FASM. Very professional - C/C++, some ASM. Amateurish, careless
* Portable? Yes, 100% - Absolutely not
* Runs native on Windows? Yes, translation - No, emulation only
* Educational? Yes, teaches binary, spelling, etc - No
* For programmers? Yes - No, unrelated to programming
* Graphics? Fast, custom, portable - Kolibri's misaligned 24BPP graphics. Horribly documented. It appears as though there's no way to draw a 32BPP image/buffer to Window for manual graphics ("just use our graphics"). After all, 32BPP is the true VESA color depth. To reduce space, images can be stored as 1/2/4/8BPP with palette.
* Number of games? 3 unique games, much harder. From a gamer's perspective, one big game may be better than 3 smaller ones, but speaking as a developer, it's more of a challenge to make 3 different games with separate styles, art, objectives, etc, than to increase the size or complexity of one game
* Usefulness? My code, macros, language and library, is, by far, the most useful and I've proven it with endless examples (as if humans care about truth and evidence, they're not experienced enough to evaluate what's "good" code). For years to come, my examples will help, teach and inspire programmers.


SOURCE QUALITY

I understand this is a game competition, not a programming competition, but I assume the reason for having this to help and encourage others to make games? Source quality should have *something* to do with the decision. That's what determines its usefulness as an example to programmers in the future.

I understand they judge by the game... even if the source is completely illogical and useless to everyone? In that case, why would you want the source? It just gives Kolibri a bad reputation of accepting any random trash and having no quality control (junkyard like FreshLib). It'd be better to just take the game without source. Send that to the Recycle Bin where it belongs!

UNFAIR CHALLENGE

I knew it wasn't a fair challenge since the rules were designed to allow anyone to enter using anyone else's code, graphics and even take someone's entire games. It really should matter if you created the game or not/converted.

I created everything by myself, wrote every single line, language, library, all graphics, designed and created my own games for both systems, 6 originally reduced to 3, worked all month, everyday, harder than anyone else. Do I deserve last place? Nothing?

ONLY 3 PRIZES?

"But there were only 3 prizes and more contestants than we anticipated" - Ok. Then they should've modified the rules to offer prizes to 4th and 5th place like $200 and $100? "We've decided to give everyone something. No one who made a game gets nothing". $100 would've been nice. If you've got $1,750, what's an extra $300 to treat everyone right?

Thanks to the one who entered my examples. He can have the prizes I supposedly won in the Windows game competitions (unless it's money or electronics that I can sale). A lot of people in this world have money. No one else has what I have to offer. I feel like they lost... one of the best independant developers in this Universe.

Happy New Years! Smile One little Christmas tree left and it's caked with snow (mbr Smile check out Bootsy)

Quote:
Dave Navarro: You DO have what it takes to be CodeMaster


Image

Abakis excerpts. Most recent code:
Code:
function draw.bit, n, x, y
  if n
    draw.image bit1.i, x, y
  else
    draw.image bit0.i, x, y
  end
endf

function draw.byte, n, x, y
  locals i
  . i=8
  loop i, r0=n, r1=i, r1--, r0>>cl, r0&1
    draw.bit r0, x, y
    . x+BIT.W
  endl
endf

function draw.pixel, x, y, c
  alias p=r0, z=r1
  try clip.pixel x, y
  vga.xy x, y
  . z=c, (u32) *p=z
endf 1

function draw.line.h, x, y, n, c
  alias p=r0, z=r1, w=r2
  . p=&x, z=&y, w=&n
  try clip.line 0, p, z, w
  vga.xy x, y
  . z=c
  loop n, (u32) *p++=z, endl
endf 1

; draw solid rectangle

function draw.box, x, y, w, h, c
  locals i
  try visible x, y, w, h
  . i=y, i--
  loop h, i++
    draw.line.h x, i, w, c
  endl
endf 1

; draw scanline

function draw.scanline, pixels, x, y, w
  locals i
  alias p=r0, s=r1
  vga.xy x, y
  . s=pixels
  loop w, (u32) *p++=*s++, endl
endf 1

; draw 8BPP scanline/bitmap with palette

function draw.scanline.8, pixels, x, y, w
  alias p=r0, s=r1, c=r2, q=r3
  vga.xy x, y
  . s=pixels
  loop w, q=*s++, q*4, q+palette.p
    . (u32) c=*q, (u32) *p++=c
  endl
endf 1

function draw.bitmap.8, pixels, x, y, w, h
  locals i, p
  try visible x, y, w, h
  . i=y, i--, p=pixels
  loop h, i++
    draw.scanline.8 p, x, i, w
    . r0=w, p+r0
  endl
endf 1

function draw.my.numbers
  locals i, n, y
  . i=bits.h, y=404
  loop i, r0=my.numbers, r0+i, r0--
    . r0=*r0, n=r0
    draw.byte n, 4, y
    . y-BIT.H
  endl
endf

function draw.title.scene
  draw.text help.t, 16, 130
  draw.byte magic.n, 50, 300
endf

function draw.play.scene
  draw.board
  draw.my.numbers
endf

function draw.pause.scene
  draw.text pause.t, 16, 130
  draw.byte magic.n, 50, 300
endf

function draw.game.over
  print t, game.over.t, score
  draw.text t, 44, 170
  draw.byte magic.n, 50, 300
endf

; convert 32BIT binary number to text

function b2t, n, t
  alias p=r0, x=r1
  . p=t
  if n=0, *p++='0', *p=0
    return
  end
  while n, x=n, x&1, x+'0'
    . *p++=x, n>>>1
  endw, *p=0
  text.reverse t
endf

; text.copy a, b - standard copy with
; 0 after. return advanced address

function text.copy, a, b
  alias p=r0, s=r1, c=r2
  . p=a, s=b, c=1
  while c, c=*s++, *p++=c, endw, p--
endf

; text.copy.n a, b, n - copy with maximum
; size specified. return &

function text.copy.n, a, b, n
  alias p=r0, s=r1, c=r2
  . p=a, s=b
  loop n, c=*s++, *p++=c
    if c=0, break, end
  endl, p--
endf

; text.go t, n - advance to line #

function text.go, t, n
  loop n
    try t=text.find t, 0Dh
    . t+2
  endl
endf t

; text.skip.0 a - skip 0s, return address or 0

function text.skip.0, a
  alias p=r0, c=r1
  . p=a, c='0'
  while c='0', c=*p++, endw, p--
  if c=0, return 0, end
endf

; convert text to 32BIT binary

function t2b, t
  alias p=r0, c=r1, n=r2
  try text.skip.0 t
  . n=0
  loop, c=*p++
    if c=0, return n, end
    . n<<1, n-'0', n+c
  endl
endf

function draw.my.text, t, x, y
  locals p, n
  get n=text.n t
  . p=t
  loop n, r0=p, r0=*r0
    draw.my.c r0, x, y, WHITE
    . x+r0, x+4, p++
  endl
endf

function draw.my.word, t, x, y
  locals p, n, w, c, co
  get n=text.n t
  . p=t
  loop n, r0=p, r0=*r0, c=r0
    get w=get.my.cw c
    text.find used.letters, c
    if true
      . r0=x, r0+18, r1=w, r1/2, r0-r1
      draw.my.c c, r0, y, WHITE
    end
    . r0=x, r0+2, r1=y, r1+48
    draw.box r0, r1, 32, 3, WHITE
    . r0=36, x+r0, p++
  endl
endf

function on.key
  if key.event='c'
    if scene=SCENE.TITLE
      . scene=SCENE.PLAY
      go .draw
    end
    if scene=SCENE.GAME.OVER
      go .reset
    end
    if key='r'
      .reset:
      reset.game
      go .draw
    end
    if key='p'
      .pause:
      if scene=SCENE.PLAY
        . scene=SCENE.PAUSE
      else.if scene=SCENE.PAUSE
        . scene=SCENE.PLAY
      end
      go .draw
    end
    .draw:
    render
  end
endf

function randomize.puzzle
  locals q, n
  alias p=r0, x=r1
  . q=puzzle, n=(MAP.W*MAP.H)
  loop n
    get x=get.random
    . p=q, (u32) *p=x, q+4
  endl
endf

function is.solved
  locals n
  alias p=r0, x=r1
  . p=puzzle, n=(MAP.W*MAP.H)
  loop n, (u32) x=*p++
    if x<>NORMAL, return 0, end
  endl
endf 1

function draw.puzzle
  locals x, y
  . y=0
  while y<8, x=0
    while x<8
      . r0=x, r0*TILE.W, r0+MAP.X
      . r1=y, r1*TILE.H, r1+MAP.Y
      draw.piece x, y, r0, r1
      . x++
    endw
    . y++
  endw
endf

function on.mouse
  locals r
  if mouse.event='c'
    . r0=&close.i.x
    if.select r0
      exit
    end
    if scene=SCENE.TITLE
      reset.game
      . scene=SCENE.PLAY
      go .draw
    end
    if scene=SCENE.PLAY
      if.select puzzle.box
        get.select.xy
        get r=get.piece.rotate \
         select.x, select.y
        . r++
        set.piece.rotate \
         select.x, select.y, r
        go .draw
      end
    end
    if scene=SCENE.SOLVED
      reset.game
      . scene=SCENE.TITLE
      go .draw
    end
    .draw:
    render
  end
endf    
Post 03 Jan 2015, 15:17
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17010
Location: In your JS exploiting you and your system
revolution
Sorry you lost. I guess they just didn't see it the way you did.

When one wants to get someone else's money one most go by the other persons rules, else one gets no money. Sad
Post 03 Jan 2015, 16:32
View user's profile Send private message Visit poster's website Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 6032
Location: Poland
MHajduk
m3ntal
I was almost sure that you should take at least one of the offered prizes because your games are perfect from the graphic point of view. The portability is another thing that should be taken into consideration by the competition jury.

In my opinion it's strange that they didn't appreciate your coding style. Sad
Post 03 Jan 2015, 19:38
View user's profile Send private message Visit poster's website Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias
Lovely screen shot!! First place in my book, m3ntal!
Smile
Post 03 Jan 2015, 23:43
View user's profile Send private message Reply with quote
yogev_ezra



Joined: 11 Jun 2013
Posts: 8
Location: Israel
yogev_ezra
OMG, how have you come up with all those wrong conclusions????

  1. You haven't lost KolibriOS game competition simply because there was no voting made yet! Voting will take place only around 15th Jan.

  2. Our competition rules in fact FAVOR contestants that submit more than 1 game (up to 3 games are allowed), since each game gives you one contest entry. We got 11 games submitted to the contest so far (1 later withdrawn), so you have 3 chances out of 10 to win a prize, rather than other competitors that only get 1 chance out of 10.

  3. You wrote that "the rules were designed to allow anyone to enter using anyone else's code, graphics and even take someone's entire games. It really should matter if you created the game or not/converted." This is NOT TRUE! We only allowed taking anyone's else graphics (and ONLY if it's licensed under free license) - we never allowed taking anyone's else code. What we did allow is porting your own game from another OS to KolibriOS.

  4. KolibriOS DOES have native drawing for 32bpp - please check SysFunc 65 and 73: http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fkernel%2Ftrunk%2Fdocs%2Fsysfuncs.txt

  5. To our competition, you submitted both Windows and KolibriOS versions of your games. We have no use of Windows versions (and we never asked for them). So we cannot count your work as 6 games - but only as 3 games.

  6. But coincidentally, another Russian website (totally unrelated to KolibriOS) has just started their own puzzle/logic game contest at the same time: http://igdc.ru/igdc_top.php?konkurs=117
    They do not award money prizes - only Steam games keys. But I have told you - since you created Windows versions anyway, and we didn't ask for them, I can submit your Windows games on your behalf to that other site, in hope that you win at least a Steam game with them. You got 5th place out of 7 there, and you can get 1 Steam game of your choice that costs "2 gold coins" from this list: http://igdc.ru/gifts/
    Again, this is IN ADDITION to KolibriOS competition which has no voting done yet!

  7. Your KolibriOS versions of the games only work in 1024x768 resolution - this is a big minus when voting will be cast, and I have written this to you, but you ignored what I said! Maybe haven't ignored - you wrote that you have no internet at home, so you cannot read the forums all the time... but you cannot blame us for that!

  8. Your FASM code DOES look professional to me so in fact I wanted to offer to HIRE YOU to write FASM code for KolibriOS as a job (since I understood you are unemployed? - if you have no money to pay for the internet?) - but you replied "Not interested. No thanks. Sorry, you lost the best." - so why do you complain?

  9. The only concern I had is who wrote ABAKIS macro library - was it you or someone else - and that's ONLY because you submitted the games under DIFFERENT username (codestar and not m3ntal). Yes, it's logical to question the origin when I think that you are 2 separate persons! Why have you done that? To confuse us?
Post 04 Jan 2015, 23:51
View user's profile Send private message Visit poster's website Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 6032
Location: Poland
MHajduk
yogev_ezra

Thank you for this "plot twist" that gives us all hope that m3ntal aka codestar aka codemaster will leave some kind of the "twilight zone" at last. It's truly depressing to know that such kind of programmer has been unemployed so far.

Smile
Post 05 Jan 2015, 09:11
View user's profile Send private message Visit poster's website Reply with quote
Wildwest



Joined: 13 Sep 2004
Posts: 100
Location: Russia
Wildwest
Quote:
You haven't lost KolibriOS game competition simply because there was no voting made yet! Voting will take place only around 15th Jan.
So, he have to wait 10 days for results.
Post 05 Jan 2015, 12:32
View user's profile Send private message Reply with quote
yogev_ezra



Joined: 11 Jun 2013
Posts: 8
Location: Israel
yogev_ezra
Wildwest wrote:
Quote:
You haven't lost KolibriOS game competition simply because there was no voting made yet! Voting will take place only around 15th Jan.
So, he have to wait 10 days for results.
Yes, 10 more days from now.
Post 05 Jan 2015, 12:37
View user's profile Send private message Visit poster's website Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal
"What did I gain from this experience that's not money?"

* True OS portability just by changing one line in A.INC: define cpu intel windows ; < replace with kolibri
* Idea: I-Touch OS. Native Play Store/Market. An opportunity for ASM programmers to make $
* Abakis improvements, clearer and tighter
* For Abakis, minimal graphics and font
* Image/BMP injectors, loaders at assembly time (IMAGE.INC)
* Abakis now assembles with latest UN-edited version of FASM. I've discovered that if you always use UPPERCASE for directives - IF/ELSE/END/WHILE/X - then you can re-define the lowercase if/else/end/while/x for runtime. I had to think of a way to do this for FASM on Kolibri which is the Intel FASM with Kolibri system
* Motivation to create a portable internet browser

"What's the difference between Abakis and other macro languages you've introduced? Z/77 and Magic-ARM?"

* Abakis: Language: Strongest. Pointer arithmetic, multi-statements, custom loops. Library: Small/medium. Stability: Good, used to make 3 games and examples. Portable? About 97% CPU portable with only a few lines in the entire library that are Intel specific: r0>>cl | push a b | pop b a. push/pop order would be same a-b for both on ARM and M68k

* Magic-ARM Compiler: Language: Strong. Pointer arithmetic and mini expressions. Abakis is more compact. Library: Small. Stability: Unknown, used to make 12+ examples. Portable? No, but it's a general syntax that's convertable to/from C. Not easy to translate to I32.

* Z/77: Language: Minimal. Library: Biggest by far. Stability: Best, used to make 100s of programs. Example: ARM Visual Disassembler. Abakis will eventually replace this old language. Portable? No, not much

"What type of programming was I doing before the Kolibri competition?"

* ARM GPS, Mio 200
* Abakis for ARM. Eventually, for Motorola 68K, MIPS and PowerPC
* Native Virtual Machine, Translator. For systems programming
* Universal Assembler module (UASM.INC). Allows one/any language to be used for all CPUs. Users can select the language, CPU and OS. Abakis will be the default language with optional Sexy.INC names (ThisStyle) and there will be macro versions of the popular languages - C/C++, Pascal and BASIC. One file each. Example: BASIC.INC. For Java/CIL, the language would be a slight variation of Abakis without pointers and interrupts.

"Would I consider working for Kolibri as a paid developer?"

Yes, but only as an independant developer who designs and creates my own software. Every week, I can present new designs for programs. If they are interested, I can create for Windows then convert to Kolibri. Uploaded more ideas to Projects forum today.

Initially, I was a little upset but just need time to recuperate. Not upset at Kolibri, its moderators or anyone else, just upset that I invested a month of time for seemingly "nothing" (of money value).

"Can I create a web browser for Kolibri?"

Yes, if I had internet service, a little time and money. A "browser" is just a document viewer that downloads a source file from the internet. It can use any simple script, it doesn't have to support HTML/CSS/JS/X+. Start with just this:

Code:
[;] Example internet script:
http://www.user.com/my.page[/;]

[title='My Site']
[t]Welcome to my site[/t]
[image='my.gif']    


Kolibri only has the ability to download a file so this idea is a big upgrade.

PS: On phone, can't really view/reply. No internet service at home. I create documents on my PC, transfer to phone, walk outside with my Android phone (HD Razr Maxx) to access WIFI then send. Next time I go outside to walk the dog, I'll check this message.
Post 06 Jan 2015, 03:25
View user's profile Send private message Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal
yogev_ezra. Good news! Ok, Ill update the games to support any OS screen size, allocate a "vga/memory buffer" then copy it using that function after waiting for vertice retrace. This should eliminate flickering. Outside with my phone in the freezing cold, 13 degrees.

MHajduk and tom. Thanks.
Post 06 Jan 2015, 04:35
View user's profile Send private message Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal
yogev_ezra: Sorry about that. Finished. Here are the updated Kolibri-only games. Detects resolution. No flickering.

Updated Abakis main download It's been about a month. See /INCLUDE/ and EXAMPLES > APPLICATION.ASM. FASM Mobile IDE:
Image
Post 07 Jan 2015, 19:54
View user's profile Send private message Reply with quote
yogev_ezra



Joined: 11 Jun 2013
Posts: 8
Location: Israel
yogev_ezra
m3ntal wrote:
yogev_ezra: Sorry about that. Finished. Here are the updated Kolibri-only games. Detects resolution. No flickering.

Updated Abakis main download It's been about a month. See /INCLUDE/ and EXAMPLES > APPLICATION.ASM. FASM Mobile IDE:
Thank you for that - I have downloaded the archive with updated games. I don't have time to check them now, but I promise to do so on weekend. But I hope you understand that voting will happen based on game versions that were submitted till 31 December 2014 (this is for all contestants - not just you).
Post 07 Jan 2015, 20:13
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.