• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Kshitij Jhalak
      Objective :
      I want to draw a buffer of pixel (DWORD buf[WIDTH*HEIGHT]) to the whole client window. I am somewhat familiar with Winapi but not with GDI, reading the MSDN and other sources on the internet, I have came up with the following program.  
       
      Problem :
      The code is not working. I have initialised all elements of my buffer ( buf[] )  to 0. So I should get a black screen on my window, but I getting a regular white window. Can somebody point me what's wrong am I doing ?
       
      Code :
      #include<Windows.h>
      #include "stdafx.h"
      LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
      const int HEIGHT = 512;
      const int WIDTH = 512;
      DWORD buf[WIDTH * HEIGHT];
      BITMAPINFO bmi = { 0 };
      HDC hWinDC = NULL;
      HDC hbitDC = NULL;
      HBITMAP hBitmap = NULL;
      int WINAPI wWinMain(HINSTANCE hInstace, HINSTANCE hPrevInstace, LPWSTR lpCmdLine, int nCmdShow) {
          memset(buf, 0, sizeof(buf)/sizeof(DWORD));
          MSG msg = { 0 };
          WNDCLASS wnd = { 0 };
          wnd.lpfnWndProc = WndProc;
          wnd.hInstance = hInstace;
          wnd.lpszClassName = L"Window";
          if (!RegisterClass(&wnd)) {
              return 0;
          }
          HWND hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, wnd.lpszClassName, L"Window",
              WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WIDTH, HEIGHT, NULL, NULL, hInstace, NULL);
          if (!hwnd) {
              return 0;
          }
          ShowWindow(hwnd, nCmdShow);
          UpdateWindow(hwnd);
          while (GetMessage(&msg, NULL, 0, 0)) {
              TranslateMessage(&msg);
              DispatchMessage(&msg);
          }
          return msg.wParam;
      }
      LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
          HDC hWdc = NULL;
          switch (msg){
              case WM_CREATE:
                  bmi.bmiHeader.biSize = sizeof(BITMAPCOREHEADER);
                  bmi.bmiHeader.biWidth = WIDTH;
                  bmi.bmiHeader.biHeight = HEIGHT;
                  bmi.bmiHeader.biPlanes = 1;
                  bmi.bmiHeader.biBitCount = 32;
                  bmi.bmiHeader.biCompression = BI_RGB;
                  break;
              case WM_PAINT:
                  PAINTSTRUCT ps;
                  hWdc = BeginPaint(hwnd, &ps);
                  hWinDC = GetDC(hwnd);
                  hbitDC = CreateCompatibleDC(hWinDC);
                  hBitmap = CreateDIBSection(hWinDC, &bmi, DIB_RGB_COLORS, (void**)&buf, NULL, NULL);
                  SelectObject(hbitDC, hBitmap);
                  BitBlt(hWdc, 0, 0, WIDTH, HEIGHT, hbitDC, 0, 0, SRCCOPY);
                  EndPaint(hwnd, &ps);
                  break;
              case WM_KEYUP:
                  if (wParam == 0x41) {
                      SendMessage(hwnd, WM_PAINT, NULL, NULL);
                  }
                  break;
              case WM_DESTROY:
                  DeleteDC(hbitDC);
                  ReleaseDC(hwnd, hWinDC);
                  PostQuitMessage(0);
                  break;
          }
          return DefWindowProc(hwnd, msg, wParam, lParam);
      }
       
       
    • By eldwin11929
      We're looking for a Unity (C#) Programmer for our 2D Project. We're looking for a new lead programmer to continue with an existing project.
       
      Project is an open-world RTS, and is very close to a prototyping (playable) phase. Our existing lead, unfortunately, has no more time for the project, and thus we are in search of a new one who is interested.
       
      Game is purely fantasy based, and we'll be able to give you much more detailed info about the project as we begin to work you into it.
       
      You'll be working with our junior developer, who has been here since the beginning.
       
      Primary skills needed are just being able to work within Unity. But skills within XML are also a plus.
       
      Our list of major goals we'd need you to do is minimal, yet still fairly extensive:
      -Edit our current Pathfinding system to account for a few extra features.
      -Setup our global map system. You’ll be working off an existing random node-map web generator and existing random map generation system and essentially linking the two together. This includes handling random spawns (which has already been semi-setup) unique to each node’s respective map.
      -Further implementation of an existing random spawning algorithm (used to spawn things like enemies randomly across the Map).
      -Making sure to Save and Record all respective aspects of what was mentioned above.
      -Handling our XML database- database is created, but we’ll need to be integrating it. This includes all various things from units to abilities and so forth. Will also need to handle implementing an object’s unique attributes we cannot take care of within XML.
      -Various Content Implementation (to be done once our XML has been integrated).
      -Various Saving and Recording of all respective aspects of the database info mentioned above.
      -Various Performance Enhancements.
      -Potential for various misc things, such as further UI work.
      -Setting up a Menu system.
       
      We have a considerable amount of things done already- however I must warn ahead of time we have quite a bit of unclean code, which may be fairly overwhelming for a new developer on the project.
       
      Let me know your rates per hour, and we'll see if we can work out a good deal between both of us. Royalties are also included.
       
      If interested, send an email to: eldwin11929@yahoo.com
       
      Thanks!
    • By Ronan Hayes
      So i am working on a java swing breakout game and am on the last task to complete, which is detecting collision with a brick and then deleting it from the array so it cannot be seen on the screen. I have created a for loop which is somewhat working however the ball bounces off the bat/paddle and goes straight through the first few rows of bricks and then start to detect only the rows around the 6/7th row. Here is the loop i am working on. 
      public void runAsSeparateThread() { final float S = 3; // Units to move (Speed) try { synchronized ( Model.class ) // Make thread safe { GameObj ball = getBall(); // Ball in game GameObj bat = getBat(); // Bat ArrayList<GameObj> bricks = getBricks(); // Bricks } while (runGame) { synchronized ( Model.class ) // Make thread safe { float x = ball.getX(); // Current x,y position float y = ball.getY(); // Deal with possible edge of board hit if (x >= W - B - BALL_SIZE) ball.changeDirectionX(); if (x <= 0 + B ) ball.changeDirectionX(); if (y >= H - B - BALL_SIZE) // Bottom { ball.changeDirectionY(); addToScore( HIT_BOTTOM ); } if (y <= 0 + M ) ball.changeDirectionY(); // As only a hit on the bat/ball is detected it is // assumed to be on the top or bottom of the object. // A hit on the left or right of the object // has an interesting affect boolean hit = false; // *[3]******************************************************[3]* // * Fill in code to check if a visible brick has been hit * // * The ball has no effect on an invisible brick * // ************************************************************** for ( int i = 0; i <= 60; i++ ){ GameObj brick1 = bricks.get(i); if ( brick1.hitBy(ball) ){ bricks.remove(i); //hit = true; ball.changeDirectionY(); //ball.changeDirectionX(); addToScore(50); } } if (hit) ball.changeDirectionY(); if ( ball.hitBy(bat) ) ball.changeDirectionY(); } modelChanged(); // Model changed refresh screen Thread.sleep( fast ? 2 : 20 ); ball.moveX(S); ball.moveY(S); } } catch (Exception e) { Debug.error("Model.runAsSeparateThread - Error\n%s", e.getMessage() ); } } } i need to be able to break each brick individually and for them to rebound ... this is the code that i am working with so far 
      for ( int i = 0; i <= 60; i++ ){ GameObj brick1 = bricks.get(i); if ( brick1.hitBy(ball) ){ bricks.remove(i); //hit = true; ball.changeDirectionY(); //ball.changeDirectionX(); addToScore(50); } }  
    • By DecoDy Studio
      Hello all
      I am currently, and after long time thinking and planning, looking for enthusiast people to be part of a team to develop games, my idea is to build a game studio although I am in a very early stage. As a lot of work is needed to be done I need people to participate and be part of this long term project, I can't do everything and I don't have the knowledge to complete all the work needed for games.
      My first idea is to develop Mobile Games and in particular VR / AR games, I've built a prototype in ARKit with Unity and I have also a couple of games ideas which could be the first games to be released. To do that, I am looking in the short term for developers and creative people (designers, concept artists, etc.) and in the long term musicians, marketing, business development, etc. It is not required a previous experience as I am planning to release first small games while the team is learning and getting the experience to do make bigger games every time we do a new one.
      If this sounds interesting to you and you want to know more, send me a private message and I will be more than happy to talk.
      DS
  • Advertisement
  • Advertisement

Minesweeper GO for advanced players

Recommended Posts

[attachment=35462:Screenshot_2017-03-29-14-34-31-692_com.EvolveGames.MinesweeperGo.png]

 

Minesweeper Go is a variant of well-known classic minesweeper game.

 

As opposed to classic version Minesweeper Go were designed by keeping in mind demands of professional minesweepers.

 

Beta version of the game released on android play market and available here: Google Play

 

Here is a small list of key features:

 

- Game playback

Each game is recorded and you can playback it any time you want

 

- Advanced chording

Chord can be applied recursively so players can achieve fastest board solving times

 

- Personal comprehensive score board with various benchmarks.

 

- Advanced benchmarks

Minesweeper Go calculates players 3BV/s values, Taps count, Taps/s, RQP, IOS, IOE and some other stats that are valuable for advanced players

 

- Explicit Non-Flagging (NF) mode

Game is made with No-Flaggers in mind

 

- 3BV control feature

You can generate a custom minefield with predefined 3BV value

 

- Online World Ranking table 

All players can participate in World Ranking. Each player records can be viewed (and replayed) by other players to make sure of theirs authenticity

 

- Cheats.

Undo on fail, etc.

 

Some of other features are in progress and will be implemented soon. Notable ones are here:

- Tournament mode

- Themes

- Board save/restore

- Playback speed tuning and rewinding options

 

If you like it please leave your feedback on Minesweeper Go Facebook page https://www.facebook.com/minesweepergo

 

Thanks.

 

[attachment=35460:Screenshot_2017-03-25-17-46-03-282_com.EvolveGames.MinesweeperGo.png][attachment=35461:Screenshot_2017-03-25-17-59-09-348_com.EvolveGames.MinesweeperGo.png]

Edited by evolvegames

Share this post


Link to post
Share on other sites
Advertisement

Hello,

Minesweeper GO update has been published. A lot has been done to support player personalization.

Changelog:

- Created left navigation menu 
- User personalization features: 
  • Update your avatar 
  • Change your name 
  • Change your country 
- Fixed double tap detection bug that was a cause for some game recordings played incorrectly (Only new games will be recorded without this issue) 
- Fixed issues with cropped player names within World Ranking list - World Ranking moved to the navigation menu 
- Make game options selectable by tapping on the whole item, not only on the selector control

Get update on Android play market.

[attachment=35584:Screenshot_2017-04-12-01-45-09-943_com.EvolveGames.MinesweeperGo.png][attachment=35585:Screenshot_2017-04-12-01-47-51-683_com.EvolveGames.MinesweeperGo.png]

Share this post


Link to post
Share on other sites

I'm glad to let you know that new Minesweeper GO update is available.

New update aims to improve user experience with minefield scrolling and includes a lot of advanced options for tuning it.

 

Get update on Android play market.

 

Please give me any feedback if this options are helpful to you, also I'll appreciate any advice how game can be improved.

 

[attachment=35656:Screenshot_2017-04-19-03-29-24-396_com.EvolveGames.MinesweeperGo.png] [attachment=35657:Screenshot_2017-04-19-16-46-49-250_com.EvolveGames.MinesweeperGo.png]

Share this post


Link to post
Share on other sites

New Minesweeper GO update has been published.

Update Notes

  • Added new major feature - Live Ranking

Live Ranking represents on-line player rankings separately for each game difficulty (Beg/Int/Exp). Rankings can be filtered by style (FL/NF) and narrowed by date filter (for example to show only Today/Week/Month or All Time rankings).

At the end of each calendar period best player is chosen to become the Leader of this period. Player stays to be a Leader until the end of the current period.

  • News Feed feature. Notifications of game updates, server maintenance and other events will be published here.

  • Extended game Result dialog. Added notices to determine how current game result is close to the players local record.

Also a lot of bugs was fixed, see details on Facebook page

Update is available on Android Play Market

[attachment=36269:Screenshot_2017-06-08-18-34-32-054_com.EvolveGames.MinesweeperGo.png] [attachment=36270:Screenshot_2017-06-08-18-35-02-745_com.EvolveGames.MinesweeperGo.png] [attachment=36268:Screenshot_2017-06-08-18-33-35-070_com.EvolveGames.MinesweeperGo.png]

Edited by evolvegames

Share this post


Link to post
Share on other sites

FzCDMW1l.png

Minesweeper GO released!

After six months of initial beta release Minesweeper GO came a long way and at last released to public. I am very grateful to all of you for support and testing.


Get game on Google Play
Project on GameDev


Please contact me if you have any suggestions or advices,
Thanks

Edited by evolvegames

Share this post


Link to post
Share on other sites

  • Advertisement