Returning to the age of fan games?

You can discuss anything about fan-made Commander Keen games here.
GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Returning to the age of fan games?

Post by GoldenRishi » Wed Mar 23, 2016 18:11

So as some people know, I originally came onto Keen forums because I loved Keen fan games (however buggy and unpolished they were) because I thought it was really cool that people could actually make their own games, and I failed several times to make one from 2002 to 2008. However, over the years, this is becoming a lost art form. Unless I'm mistaken, I think that the only person playing around with making Keen fan games is Dr. Colossus. Mods have really come to dominate Keen fan creations, which is fine, but I do miss the days when people made their own games. Another trend I've noticed is that it's becoming harder and harder for people to adequately patch the original Keen games for the functionality that they want in their mods.

With that said, I'm currently playing around with the idea of making a Keen fan game (I've started programming it, but it's pre-alpha to put it mildly). Should I finish, I will be writing a game engine from scratch; I may or may not release a 2 or three level Keen-based mini-game to go along with it. The upshot of this for the community is that I will be programming a 2-D scrolling platformer engine in C++ with SDL2/OpenGL (3.2 or 3.3) along with a level editing program for that engine.

I'm considering forking an early version of the engine/level editor and making them free and open source for the Keen community, then handing it off to whatever interested parties to curate it as a Keen community project. (i.e. Make tutorials, patch bugs, give editable examples, extend the libraries and functionality, etc.) With a 2-D engine/level editor already in place, I feel like this could be a small-ish leap for people who are currently modding to readily make game projects using the engine (and a mock-up template that they can learn how to "mod"). This should act as a nice "next level" for people who mod and patch, but would like something easier to patch, something that won't require DOS Box, and something that wouldn't have the limitations of a nearly 30 year old program. Since I'm using SDL and OpenGL, the engine would also run across PC, Mac, and Linux essentially just by recompiling on that platform.


So my main question for the Keen community is.... Is there an actual interest in this?
(Used to be LordofGlobox)

User avatar
troublesomekeen
Vorticon Elite
Posts: 1184
Joined: Fri Feb 03, 2012 8:01
Location: Three-Tooth Lake
Contact:

Post by troublesomekeen » Wed Mar 23, 2016 19:20

Absolutely. I'm looking into creating the BwB Megarocket vertical shooter and the April Fools Day Keen Tower Defense.
Image
Commander Keen in... Canteloupe Quest!

User avatar
Roobar
Vorticon Elite
Posts: 2924
Joined: Tue Jan 08, 2008 16:12

Post by Roobar » Wed Mar 23, 2016 19:26

Yes, yes and yes! I'm still interested in finishing my project. It was a collaboration with Kin9_Duk3 that uses Keengine, but it seems he's not interested in updating his engine anymore. And that's too bad for me. I have a lot of work done, but still lot of work left. Good news is I'm currently resurrecting my project again because I don't want all that work going to waste.

I don't know what your programming skills are, but if... if you can really make something closer or better... then oh men! Exciting times!!!!

User avatar
Nisaba
Vorticon Elite
Posts: 930
Joined: Fri Jan 01, 2016 23:34
Location: The Outpost
Contact:

Post by Nisaba » Wed Mar 23, 2016 20:04

yaus!!!
just because!
"We have come to conquer you all and bring you lots of candy!" | about me | my current project: play Keen mods on a GameBoy |

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Wed Mar 23, 2016 20:40

I'm not a novice at programming, but I've definitely never done something quite at this scale or this bent. I've done scientific programming, mathematical physics programs, etc, (largely in MatLab) and I've had around 10 years of various C++ experience (I wouldn't say anything super hardcore). And, obviously, 5 or so years experience at programming rather sophisticated games in GML on GameMaker (I programmed a basic 2-D Newtonian physics engine back in 2006), so I know how games function and how to do things. It took about a month to figure out SDL2 (with a good tutorial, mind you). I'm still learning OpenGL, but I have a lot of the pseudo-code written.

So yeah, this definitely would not be out any time soon (coupled to the fact that my interest in this project waxes and wanes). If there are people here who have OpenGL coding experience, and want to be available for answering questions, that would probably shorten the time down.
(Used to be LordofGlobox)

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Thu Mar 24, 2016 1:49

troublesomekeen wrote:Absolutely. I'm looking into creating the BwB Megarocket vertical shooter and the April Fools Day Keen Tower Defense.
10 years ago, I was intending to have my game include several levels that would involve Keen's BwBMR in a vertical or horizontal shooter. You should be able to implement this on GameMaker with ease though, I would think, so long as you know how GameMaker works. That shouldn't require anything too, too sophisticated.
(Used to be LordofGlobox)

User avatar
T-Squared
Vortininja
Posts: 188
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.

Post by T-Squared » Thu Mar 24, 2016 1:59

Unfortunately, I never took an interest in programming, except for simple programming in QBasic. Assembly, while I understand the concept, and what goes into making an assembly program, is completely alien to me when it comes to actually making one.


However, I did actually start making pixel art around 2003, because I became a part of a group of Myst fans, and I felt like their emoticons needed some new art. It's partly why I can put pixel art together so well. Because back then, I worked with comparatively low-res images. It's also why I can put together animated sprites so well. I previously worked with animations that were very short.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: ??% Complete

http://www.tsqproductions.com

User avatar
keenmaster486
Vorticon Elite
Posts: 503
Joined: Sun Mar 20, 2016 18:29
Location: Tranquility Base
Contact:

Post by keenmaster486 » Thu Mar 24, 2016 4:06

Yes! This would be great. Although I personally would not want to see it become a super-high-res, high color, more "modern" 2d engine if we were using it for Keen games.
GoldenRishi wrote:This should act as a nice "next level" for people who mod and patch, but would like something easier to patch, something that won't require DOS Box, and something that wouldn't have the limitations of a nearly 30 year old program.
Part of the fun of Keen is the fact that it's so old, that it has 320x200x16 resolution, which forces the game makers to be super-creative and extra good at what they do, and also just the simplicity of it. So would this be outside of the spirit of Keen? It depends. Probably not...:confused
What I really want to see is a super-user-friendly VGA Keen engine, something like what was intended for the original TUIT, which also runs in DOS for all the retro PC junkies like me :p - but could also be cross-platform.
I flermmed the plootash just like you asked.
Very silly indeed: https://audaxeundum.wordpress.com/

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Sun Mar 27, 2016 15:51

T-Squared wrote:Unfortunately, I never took an interest in programming, except for simple programming in QBasic. Assembly, while I understand the concept, and what goes into making an assembly program, is completely alien to me when it comes to actually making one.


However, I did actually start making pixel art around 2003, because I became a part of a group of Myst fans, and I felt like their emoticons needed some new art. It's partly why I can put pixel art together so well. Because back then, I worked with comparatively low-res images. It's also why I can put together animated sprites so well. I previously worked with animations that were very short.
Yeah, I got into pixel art around the end of the 90's (I got more serious about it in like 2001-2007), and I got into programming around 2003 (but got more serious about it in 2005-2010).

One of the things I liked best about (making attempts at) making games is that you end up need both creative elements (pixel art, level design, and related) and logical puzzle elements (programming and related). It's a fun fusion of things.
keenmaster486 wrote:Yes! This would be great. Although I personally would not want to see it become a super-high-res, high color, more "modern" 2d engine if we were using it for Keen games. [...] Part of the fun of Keen is the fact that it's so old, that it has 320x200x16 resolution, which forces the game makers to be super-creative and extra good at what they do, and also just the simplicity of it. So would this be outside of the spirit of Keen? It depends. Probably not...:confused
What I really want to see is a super-user-friendly VGA Keen engine, something like what was intended for the original TUIT, which also runs in DOS for all the retro PC junkies like me :p - but could also be cross-platform.
1.) The brilliant thing about a lightweight game engine? You're in complete control of the screen resolution, the color depth (namely through your sprites/tiles), and so on. That's another reason I'd like to make this and hand off a fork to the Keen community, because it would not limit people in either direction. You want to make a Keen game with graphics like Braid? You're good. You want to make a game engine that has graphics like the one in Keen 1? That's perfectly fine, too. So a game engine, since it's customizable to your heart's content, allows you do basically anything you want, so long as you're willing to spend the time doing it and coming up with a clever way to implement it in code. If there's a community behind it, too, you can build more and more ambitious projects. Also, you can fork it and create an engine to do something more complex (like what I'll be doing), or you can just use it as a more easily mod'able engine for making Keen "mods" that are easily playable on modern platforms and easy to get what you want out of them. I may do webinars on how the engine works, we'll see.

2.) I agree that old school games are awesome and their own special thing, but sometimes I prefer to see something like Fez which pushes the envelope just a little bit while staying inside the old game "feel" (even Super Meatboy, Shovel Knight, etc, breaks the VGA mold while still looking like it falls firmly inside of it).


PS: The original TUIT, which was never made, was supposed to be a Super-Mario-like 3-D game but with more Doom-like graphics. But I assume you mean Ceilick's games? Either way, I do love 2-D platformers and the old school 3-D platformers.
(Used to be LordofGlobox)

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Tue Mar 29, 2016 15:33

wiivn wrote:Yes, yes and yes! I'm still interested in finishing my project. It was a collaboration with Kin9_Duk3 that uses Keengine
So I've looked into his engine, and mine would be a little less user friendly, possibly, because it would be C++ based (combined with SDL2/GLEW/OpenGL libraries) rather than the BASIC-based BlitzMax engine that Kin6_Duk3 used. The flipside is, I would like to implement it so that it's very easy to mod. I think by the end, it wouldn't be harder than programming lines of code in GML for GameMaker, but now you'd see all of the source code alongside to the special snippets of code you're adding. So yeah, it wouldn't be "easy" (making a game is not easy) but it would provide lots of options, it would be available to run on modern platforms (Windows, Linux, Mac, etc, 32 bit and 64-bit OS, although the program will be 32-bit, for now).
(Used to be LordofGlobox)

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Fri Apr 15, 2016 0:08

So, as a very minor update:

I have assembled enough knowledge in OpenGL 3.2 and SDL2 to create a fullscreen window that displays a static image (well, I have enough knowledge now on how to make it a dynamic image), I know how to load PNG's into textures, I know how to load and play sounds, take in control (keyboard and xbox 360), play sounds and music, and I have the essential pseudo-code and logic for the engine written down in gedit text files. The only thing missing is that I need a little more OpenGL-know how to make the graphics engine. I'm playing around with this now. From there, I can start actually programming game stuff --loading custom levels, scrolling, object physics (I'm probably just going to fork and translate my 10 year old GML engine) and collision detection, etc. I've got several later steps figured out for the engine, too. So, the engine, if it comes, is still a long way off, but I'm happy to report a little bit of progress. After I learn just a little bit more OpenGL, I'm going to start actually turning the engine's pseudocode/logic into actual game engine code. I'm still not super comfortable with the procedure of blitting to the screen in cycles and storing textures long term (Or at least the best policies on how to implement those ideas).

I have it right now setup to work as a 270p (expanded to 1080p by a 4-fold upscaling), 16:9 aspect ratio, 16-bit color depth with 60 FPS engine. That's because I want my style to be very SNES-like. However, all of that I can now confirm is trivially modifiable. If you want to do 4-bit graphics (VGA) that's not even close to a problem. If I forked this for the community, I'll make sure to create a pseudo-VGA mode for you all.


EDIT: I'll also add that everything I'm doing here is super-open source. I'm using the MinGW compiler (Windows G++, so you'd use G++ if you programmed using this on Linux), CodeBlocks and Gedit for my C++ IDE (I like to use two IDE's; write with Gedit, and compile/debug using CodeBlocks), GIMP for my graphics, and I'm going to play around with some open source sound programs soon enough. I'll also be using z7 and some open source Java extensions for the engine. Couple that to, of course, OpenGL, GLEW, and SDL which are all, of course open source and free. I'm growing pretty fond of free software these days. I nearly exclusively use Linux-based programs now (Firefox, Office Libre, etc). I haven't totally migrated over to Linux Mint though, there' still too many games that use DirectX.
(Used to be LordofGlobox)

User avatar
Nisaba
Vorticon Elite
Posts: 930
Joined: Fri Jan 01, 2016 23:34
Location: The Outpost
Contact:

Post by Nisaba » Fri Apr 15, 2016 10:05

I haven't totally migrated over to Linux Mint though, there' still too many games that use DirectX.
"We have come to conquer you all and bring you lots of candy!" | about me | my current project: play Keen mods on a GameBoy |

User avatar
Commander Spleen
Lord of the Foobs
Posts: 2360
Joined: Wed Oct 31, 2007 22:54
Location: Border Village
Contact:

Post by Commander Spleen » Fri Apr 15, 2016 10:28

Or extra computers and a KVM switch. People are always getting rid of computers that are perfectly good for desktop and programming use.

Good to see some cross platform fangame development happening.

I stopped writing games from scratch as I have to keep rewriting my code too often when it becomes tangled and get too bogged down with the technical details to do anything particularly imaginative and then I lose motivation.

It would be nice if there was a cross platform Klik & Play or Games Factory with WYSIWYG editor and graphical event manager, as that approach really worked well for me.

Currently I'm working toward migrating to GODOT for games and demos for maximum platform support and minimal low level coding and wheel-reinvention.

GoldenRishi
Vortininja
Posts: 223
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi » Fri Apr 15, 2016 21:16

Commander Spleen wrote:It would be nice if there was a cross platform Klik & Play or Games Factory with WYSIWYG editor and graphical event manager, as that approach really worked well for me.
Personally, I like working with the code directly, because then I know what I can and cannot create. Also, if I need to modify something simple but I want to make it efficient, then I have more control over what's going on. It's harder, but it's also more interesting.
Currently I'm working toward migrating to GODOT for games and demos for maximum platform support and minimal low level coding and wheel-reinvention.
Yeah, that looks like an interesting game engine.
(Used to be LordofGlobox)

User avatar
Mobiethian
Vortininja
Posts: 167
Joined: Sat Jul 25, 2009 17:36
Location: South Fribbulus Xax

Post by Mobiethian » Thu Apr 21, 2016 20:19

Recently I had a discussion with Nisaba regarding fan games and I wondered if there were any existing Keen engines for Multimedia Fusion 2. I have version R250, I believe.

If there is one, I'd be glad to make some Keen fan games. And having the ability to implement tiles using an extended color palette would be awesome. If not, an engine could be created (given enough time). This might be something to consider if anyone else here has experience with MMF. I do somewhat, especially from using the Sonic Worlds engine for my own fan game for many years. But I'm not very experienced with the coding (Event Editor) stuff.

Post Reply