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.

Show posts Menu

Topics - Darmakwolf

Hello friends! Today, I am releasing the source code and compiled binary for an engine I am working on programming casually in my free time.

It's called RFDash (Real Furry Dash) - I am making it for some friends. (For some disclosure, I go by Dart Redtail Fox on many other forums, and I have a character named Dart / Dordo that I sometimes put into games, if that makes sense.)

Full Super Mario Bros. 3 style overworld, level, and progression system
Map editor that can handle monsters, interactive objects, teleport doors and pipes etc
TWO PLAYER experience: take turns when one player dies. One player is also of course possible.
TWIST ON THE ORIGINAL: The player who is NOT playing (watching,) may CONTROL ENEMIES by pressing start and selecting an enemy on screen to spice up multiplayer!
Plays .SPC (Super Nintendo chiptune format) natively! Levels can use authentic 16-bit music directly (thanks to winamp input/output dlls)
Dynamic mobs and maps: no lag due to "too much" in a level - the level is streamlined as you move.
Controller config system - define buttons per-controller! Button preferences are saved and loaded automatically.
Game supports both game controllers and/or keyboard+mouse, even simultaneously.
Tons of cool tiles and objects to choose from! Make maddeningly confusing levels, or simple fun ones!
Two characters exist right now - Dordo (fox) and Yoshi (... yoshi)
The characters aren't going to necessarily be "mario" themed, as this is a game I am making for friends. One simply wanted a yellow Yoshi character playable.
I can't list all of the features here because there just isn't time in the day I don't think.

Includes CLEAN source code with indenting, descriptions, and concise functions! Feel free to use part or all of this to design your own game.


When the game begins, it asks you to press a button. You can use a controller button or keyboard button, and walk through the on-screen process to define keys. At the main menu, a different device can be pressed to initiate co-op (2-player.) Once a button preference has been saved, it will be loaded automatically the next time that device is detected.

Press F1 through F7 to change the game's window size

In the LEVEL editor:

Arrow keys scroll around the map.
hold TAB to bring up a tile list. Click one, and release TAB. You may now paint that tile by clicking and dragging.
SCROLL WHEEL will change the tile blue or red. Blue means "pass through," red means "solid block."
Right click any tile to "copy" it. Then left click to paint with the copied tile. Note: pass-through is copied as well.
"1" and "2" on the keyboard switch between layer 1 and 2. Layer 1 is drawn BEHIND the character. Layer 2 is drawn IN FRONT OF the character.
"3" switches to the monster layer. Scroll wheel selects a preview monster - left click places it. Hold DEL key to delete a monster you're hovering over.
"S" sets the start position to the tile under the cursor. Do not set the "S" directly one block underneath a solid tile - the character will have nowhere to move!
"D" sets a "DOOR" tile. It will then ask you to select a "other end" of the door by clicking another block. The door tile can be entered (either end) by the player pressing "up" in game. Note: it will also ask you to select a new background tile and music file. You may define this, or press cancel to keep it as-is.
"T" sets a "TELEPORT" tile. This is the same as "DOOR" but with no "press up" requirement. Put this inside pipes to create pipe warps. Note that this should be on the BOTTOM RIGHT side of a pipe in order to make the piping effect look right.

Pipes: Pipes will automatically allow the player to enter them by pressing a button toward the pipe while directly at the end of it. (For instance, a pipe to the left of the player requires the player to walk up to it and press left, etc.) Pipes MUST BE ON LAYER 2 in order to be a "enterable pipe." There is no exception. Layer 1 pipes do nothing. The player will move through solid tiles while "piping," and will stop doing so when it has reached "pass-thru" tiles sufficient in size for the player to pop out of.
If you place a plant in the pipe, always place veritcal plants on the left side inside of the pipe. For horizontal plants, it's the top side of the pipe inside. Experiment to get it right!

Pressing ESC in the editor will save and exit right away.
Note that while in the editor, the mouse is locked to the window. This was required to make the scrollwheel work. Press F10 to release it, and F10 to recapture it if need be.


While editing a world, place tiles and level blocks anywhere you want, there's no real requirement. Hover over a tile and press L to link a level to it. This will make it require the player to beat it in order to move over it. See the included demo world and levels for an example.


There is only "run" and "jump" and "pause" in this game, making it simple to start playing. Anyone who has played Mario knows right what to do. The one twist is, the level ends by going down a flagpole, much like Mario 1, though this game aims to mimic mostly mario 3.

You can jump on turtles, grab their shells by holding "run," and throw them to break blocks or kill enemies.
Jump on most enemy's heads to kill them etc.
Water also works, one can swim by hopping in.

One might find Dordo to play a bit more like Mario himself.
Yoshi is much "floaty-er" but can do a hover jump and goes quite far.

Enter key destroys levels in gameplay overworld. This is in case a level is way too hard and you just want to pulverize it!
Holding tilde key in-level will show debug info. While this is open, pressing "+" on the numpad will cheat and give you some extra health
TAB will open up the HUD until you press it again. The HUD opens automatically when getting a coin or life, though.

I'm sure there's a ton I'm forgetting. Ask me any questions you come up with! I think this is probably the best "mario simulation" I've programmed yet. There are some bugs, but they're mostly minor and being worked on. If you find something please let me know.
Just a thought.

I have a Microsoft Xbox Series X console. I realized it has a Windows subsystem, and literally runs "Universal" Windows apps - and can be submitted to the store for sale. Retroarch was ported to Windows Universal app, and is available (can compile in Visual Studio / drop the package onto the xbox and run it the same as in Windows,)

Could GLBasic easily support the universal Windows platform? It does allow OpenGL, and presumably SDL because Retroarch is able to use both of those things. Or is this less trivial than I'm thinking?

I hadn't touched GLBasic in a relatively long time. Then some friends tossed a game idea my way.
It's completely mad. I have put a month's worth of work into a platformer, and it's a MASSIVE amount of code. I won't release any details about it other than it's probably my magnum opus of a platformer, probably complexity-par with the untouchable Super Mario Bros. 3, with ridiculous ... additions. I'll release the full game + code as soon as it's ready. It's going to be fun  =D
Hey all. MouseAxis(2) for the *scrollwheel* seems to read properly if SYSTEMPOINTER is FALSE, and not at all if SYSTEMPOINTER is TRUE.
I did a quick search through here and some people are saying it updates tons of times between SHOWSCREEN calls. If this is the case, how the heck do we fire an event on mouse-scroll if this is so hard to catch? Please help. No issues at all if the mouse is locked to the screen with SYSTEMPOINTER FALSE - but I don't want that.


** EDIT:

I found something weird out! Changing the app to "Run In Compatibility Mode" for "Windows XP SP3" actually fixes this issue... Gernot?  :giveup:
Hi all! I am working on a project and here's my conundrum. I want to display my own cursor, but I don't want the system cursor displaying over it. I know I can do SYSTEMPOINTER FALSE, but then the mouse is locked to the window. If I could maybe invoke user32.dll (SetSystemCursor?) - perhaps we can do SYSTEMPOINTER TRUE and invoke this dll call to tell Windows to hide the system cursor while in our app, we can achieve this. Thoughts? Anyone able to help?
GLB_ON_QUIT does not seem to fire with a console program. How can I make something happen when the window is closed or ctrl+c is pressed?
Hey guys! (I'm still alive!) I have a request. I tried downloading GLBasic Version 9 to try compiling a game for my PowerPC Mac (G5, OSX Leopard 10.5.8) and found:

Which appears to link to V9 that was the last to have PPC Mac compiler working. Can anyone link me to that SDK please? I'd really appreciate it.

I've been promoted to full time and don't have time to work on this right now. Here's the FULL source to my pokemon-like project Blobomon, including the C# code for the editors, using VS 2013 and .NET 4.5. The full source is many modules and takes a looong time to compile. Let me know if you have any questions! It includes Android Extras and compiles and works on Android fine. To test android-mode in windows, add "#DEFINE ANDROID" to the top of the main project source and it'll be touch-screen compatible.
So what's the deal with the alternative sound API for androidextras? I've gotten it working, and it's great because it plays instantly, no horrible sound latency like with PLAYSOUND. But it only has four TOTAL SOUNDS... and you have to unload them and reload them to play another different sound. I tried making a system that unloads a sound and loads a new one every time it plays, but EVEN with unloading to free memory, it eventually crashes. Is there a way to load all my sounds at the beginning, and play them either by name or ID without having only 4?
Can I use header files and just use C source files with my game? In particular, I want to support a large array of music formats in my game. The FMOD DLL included with the examples folder does not play MOD files accurately... there's no echo, and it sounds pretty lame compared to an actual mod/xm/it player. Erico stated that GLBasic supports MOD/IT 'out of the box' but PLAYMUSIC is doing nothing with those... I don't know if I'm doing it wrong. Anyway, is it possible to statically link FMOD or something similar? I just want to be able to have my game play tracker music. as it is, it's using the examples-folder fmod 3.75 dll but the sound quality is just off. Help?
<<<! Check newest post for latest version!>>>

My pokemon-like game with my very own little blue blob we've seen a few times on here before! This is version 0.5. I've been working on it for about 2 weeks now.

Arrow keys = move
Z = cancel
X = accept
1-5 = zoom window
Return/Enter = Menu
F1-F5 = debug options

Catch Blobomon and raise them as your very own. They level up, learn moves, and gain stats! You go from town to town and fight trainers and leaders, and collect them all! Right now there's no real "content" besides the main little town and Route 1. It's mostly just to debug battles and events. Give it a go if you get bored! BE WARNED: it might take a monster rig to run  :nana:

Jokes aside, it runs in 160x144. Yup. 160 x 144. That's the original Gameboy resolution! It can zoom to several different sized windows, however. It also runs at 30 FPS, so most machines will run the game properly. Pressing "1" to see it in its original format is pretty funny. I plan to make this into an Android mobile game with a Gameboy on-screen controller.


Let me know what you think! Keep in mind, most things are placeholders.
I'm working on a side project that works fine on my PC and just the same on all of my other friends' PCs. One particular friend complains that some scenes where "createscreen" and "use screen" are employed show up as just black screens entirely for him. Are there some graphics cards that just can't handle it???
< Read latest post for changes. Download link is current on this post now :) >

Everyone's favorite wolf is back! What do we have this time? Remember my little animated GIF demos of an NES smash-bros-style game? Well it's not forgotten! Uber Bash Bros is now playable and quite fun! Up to four players can play.

28+ characters and 15+ stages complete so far. Stage editor fully functional. All characters are playable and they're all unique - many work in ways that wouldn't be directly obvious, so if you have any questions just ask.

LIMITATIONS: This is really just a silly thing for my friends and I to play, but I am sharing it with you all. As such, a few things are hard-coded for my setup

Screen is hard-coded to 1280x720 (720P standard HD.) That's going to look and work fine on 99% of all modern widescreen monitors and HDTVs.

HOW TO PLAY: All players select a character, then press start. Player 1 now picks a stage. Once the stage is selected, all players vote on "original" or "remixed" music for the stage (All stages have their own soundtracks and remixes!) And the match begins. The object is not quite like Smash Bros. You ARE trying to be the last one standing, but the idea isn't just to knock people around. Everyone has 200 HP, and you want to reduce that to 0 via your skills and abilities. All characters have their own unique abilities and projectiles that deal damage or have other effects. Everyone also has unique ways of defending themselves. Some characters are just bulky tanks with high defense so they don't take much damage, but are usually limited heavily in mobility and/or damage. Others are massively fast, but usually weak. Many are well-rounded. There are several random events that happen occasionally to mix things up a bit. These events are map-wide and often have devastating effects. Every attack has a small (~1%) chance to critical-hit, which will double the damage dealt.


Current version 0.77a. Read latest post for changes.
Yes! It can happen! Ever wondered if a Goomba could kick the living snot out of one of those fish-folk from Castlevania? Wanted to watch a Shyguy kill Lakitu? Or maybe you just needed to know if that old woman from Zelda II had some tricks up her sleeves... there's Uber Bash Brothers for that! My little side-project I've been working on for some time now has come to a point where it's playable and fun. The code of the game is 100% finished, I just need to fill the character roster to the max. As it is, there are 21 fully playable characters and 7 unique maps. Every character has its own strengths and weaknesses. Please see attached screenshots! I wasn't going to "go public" with this one, because I made it for a special surprise at an upcoming family Christmas party, but I'll at least upload screenshots for now and then make the game available once I have finished my planned 50+ characters and all of the maps!

4 players maximum via game controllers
Music vote system: each map can have original or OcRemix(tm) music!
Map vote system
Diverse moves and a "special bar" system to limit powerful moves etc
Real-time physics and gravity effects
Easy map editing
Full projectile / particle system, up to 10,000 effects at 60FPS on my low-end computer
Original sound effects and sprites from games

Note: This game has a unique twist - no heroes! Notice there's no Mario? No Megaman? It's entirely the underlings and enemies of games, making it very unique.
GLBasic - en / Windows 8.1
I never thought I'd be posting this but... well. Windows 8.1 isn't half bad. It has options to turn off all the nasty mobile app $!#*, it boots straight to the desktop, no "start screen," and best of all, there's a START BUTTON. (I've modified it to actually have a menu though. normally it brings you to the horrid barney the dinosaur themed full-screen tile hell.) For some reason compile time is quicker in both GLB and C# than on 8.0, and my game no longer has lag spikes where it would drop to 30-40 fps for a while. I can't complain I guess! (Except for the upgrade process. It's not in Windows Update... nor is there a .iso. It's in the METRO STORE... *facepalm*) At least it was free. Image attached :)
GLBasic - en / Compile Time
Now I understand this is something I likely can't change, especially on a large project - but is there anything that can slice a few seconds off of compile time? My project, to be fair, is gargantuan, and takes GLB about 25 seconds to compile.  O_O
I work a little bit on this project each day, and it's getting closer to the point where I can focus on "making the rpg" instead of "programming engines!"

What's new:
* ATB battle system with the ability to attack and kill enemies, includes victory screen / exp gain, etc
* Fully animated battlers and map characters
* FMOD audio - plays chiptunes instead of MP3s!
* Teleportation: ability to go between maps smoothly (This was actually difficult to program due to how I render the map character.)

How to play - By default, the controls are:
* Arrow keys to move
* X for accept
* Z for cancel
* Enter for start/menu

If you go to EQUIP from the menu you can swap around equipment, there's a lot to choose from! Using left/right switches what character you're equipping. Watch your HP though. Some armors decrease HP, and can leave you with less than enough to battle!!

If you delete controls.ini and restart the game you can redefine controls in the game.
Debug keys:

* S to teleport to a random safe tile (walkable)
* R to teleport to a random tile - anywhere!
* ~ (Tilde key) to auto-win battles with a funny BAN animation.
* TAB key to enable debug menu to view variables
* Backspace on map to switch leading character sprite
* PrntScrn saves a 256x224 (internal SNES resolution) screenshot to the media folder.


Please keep in mind this is just an unfinished build intended to display progress. It's not really "fun" nor does it have a goal. You can simply walk about, change equipment in the menu, use items, etc. If you find any bugs, please let me know! I whipped up the maps very quickly, so there are likely some tiles that should be solid that aren't, that's no "bug."

Note about ATB Battle System:
Some people haven't played old-school RPGs, and may not undestand what an action gauge is. The yellow bar for each character in battle fills at a rate affected by the AGI (Agility) stat. Once it reaches the full capacity, it is that character's turn. During a character or monster's turn, the gauge pauses until their action is complete. At the moment, enemies do not fight back, for testing purposes. Let me know what you think!
I noticed in task manager if I use GENSOUND to load and immediately play audio, the memory usage goes up and does not come down. What is the procedure for using GENSOUND to immediately play a sound, and then free the memory when it's not being played anymore??
GLBasic - en / BASS DLL
Can anyone help me get bass.dll to play a tune, just a basic example? I'd appreciate it.
See attached screenshot. In the new beta, fonts are showing up with black borders, along with many other black borders around random sprites, but not all of them. Note: I use CREATESCREEN to render the game at 256x224 (Super Nintendo resolution) and then zoomsprite the created screen onto the window, if that makes any difference. 11.414 has no issues.