Splendid!
My first Win32 game prototype
My first Win32 game prototype
|
|
Feb 6 2025, 04:54 PM
Return to original view | IPv6 | Post
#1
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
Splendid! Mat Quasar liked this post
|
|
|
|
|
|
Feb 6 2025, 04:56 PM
Return to original view | IPv6 | Post
#2
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(Mat Quasar @ Feb 6 2025, 04:49 PM) Hi, this Win32 game prototype took me about 9 months from start to finish. I was working on this about couple hours ago...I started with console interface first, then finalized with GUI version. It is written purely in FASM, using raw Win32 API. Although it is in GUI, I use TextOutA function in GDI32.dll, which is just displaying text in GUI window, no graphics at the moment. There is no collision detection yet, no scoring. What you can do with this program is: 1) Move the caret (gun) to the left or to the right 2) Shoot one bullet at one time 3) Watch the enemies moving around ![]() For the enemies to move around, I use random number generator to predict the direction of movement. I have included the source code here (EXE is not included as it is falsely detected as virus). If you are interested to run the program, you can.... 1) Download SHOOT.txt 2) Rename SHOOT.txt to SHOOT.asm 3) Download Flat Assembler for Windows 4) Run FASMW.EXE and open SHOOT.asm 5) Click Compile 6) Go to the File Explorer, and you'll see SHOOT.EXE along with SHOOT.asm. Note: If you compile yourself, Windows Security won't detect this as virus. Of course, my code does nothing malicious. But my game is still very crude, I might consider using GDI+ or SDL2 to develop my graphical version of 2D game. Something that goes like this.. Project Directory Structure /YourGameProject │ ├── /assets │ ├── sprite.png │ ├── map.png │ ├── /src │ ├── main.cpp │ ├── Game.cpp │ ├── Game.h │ ├── Sprite.cpp │ ├── Sprite.h │ └── Map.cpp │ └── Map.h │ ├── /build (or /bin, depending on your build system) │ └── CMakeLists.txt (or Makefile, or any other build system file) Mat Quasar liked this post
|
|
|
Feb 6 2025, 04:57 PM
Return to original view | IPv6 | Post
#3
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(Kayziealnatz @ Feb 6 2025, 05:56 PM) I was working on this about couple hours ago... I got my hands on the documentation, and tried to look it up on ChatGPT. It was very frustrating, they kept giving me error. I finally managed to move the sprite around the map..Something that goes like this.. Project Directory Structure /YourGameProject │ ├── /assets │ ├── sprite.png │ ├── map.png │ ├── /src │ ├── main.cpp │ ├── Game.cpp │ ├── Game.h │ ├── Sprite.cpp │ ├── Sprite.h │ └── Map.cpp │ └── Map.h │ ├── /build (or /bin, depending on your build system) │ └── CMakeLists.txt (or Makefile, or any other build system file) Maybe I'll post it here if I got time ya |
|
|
Feb 6 2025, 05:04 PM
Return to original view | IPv6 | Post
#4
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(ifourtos @ Feb 6 2025, 06:01 PM) If u are serious, use proper Game Engine... I do actually agree and I am using few engines. I am just testing the water to get my feet wet. Construct3 Gdevelop Godot I can build this, graphical, sound, deeper gameplay version, within hours with engine above. Cobstruct 3, gdevelop are no code Both 3 above can export to almost all gaming platforms..... Html, win, macos, Linus, Xbox, iOS, android Godot even can export playstation..... But u need QC by Sony to publish Out of those three, I heard good things about Godot that it allows u to build your own engine on top of it. |
|
|
Feb 6 2025, 05:05 PM
Return to original view | IPv6 | Post
#5
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
With MIT LICENSE!!!
|
|
|
Feb 6 2025, 05:17 PM
Return to original view | IPv6 | Post
#6
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(ifourtos @ Feb 6 2025, 06:11 PM) Nope. I am dabbling with Godot, RPG Maker VX Ace, RPG Maker Mz, Phaser and Defold. I deepdive 3 above All 3 are unique. Godot, powerful enough to challenge unity. But need coding Construct 3, visual code, pricey. Gdevelop, less powerful, but totally free. Also no code. For non coder, don't go Godot. The essence of a Game is not powerful engine. Like 2024 hit, vampire survivors Can easily built with simple engine But those AAA bullshit that cost 100m still a pile of shit after launched. For indie, you need a proper scale for your project, and creative enough to dig deeper in gameplay. Btw, I am switching to Godot for 1 feature, it can run local LLM and API to Ur game. That's Game changing I am mostly wanting to make a 2d top down or isometric RPG. RPG Maker are streamlined that way. I am basically still beginner. I liked and enjoyed exploring and experimenting options I got. I think I most prolly go for Godot in the far flung future. Only because at the highest rung I wanna make my own game engine, so why not learn along the way whilst make two or three games at least on my way |
|
|
|
|
|
Feb 6 2025, 05:19 PM
Return to original view | IPv6 | Post
#7
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
It's not the engine that count, its how you use them that makes all the difference. Well, not entirely true but you got what I meant This post has been edited by Kayziealnatz: Feb 6 2025, 05:19 PM flashang liked this post
|
|
|
Feb 7 2025, 12:51 AM
Return to original view | IPv6 | Post
#8
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(flashang @ Feb 7 2025, 12:32 AM) Personal Opinion : Between SDL2 and SFML, which one is more viable based on your personal expUsing any other library / 3rd party library (GDI+, SDL2, game engine, graphics / audio / video, ... ) are mean for improve visual, but not the main logic. Port over to other system (web, mobile phone, different os, different cpu) need some different development tools. Congras, you make the first move. |
|
|
Feb 9 2025, 03:00 AM
Return to original view | IPv6 | Post
#9
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(Mat Quasar @ Feb 9 2025, 01:10 AM) Now is SDL3 already, I am out! Just 3 weeks ago, they released SDL3: Wow, so its kinda brand new, we can make our own snowball effecthttps :// github.com/libsdl-org/SDL/releases/tag/release-3.2.0 QUOTE(Mat Quasar @ Feb 9 2025, 01:10 AM) Also, what is SDL: Since it is written in C, calling the SDL libraries function must be using C calling convention (caller clean up the stack on return). I see QUOTE(Mat Quasar @ Feb 9 2025, 01:10 AM) That is correct, I just looked it up Mat Quasar liked this post
|
|
|
Feb 10 2025, 04:20 PM
Return to original view | IPv6 | Post
#10
|
![]() ![]()
Junior Member
178 posts Joined: Oct 2024 |
QUOTE(flashang @ Feb 9 2025, 05:33 PM) Personally, I would use unreal / unity for more complex projects. I am so wanting to use UE but my modest laptop doesnt allow me xDas for SDL2 / SFML, reference from the internet : ----- SDL2, or Simple DirectMedia Layer 2, is a cross-platform software development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. SDL is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, etc. It also supports 3D hardware via OpenGL. ----- SFML stands for Simple and Fast Multimedia Library, which is a cross-platform software development library written in C++. It provides a simple interface for handling graphics, audio, and network functionalities, making it popular among game developers and multimedia application creators. SFML uses OpenGL under the hood and the main difference is that in OpenGL you will be writing your own renderer, 2D or 3D, from scratch. SFML it easier to use because you have do less yourself. ----- * depends on your development tool / familiar tool. C -> SDL C++ -> SFML ----- If you're not create your own engine, use existing engine is preferred, as your project could expand more easily. I might try my hands on Unity later flashang liked this post
|
| Change to: | 0.0173sec
0.55
7 queries
GZIP Disabled
Time is now: 10th December 2025 - 08:58 AM |