Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1396069 Posts in 67335 Topics- by 60474 Members - Latest Member: Rutzsv

October 22, 2021, 09:05:36 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCarbon: Emergent game engine for overhead action games [Feedback Required]
Pages: [1]
Print
Author Topic: Carbon: Emergent game engine for overhead action games [Feedback Required]  (Read 3716 times)
siegarettes
Level 0
***


new week, new persona


View Profile WWW
« on: October 13, 2011, 08:24:34 PM »



Long story short: I was working on a redoing my shooter Gore Hounds and realized one of the big problems I had with the Gore Hounds was I wanted to do too many different types of game.

Solution? Make an engine that supports making all of them. Basically I'm making an engine [in GM8] that will allow me to make top down arcade shooter, tower defense, and possibly RPG games. More on how I plan to do this in future updates.

PLANNED FEATURES:
-emphasis on reactive world.
 *ex. shooting an electric generator will not only shut down machines in the area but also send sparks that can set other objects on fire.
-destructible environments
-in depth statistics and damage modelling
-ability to change everything from player's running speed to the amount of bullets a gun fires by changing a few numbers
-script based weapon system
 *weapon behavior will on a per weapon basis. basically when you fire it will check what the weapon is, then run the appropriate scripts.
-achievements [low priority]
-returning gore/particle effects from Gore Hounds
-Graffiti Story System
 *basically imposes text on enviornment. see Splinter Cell Conviction
-in-depth combo/scoring systems
 *kill streaks will also return from Gore Hounds, allowing you to say, set your bullets on fire when you kill 50 enemies without dying
-multiple status effects
 *statuses will effect things such as if the player is on fire, poisoned or frozen. can also effect enemies.

in addition i'm looking at running the engine at 60 fps for smoother gameplay and better looking time-slowing effects if i choose to implement them. however, it may run too fast and i might need to cut it out.

just for reference, i will be using assets from Gore Hounds. so that's the graphic style i'll be working with. it just makes it easier to focus on programming.


more info to come, as well as prototypes for the different systems.
i'm also looking at licensing it under Creative-Commons Non-Commercial Share-Alike and making the source code widely available so that others can use it.

when i do post some source, some feedback on the complexity and ease of use would also be helpful.
Logged

zamp
Level 1
*



View Profile
« Reply #1 on: October 13, 2011, 08:43:16 PM »

I'm sorry but I just had to point this out.
Game maker is an engine right?

Imma put a game engine in a game engine so you can play while you play.
Logged
siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #2 on: October 13, 2011, 09:10:51 PM »

I'm sorry but I just had to point this out.
Game maker is an engine right?

Imma put a game engine in a game engine so you can play while you play.

Surprisingly, there are actually quite a few of those if you check Game Maker Community. Mostly for platformers.

But yes. Well done sir. You earn half an internet.
Logged

zamp
Level 1
*



View Profile
« Reply #3 on: October 13, 2011, 09:16:13 PM »

Best of luck to you. More games is always more games (or more engines in your case), doesn't matter what it's made with  Hand Any KeyWTFHand Joystick
Logged
siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #4 on: October 15, 2011, 01:42:37 PM »

I've started work on the code for the project after a couple of days of per-planning. Still not 100% on what I need to work on, and I'm sure that with some hindsight I'll be looking back and slapping myself. If I don't start work I'll lose motivation for sure, however.

I was initially going to separate it from the remake of my last game I'm doing, but I'm seeing that the work I previously did is going to be essential to this one.

I am also planning some debug controls and in game level edit functions for better testing.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #5 on: October 15, 2011, 01:58:43 PM »

Working out how the gun flow works. Basically all the weapon stats are set to each of the player's hands. this includes all sorts of variables such as how fast it shoots and how many bullets are fired.

when you get a gun it will set these, and when fired the gun's script will call upon these variables.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #6 on: October 15, 2011, 03:07:23 PM »

 Screamy currently what my CREATE event code looks like for Player 1:

Code:
/*sets up all the attributes and statuses of the character as variables
hp is hit points
mahp is max hit points
atk is attack
def is defense
spd is default speed
spdx is speed multiplier
heal is amount healed by medkits
exheal is amount healed by extra medkits
extramed is extra med kits
*/

hp=5
maxhp=6
atk=0
def=0
spd=2
spdx=1
heal=2
exheal=3
extramed=0

/*sets the default gun statistics
ammo is amount of ammo
shotnum is number of shots
shotspd is speed of the shot
shotspread is the distance the bullets spread
dmg is amount of damage bullets do
shotready must be at 100 for gun to fire
shotcharge is the time before another bullet is fired
chargeready is how long it takes to charge a shot before firing
charge is the amount the charge is at
chargeup is the speed which it charges at
clip is amount of bullets in a clip
inclip is amount of bullets currently in the clip
reload is speed which the gun reloads
reloading must reach 100 before clip is replenished
*/

gun1_ammo=0
gun1_shotnum=0
gun1_shotspd=0
gun1_shotspread=0
gun1_dmg=0
gun1_shotready=100
gun1_shotcharge=0
gun1_chargeready=0
gun1_charge=0
gun1_chargeup=0
gun1_clip=0
gun1_inclip=0
gun1_reload=0
gun1_reloading=0

gun2_ammo=0
gun2_shotnum=0
gun2_shotspd=0
gun2_shotspread=0
gun2_dmg=0
gun2_shotready=100
gun2_shotcharge=0
gun2_chargeready=0
gun2_charge=0
gun2_chargeup=0
gun2_clip=0
gun2_inclip=0
gun2_reload=0
gun2_reloading=0

Probably a bit overkill. I'm not even going to be using most of those for my next game, though I thought it might be good to have the option in case i need to change something on the fly.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #7 on: October 15, 2011, 06:12:16 PM »

I've run into an incredibly irritating bug. Although I am using exactly the same collision checking code as the last game for some reason characters will either get stuck on a corner or at times have parts of them clip through the block.

The original code works perfectly in the other game of course...

EDIT: Movement is now working like it should. It now checks using rectangular collision boxes. Its a more complicated than I'd like at the moment. I'm probably going to have to set up an automated system for it to check depending on the sizes of the sprite so that others don't have to worry about it when they use the engine.
« Last Edit: October 15, 2011, 08:21:48 PM by siegarettes » Logged

baconman
Level 10
*****


Design Guru


View Profile WWW
« Reply #8 on: October 16, 2011, 05:34:39 AM »

That sounds like a step they should make in GM itself. I'm doing something kinda similar, but only because my "big game" is a game about gaming. Or at least presently, a 2D game about 2D gaming. Of course, I'm choking on art asset creation atm, but I digress...

What I usually find most helpful in GM are the libs that prestack code that's frequently reused, and I notice that a lot of engines are in editable GMK format, and not a standalone game engine program. So even if people go to use this, they'll have to manually tweak some of their settings anyways.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #9 on: October 16, 2011, 12:16:36 PM »

That sounds like a step they should make in GM itself. I'm doing something kinda similar, but only because my "big game" is a game about gaming. Or at least presently, a 2D game about 2D gaming. Of course, I'm choking on art asset creation atm, but I digress...

What I usually find most helpful in GM are the libs that prestack code that's frequently reused, and I notice that a lot of engines are in editable GMK format, and not a standalone game engine program. So even if people go to use this, they'll have to manually tweak some of their settings anyways.

Its true that people will need to do some tweaking themselves. Many times I've been hoping to use a game engine for say, a platformer, but put off by how much I need to learn. I'm most likely going to program some automation however so if assets and what not get swapped they won't need to do much work.

I'm going to be distributing it as GMK format simply because they will need to tweak it and its really counter intuitive to build a new interface when everyone understands GM's interface already.

As far as art assets go, its the whole reason I am reusing my old artwork. I'm also working in a low resolution so as far as making new assets I have less flexibility with details, but I can kick out sort of shorthand graphics that still look okay.
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #10 on: October 16, 2011, 12:19:30 PM »

I am waiting for some more screens, so i can actually give an input  Tired
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #11 on: October 16, 2011, 12:50:25 PM »

I am waiting for some more screens, so i can actually give an input  Tired

Sorry bout that. Not much to show at the moment. If you want to know what it looks like, or a bit of what I'm aiming for, the engine is pretty much going to be a more organized, more flexible version of the work I did with my previous game, Gore Hounds, which you can find here:
Gore Hounds (incomplete)

Basically I want to keep the depth and interaction of Gore Hounds, expand upon it, and make it much more intuitive.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #12 on: October 19, 2011, 11:54:46 AM »

Added a new shooting system that uses variables to determine different factors of the weapon.

For example, by changing various values you can cause the weapon to fire more bullets in one shot, choose how much they spread out, how fast they move, and how long before the weapon can fire again.
Logged

siegarettes
Level 0
***


new week, new persona


View Profile WWW
« Reply #13 on: October 19, 2011, 05:18:20 PM »

Quick Update:
did some quick work. below is the basics of the engine (movement and shooting) in .gmk format:

Carbon Ver. 0

If you edit the "gun1_..." variables in the create code of oPlayer1 you can test out how they affect the way the character shoots.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic