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 - Omerta7486

Pages: [1] 2 3
1
Programs / Omertris: Invasion-Ugly source included
« on: September 29, 2018, 07:50:14 pm »
Hello, everyone.

It's been a little while since my first reveal of Omertris. It's still not quite done, but I thought that an update to show it's direction would be a good idea. As some of you may know, I have had two surgeries to remove a what turned out to be a 10mm by 6mm kidney stone, and I have one more surgery on the 3rd, so progress got a little slow for a while. Well, I've finally felt up to working on Omertris some more, so here it goes. I included the source for those interested.

INSTRUCTIONS
All keys are remappable and work with a keyboard or a controller, both X Input and D input!
Default keys:
Left-Left Arrow
Right-Right Arrow
Soft Drop-Down Arrow; Drops the piece faster than normal.
Hard Drop-Up Arrow; Drops the piece instantly
Rotate Clockwise-X
Rotate Counter-Z
Pause-Enter
Select-Right Shift; On pause screen, exits to main menu. With a Tetrimorph, it allows you to flip the piece horizontally.

GAME MODES
Arcade-Incomplete! Fun to play, though. Every eighth piece is a Tetrimorph.

Classic-Classic game, 10 lines per level, infinite play.

Marathon-Increasing line goal, 10 levels to win.

Garbage Clear-Variable garbage height, clear all garbage to win.

Invasion-Only Tetrimorphs!!! Complete 5 lines to win. This is an insane game mode!

IMPORTANT INFO
+When you win, it will still just say game over and take you to the main menu. High scores are not implemented, yet.
+As I said, Arcade is far from complete. It does still work, but only at slowest speed, and only ends when you use the pause-exit.
+Tetrimorphs can be flipped horizontally by pressing select. Neat variation on standard play.
+Wall-Kicks and T-Spins are fully functional. So, if you know how to do those like I do, it makes the game much easier.
+My source code is currently, horribly inefficient(I know some prime spots to optimize, like my hacked together menu code). As I am a game designer, not a coder, these things take back seat, unless they make my game run slowly. I also didn't comment very well. I shall fix both with the final release.

Anyway, there are things I am proud of, and things I am not. I don't care. With the game as it is, I am currently very proud. And, I will continue until it's finished.

THINGS LEFT TO DO
Logos for game, and game modes.
Icon for executable.
Readme help file.
Arcade tutorial animations.
Arcade level intermission screens.
Screen transition animations.
Score screen.
File output to save scores and key configs.
Logo splash screen, and all copyright info.
Full music score.
Cleaning up my source code.
Release to the world!!!

Thank you for giving my game a shot.

2
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 22, 2018, 01:56:11 am »
Sorry. The png file screwed up for some reason.

3
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 22, 2018, 01:50:12 am »
Hey, Fillippe. Does the logo I mocked up look good? I already resource hacked a beta of it into my copy of QB64 and it looks pretty darn sweet. There it is in action in the pic below. I really do hope you like it.

4
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 21, 2018, 05:39:27 pm »
These were some buttons from a map editor I made a few months back. I could throw together some good stuff for us, if anyone needs it.

I would rather like to help any way I could, as I do support updating the IDE.

5
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 21, 2018, 05:36:55 pm »
One thing to make the IDE look a whole lot better would be a better logo. Logos with words or letters on them are very bland, so I took the liberty of coming up with a design last night, and mocked it up today. I have too much time on my hands now that I'm recovering from surgery! Lol Tell me what you think. It's kind of based on the old [abandoned, outdated and now likely malicious qb64 dot net website - don’t go there] logo. Also, I watermarked it so that no internet thieves could swing by and steal it! Lol

[EDIT] BTW, I could do a lot more graphics if we wanted a graphical interface.

6
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 20, 2018, 11:46:22 am »
I’m not arguing against the IDE changes, but there are many more issues to resolve than just that. Better, more complete, documentation for one. More complete F1 command help. Maybe, when you mouse over commands it could pop up sample syntax to give you a quick look at the command. For example, you type the command mid$(), then mouse over it and get the suggested syntax pop up:
Quote
mid$(str$, start byte, bytes)

Documentation that reveals the basic syntax goes a long way with BASIC dialects to make it even more accessible to beginners and professionals alike. I mean, we don’t have trouble with BASIC’s syntax, obviously, but that would speed up the process even for us. We’ve all been here:

“Ok. I just need to get the middle of that string, and... Oh, wait. What’s the syntax for mid$, again? Wiki break!”

7
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 19, 2018, 07:51:01 pm »
I agree with Steve. If you needed a fast car, which would you buy? A) A 2018 Bugatti Chiron that someone managed to slap a 200HP V4 Honda engine in. B) A beat up, rusty but fully working 1976 Ford Mustang II hatchback that someone hooked up to a 1,500HP 16 cylinder supercharger. I know these scenarios are wildly improbable, but it mirrors this situation perfectly.

For instance, I've known programmers who almost only use Notepad++ to code in C++. I've personally used Notepad++ for CSS and HTML pretty extensively. I think rather than focusing on what QB64 could do, or how it could look, we need to show as a community what it can do. Instead of just sharing stuff around the forum, our best work needs to hit the rest of the internet. I, for one, plan to release Omertris into the wilds of the web once I finish it. It's playable, it's clean, and everyone that's played the current version agrees that it's darn fun, and that's what matters.

QB64 is a pretty simple to pick up language, and while it's not too hot with 3D, it's great for small 2D apps. Card games, dice games, platformers, puzzlers, shoot 'em ups, RPGs. The IDE is good enough, as in it's not the BEST per se, but it doesn't hinder us all that much. What does hinder us some, however, is it's weak support for com ports and DLLs, somewhat broken bit level commands and Boolean variables, okay user defined types, and barely passable access to control over keyboards, mice, and devices(face it, we often have to jury rig complex control schemes).

If we could fix the com ports and DLLs, then the language could drastically grow with the user. Those that learn C could then help expand the community by providing more growth in the language. That's one thing I liked about DarkBASIC(RIP). There were a multitude of DLLs, and once the user got comfortable with the native command set, they could then download community created command sets to craft the language into what they needed.

8
QB64 Discussion / Re: Graphical IDE. Should we all pitch in and make one?
« on: September 19, 2018, 12:12:07 pm »
I personally think the IDE is fine for what this language does. It's mainly about the capabilities of the language that make it easier or harder to use. Would you rather have that flashy, new button on the IDE, or the ability to drop images into the pipeline BETWEEN refreshes? Would you rather have that sweet include manager, or better keyboard/mouse/controller/joystick support?

My personal wish list includes:
Stronger UDT support
Better function for bit level control
Better multi-assignment(it exists, but it's weak) e.g. a=b=4 where a=4 and b=4
Gyotdang += and -= operators, and ++/--(Which would give rise to the need for the == operator... I know, right?)

I feel like, personally for me, with those things and QB64's ability to pull in DLLs, this language could be a lot stronger but keep it's BASIC syntax.

9
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 19, 2018, 01:18:52 am »
Quote from: bplus
Or maybe someone can start a 30 lines or less challenge without the IF condition, so all of us can compete under same rules.

We all can compete under the same rules. No conditionals. Lol. It wouldn't be much of a challenge otherwise.

10
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 18, 2018, 11:46:24 pm »
Yep. It's amazing what you can stuff into 30 lines when you put your mind to it, right?

11
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 18, 2018, 10:22:09 pm »
Hey, Terry. That's a pretty neat little game there. I think you're the only one that got fancy with sounds and graphics! Although, not the only one that used conditionals apparently. XD But, still probably the most addictive game here(Must be the colors and the sounds. Haha).

Hey, B+, I imagine with Digit Thief that he has me blindfolded and he's pinning my hand to a table, and making me guess which finger he'll take next. Kind of dark and sadistic! Lol. Oh, yeah, and we're in the seedy underbelly of a Hong Kong restaurant backroom. XD

Hey, Pete. Neat game, it took me a second to figure out the next card was the card that was higher or lower than the last. But, I like it. I've always liked high or low, because it's simple, clean, and with few rules.

Anyway, here's an updated smoother version of my game. Better explanation, and now you can see your score AND how many turns it took you as well!

Code: QB64: [Select]
  1. 2 FOR a% = 0 TO 20000
  2.    3 FOR die%% = 1 TO 6
  3.        4 keep(die%%) = 0
  4.        5 tally(die%%) = 0
  5.        6 dice(die%%) = INT(RND * 6 + 1)
  6.    7 NEXT
  7.    8 kept%% = 0
  8.    9 FOR hand%% = 0 TO 6
  9.        10 FOR hold%% = 0 TO 2
  10.            11 this%% = kept%%
  11.            12 FOR die%% = kept%% + 1 TO 6
  12.                13 PRINT "Welcome to DICE!"; CHR$(13); CHR$(13); "Choose your dice carefully, as after you have made all of your decisions, the game rerolls the dice you did not keep. You MUST keep at least 1 die each hand, and once you have kept 6 dice, you will receive your score for that round."; CHR$(13); CHR$(13); "Your goal is to reach 20000pts! Have Fun!"; CHR$(13); CHR$(13); CHR$(13); "SCORE HELP"; CHR$(13); "----------"; CHR$(13); "1=100  2=0  3=0  4=0  5=50  6=0"; CHR$(13); "Triple 1's=1000 Triple 4's=400"; CHR$(13); "Triple 2's=200  Triple 5's=500"; CHR$(13); "Triple 3's=300  Triple 6's=600"; CHR$(13); "A straight of 1-6=2000"; STRING$(4, 13); "Current score is:"; score%; "/ 20000"; CHR$(13); "Dice rolled in this hand:       "; dice(1); dice(2); dice(3); dice(4); dice(5); dice(6); CHR$(13); "Dice you have kept this round:  "; keep(1); keep(2); keep(3); keep(4); keep(5); keep(6); CHR$(13); CHR$(13); "Keep die"; RTRIM$(STR$(die%%)); "? [It's a"; RTRIM$(STR$(dice(die%%))); "] (1=y 0=n)";
  13.                14 INPUT "", in~%%
  14.                15 keep(kept%% + 1) = _CEIL(in~%% / 255) * dice(die%%)
  15.                16 kept%% = kept%% + _CEIL(in~%% / 255)
  16.                17 tally(keep(kept%%)) = tally(keep(kept%%)) + _CEIL(in~%% / 255)
  17.            18 NEXT
  18.            19 hold%% = 2 * (kept%% - this%%)
  19.        20 NEXT
  20.        21 FOR die%% = 1 TO 6
  21.            22 dice(die%%) = (ABS(keep(die%%) <> 0) * 0) + (ABS(keep(die%%) = 0) * INT(RND * 6 + 1))
  22.        23 NEXT
  23.        24 hand%% = kept%%
  24.    25 NEXT
  25.    26 score% = score% + (tally(1) * 100) + (INT(tally(1) / 3) * 700) + (INT(tally(2) / 3) * 200) + (INT(tally(3) / 3) * 300) + (INT(tally(4) / 3) * 400) + (tally(5) * 50) + (INT(tally(5) / 3) * 350) + (INT(tally(6) / 3) * 600) + (INT(ABS((tally(1) = 1) + (tally(2) = 1) + (tally(3) = 1) + (tally(4) = 1) + (tally(5) = 1) + (tally(6) = 1)) / 6) * 1850)
  26.    27 turn% = turn% + 1
  27.    28 a% = score%
  28. 29 NEXT
  29. 30 PRINT STRING$(22, 13); "Congratulations! You beat 20000pts! You scored"; score%; "in"; turn%; "turns!"

12
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 18, 2018, 09:13:13 pm »
Ahh... I knew I was forgetting to explain some things. That was my bad. It should explain it better now in the above code.

In case it doesn't(Oh, I broke the challenge rules and used a CASE XD), here is a breakdown of DICE.

You roll a hand of 6 dice.

You get 6 6 4 1 1 5

You decide to take 1 1 5 and keep them.

You now have 1 1 5, and you reroll the 6 6 4 and get 1 3 2.

You decide to take the 1.

You now have 1 1 5 1, and you reroll the 3 2 and get 5 5.

You decide to take both fives.

You end this round with 1 1 5 1 5 5 and earn 1500pts. 1000 for the triple 1's and 500 for the triple 5's.

That ends that round, and then the game rerolls all 6 dice for the next round.

You roll 6 3 1 2 4 5.

You decide to keep all six dice, because you have a straight 1-2-3-4-5-6.

You end the round with 6 3 1 2 4 5 and earn 2000pts. for the straight. You now have a score of 3500pts.

You ALWAYS have to keep at least one(1) die, whether it scores points or not, and you can keep between 1-6 dice from each hand.

13
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 18, 2018, 07:25:16 pm »
Here is my entry. Started it last night. Finished it about an 30mins ago, then played it a little.
It's a simple dice game. No IFs, WHILEs, DOs, SELECTs, and all logic is math based. Please tell me if the instructions are clear enough. It's quite a complex little game for 30 lines! Which made it kind of hard to sum up. Lol.
Code: QB64: [Select]
  1. 2 FOR a% = 0 TO 20000
  2.    3 FOR die%% = 1 TO 6
  3.        4 keep(die%%) = 0
  4.        5 tally(die%%) = 0
  5.        6 dice(die%%) = INT(RND * 6 + 1)
  6.    7 NEXT
  7.    8 kept%% = 0
  8.    9 FOR hand%% = 0 TO 6
  9.        10 FOR hold%% = 0 TO 2
  10.            11 this%% = kept%%
  11.            12 FOR die%% = kept%% + 1 TO 6
  12.                 PRINT "Welcome to DICE!"; CHR$(13); CHR$(13); "Choose your selections carefully, as after you have made decisions on all dice,"; "the game rerolls. You MUST keep at least 1 die each roll, and once you have kept"; "6 dice, you will receive your score for the round."; CHR$(13); "REMEMBER: When you do not keep a die, it is rerolled."; CHR$(13); CHR$(13); "Your goal is to reach 20000pts! Have Fun!"; CHR$(13); CHR$(13); "SCORE HELP"; CHR$(13); "----------"; CHR$(13); "1=100  2=0  3=0  4=0  5=50  6=0"; CHR$(13); "Triple 1's=1000 Triple 4's=400"; CHR$(13); "Triple 2's=200  Triple 5's=500"; CHR$(13); "Triple 3's=300  Triple 6's=600"; CHR$(13); "A straight of 1-6=2000"; STRING$(4, 13); "Current score is:"; score%; "/ 20000"; CHR$(13); "Dice rolled in this hand:       "; dice(1); dice(2); dice(3); dice(4); dice(5); dice(6); CHR$(13); "Dice you have kept this round:  "; keep(1); keep(2); keep(3); keep(4); keep(5); keep(6); CHR$(13); CHR$(13); "Keep die"; RTRIM$(STR$(die%%)); "? [It's a"; RTRIM$(STR$(dice(die%%))); "] (1=y 0=n)";
  13.                14 INPUT "", in
  14.                15 keep(kept%% + 1) = in * dice(die%%)
  15.                16 kept%% = kept%% + in
  16.                17 tally(keep(kept%%)) = tally(keep(kept%%)) + in
  17.            18 NEXT
  18.            19 hold%% = 2 * (kept%% - this%%)
  19.        20 NEXT
  20.        21 FOR die%% = 1 TO 6
  21.            22 dice(die%%) = (ABS(keep(die%%) <> 0) * 0) + (ABS(keep(die%%) = 0) * INT(RND * 6 + 1))
  22.        23 NEXT
  23.        24 hand%% = kept%%
  24.    25 NEXT
  25.     score% = score% + (tally(1) * 100) + (INT(tally(1) / 3) * 700) + (INT(tally(2) / 3) * 200) + (INT(tally(3) / 3) * 300) + (INT(tally(4) / 3) * 400) + (tally(5) * 50) + (INT(tally(5) / 3) * 350) + (INT(tally(6) / 3) * 600) + (INT(ABS((tally(1) = 1) + (tally(2) = 1) + (tally(3) = 1) + (tally(4) = 1) + (tally(5) = 1) + (tally(6) = 1)) / 6) * 2000)
  26.    27 a% = score%
  27.    28 CLS
  28. 29 NEXT
  29. 30 PRINT "Congratulations! You beat 20000pts! Your score was:"; score%

[EDIT]Fixed code in code box.

14
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 17, 2018, 01:35:23 pm »
Dang, I didn't read on to page two... B+ beat me by two posts making me both the later AND worst fix... Foot in mouth. Lol.

15
QB64 Discussion / Re: 30 Line Game Challenge
« on: September 17, 2018, 01:12:55 pm »
I don't know why the math is acting the way it is, but as a game designer, I follow the "first fix wins now, best fix wins later" principle.

Putting INT() around the final guess at least undoes the whole .5 thing and makes the guess correct:
Code: QB64: [Select]
  1.    23 PRINT "Your number is "; INT(guess)

You're right, Steve, how does binary math produce decimals? Without division, there should be no .5's in there. Do we actually have an instance of binary math producing fractional numbers?

Quote from: American Dad
You know what that'll do to society? Girls playing with trucks. Boys playing with dolls. Horses eating each other. Yes, horses eating each other! It's in the Bible, Fracine!

I tried to DIM guess as _byte, and it would guess 22 for 21, 6 for 5, 2 for 1. I tried to DIM guess, a, i, j as _byte, it brought back the .5's! I'm going to look more into this.

Pages: [1] 2 3