TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 2 of 2 FirstFirst 12
Results 26 to 32 of 32

Thread: CrossTrix - Upcoming Steam Release

  1. #26
    Yeah, finishing things is hard. For software in general I've always liked the 90/90 rule -- once you're 90% done, all that's left is the other 90%. It can be a real slog.

  2. #27
    Registered: Mar 2001
    Location: Melbourne, Australia
    Yeah. You'll always look at it and find extra things to do.

    What I do is a keep a todo list text file, and use that as my base to work from. Separated into essential, non essential and bugs. When that list is looking close to done, then I do a release generally.

  3. #28
    Registered: Mar 2001
    Location: Melbourne, Australia
    To give an idea of what the list was like for this game. Here's the contents of the todo list:

    Essential Features Needed

    - Art done for both states for each letter + the tiles which aren't used
    - Display art for the GUI
    - Display art for level tiles
    * Gameplay code
    - Placement of letter tiles in level editor (Done)
    - Placement of letter tiles in game (Done)
    - Placement of current players letters
    - Reveal next letter
    - Ability to re-roll a newly revealed letter
    - Show player scores
    - Apply score when letters are revealed
    - Reveal letters after letter revealed (maybe only highlight them until the player has decided to stick with the letter)
    - End turn function which becomes available once all letters are revealed
    - Switch to player 2 when ending player 1's turn
    - Convert game over to SDL2
    - Show particle effect around the yellow score tiles as they appear
    - Sounds
    - Absorbing opponent letter(s) (versus mode)
    - Completed word(s)
    - No letters on board matching revealed letter (ba bow)
    - Reveal letter
    - Re-Roll letter
    - Sound for when the yellow score tiles appear
    - Win condition sound
    * Check for completed words and show this to the GUI on the side
    - Check for win condition / Loss
    - Basic keyboard controls
    - Have a boolean for when a game is in progress. If player goes back to menu screen, show a "Continue Game" button when a game
    is in progress to return back to the current game in progress.
    - Menu System
    - Start game
    - Pick game mode
    - Options screen
    - Select difficulty mode (limit the FSM tactics that the AI opponent uses, based on this)
    * Save settings on close of game, and reload settings on next run
    - Exit game

    Non Essential But Be Nice To Have

    - Computer opponent
    - Reveal next letter ability
    - Know when to re-roll - Possibly some wonky behavior on a second game.
    - Know when to end turn
    - Computer opponent for strat mode
    - Computer opponent for versus mode
    AI Priority line checking:
    - Place randomly for 3 turns
    - Check for completion of a word
    - Check for absorb move
    - Place randomly, if no spots free and re-rolls are remaining then re-roll
    Otherwise skip turn.
    - Gameplay modes:
    - Score attack mode
    - Strat mode
    - Versus mode - 2 players play off the 1 crossword. Each takes turns to reveal letters but can only pick 3 spots on the board
    per letter to place. If they happen to place to the left and right of placed letters by the other player then
    they absorb those letters into their own. Whoever ends on the highest score wins.
    - Have player 1 and player 2 letters scored on the same map
    - Only allow placement of letters where the other player doesn't already have scored letters.
    - Absorb pieces.
    - Switch of player after placing letter(s) / skipping turn
    - Win condition
    - Level mockups
    - Levels - 50 levels - Done
    - Music
    - Make or get someone else to make 4-6 long music tracks. Done
    - Create random play list to play music tracks.
    - Sound effects
    - Mouse controls
    - Extra graphical effects
    - Have a theater type curtain covering each letter to be revealed. On revealing have the curtain go up to reveal the letter.
    - Have the temporary letter alpha changing of score attack mode, in the other 2 modes. This should be do-able via converting
    versus and strategy modes to use the same display code as score attack. Wait till alpha reaches 255, then switch to displaying
    the buttons. Also only allow use of buttons when this has come to pass.
    - Show all score related text with zeros at the front. Done this way it will ensure that the score always takes up a set width.
    To do this, just set the score as a string with the required amount of zeros added to the front.
    - Change mouse cursor color to match the current player. Maybe change player name text to match this also.
    - Flash completed words twice
    - Rather than having the "ready player" popup. Have a "Ready Player 1" come across the screen. Have it wait 3 seconds then disapear
    and switch to the next player etc.
    - For the versus mode, count down 3,2,1 then end turn if there is no possible moves, to speed up gameplay. Need to display
    count down.
    - Use the much better looking sliding transparent look for final score display for player 1 on ending turn.
    Need updated screens for:
    - Player turn completion where score is displayed
    - Game finishing
    - Add some extra graphical stuff to the main menu to improve the look of it.
    * Online matches - Don't know how in the hell to even code this. But after version 1.0 of the game, be interesting to try and implement
    this. Or even just local area network multiplayer.
    - Joystick support - Should be easy enough to add in, considering I've had this in past games.

    Needs Fixing / Implementing

    * Currently the only way to get the scored letter textures to work right is to keep loading them on the fly which is not ideal.
    Need to change the vectors over to using pointers. Will need to make changes to the image loading stuff to rectify this.
    - Need to change horizontal and vertical completed word checks to make sure that there is atleast 1 scored (non completed) tile
    in a word before classing it as a temporary completed word tile.
    - Need to test the following modes after the recent end turn changes:
    - 2 player versus
    - 1 player versus
    - 2 player strat mode
    - 1 player strat mode
    - 2 player score attack
    - 1 player score attack
    - Switching from fullscreen to windowed mode, very often causes crashes. Root out the cause of this and fix it. Or only do full screen
    switching from the menu screen once that's implemented.
    - Need to clear score tiles on starting a new game. Otherwise they stay on screen for the first turn.
    - On recording gameplay video, in versus mode when player 1 finished their turn, the end total screen popped up twice. Need to locate the
    source and fix this. endTurnCountDown = false; // Stop count down for ending turn

    * Not done / Unfinished
    - Implemented / Fixed

    As you see, the majority got done. Some I didn't attempt as would have taken too long to implement (eg the online matches stuff). Showing of the amount of completed words got ditched as there'd have been nowhere on screen to put it, without majorly cluttering everything up.
    Last edited by icemann; 28th Dec 2018 at 21:37.

  4. #29
    Registered: Mar 2001
    Location: Melbourne, Australia
    And just noting that CrossTrix is now up for sale .

  5. #30
    Level 10,000 achieved
    Registered: Mar 2001
    Location: Finland
    Alrighty, I bought and played it.

    I'd agree with you that Versus mode is where the real fun is. Although I'd say Versus mode is where the only fun is. Score Attack and Strategy modes pretty much just play themselves as you watch and hope the RNG comes down in your favor. I'm not sure why these modes are included, much less listed before the Versus mode? I can imagine several players trying those first, then giving up and refunding the game before even getting to Versus.

    Versus mode then, has some potential, but is at the moment it's way too slow-paced and success relies too much on luck. The non-playable segments ("Player X turn" notices and the CPU's turn) all take too long, and the actual choices you have to make each turn are mostly minimal unless you land on a vowel. In a good puzzle game the player should be confronted by an interesting choice every turn, but here that rarely happens as you seldom have the opportunity to place more than 3 letters. Could you try to find words that use less vowels and more consonants? And why even include words like "Abracadabra"? Given that the player can place at most 3 A's it seems unlikely anyone could ever complete this one. Yes, I know you can take over opponents letters by surrounding them, but even so the chances of completing a word like that seem miniscule.

    Additional notes:
    -how about letting us hold down a button (eg. space) to speed up the non-playable segments?
    -there's no way to Esc out while the computer is playing, this is particularly egregious during the CPU's Score/Strategy mode turns when your computer is essentially locked down for minutes at a time (aside from Alt+F4-ing out).
    -alt-tabbing out locks the cursor in the upper left corner.

  6. #31
    Registered: Mar 2001
    Location: Melbourne, Australia
    Thank you for your feedback. Will definitely take the advice on board.

    I'm currently working on fixes for joystick / gamepad issues with the game. Apparently xbox controllers dont work with it, and its been reported that if you unplug your gamepad during play then it wont work if plugged back in, unless the game is restarted.

    Another is that the Steam Overlay is not present. Normally this is added automatically to a game on Steam, unless its running in software mode. Annoyingly due to bugs in SDL 2's video modes I was forced to have it run in software rather than hardware accelerated mode due to this. Otherwise if I left it in, the game would crash on occasion when switching from fullscreen to windowed. Not sure what to do there.
    Last edited by icemann; 5th Jan 2019 at 22:36.

  7. #32
    Registered: Mar 2001
    Location: Melbourne, Australia
    Programming is often a mix of:

    * Enjoyment in implementing new things
    * Long hours of coding
    * Frustration in things not working as you'd expect them to
    * Satisfaction of working out the source of those things not working.

    Tonight I sat down to implement multi-controller support.

    The night before I spent some time getting my ps3 controller to work with my PC. That took AGES. Once I had that done, tested CrossTrix with it. At first it appeared to not work at all. Then discovered that it was due to me already having another controller plugged in. Also fixed up hardware mode. And uploaded the new version to Steam. So if you go to play it now you'll get the Steam overlay appearing as expected.

    So tonight set to work on getting 2 controllers working simultaneous. What I at first thought would be a quick thing to implement ended up taking many hours. No matter what I tried the second controllers button presses would be detected but not any axis or direction pad stuff. In the end it was all down to one line of code, which I'd not noticed as much of the controller code was ported over from a SDL2 tutorial. Turns out that for the axis / direction pad stuff it was only checking controller 1 for it. Removal of that line and suddenly both worked flawlessly. The joys of programming. A good learning experience with SDL2 either way.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts