2D RPG Engine
Moderator: PC Supremacists
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
And we bring yet another kinda monthly-ish video showing some updates, this is more of a demo i created over the holidays, by far my heart goes to the camera manipulation it took 10 minutes to make some lua functions and write the cutscenes for this demo but i spent at least an hour tweaking the cameras position and how fast it moved, theres just something i enjoy about creating some-what-ish cutscenes anyways some other additions is the defines header which has a bunch of defines which are like switches for certain systems, e.g for the release build im most likely going to turn off special debugging keys and the lua prompt as well as debug output to the adventure log, but am going to leave on Saving and loading. Another thing is the party system has recevied an upgrade and i added some more 'object oriented lua' so you can create your self randomly generated forests and such using items, behind the scenes is also loading textbox conversations from files and having multiple screens of text, but i digress, here is the video( NOW IN 1080p :D):
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- dandymcgee
- ES Beta Backer
- Posts: 4709
- Joined: Tue Apr 29, 2008 3:24 pm
- Current Project: https://github.com/dbechrd/RicoTech
- Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
- Programming Language of Choice: C
- Location: San Francisco
- Contact:
Re: Simple 2D RPG Engine
Awesome work.
But dude, tab your Lua.
But dude, tab your Lua.
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches!
- superLED
- Chaos Rift Junior
- Posts: 303
- Joined: Sun Nov 21, 2010 10:56 am
- Current Project: Engine
- Favorite Gaming Platforms: N64
- Programming Language of Choice: C++, PHP
- Location: Norway
Re: Simple 2D RPG Engine
Nice update! Looks like you've done a lot since last time 8D
Btw, I posted the cave set on your forum ^^
Btw, I posted the cave set on your forum ^^
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
XD, yeah i probably should the last lua IDE/editor i used did it for me and i get a bit careless with formatting in my lua scripts.dandymcgee wrote:Awesome work.
But dude, tab your Lua.
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Haven't shed much light about the editor here, most of the focus has been toward the engine(mostly because it has the most attention payed to it), but today ill shed some light on the slow moving editor, just like the engine its in C++/SDL, you can select through a variety of tiles and place them by clicking or holding down the mouse button, by holding the right mouse button you can fill a rectangular area of your choice, by pressing f and selecting a tile you want you can completely fill the entire map with that tile,object placement is currently in the works right now as well as a multilayer system. Not the greatest editor but it suits the purpose and gets the job done some things you may or may not look forward to in the next video are going to be more of the editor in action and testing it out, as well as some new original art from a newly acquired artist who has gladly volenteered to do some spriting .
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- dandymcgee
- ES Beta Backer
- Posts: 4709
- Joined: Tue Apr 29, 2008 3:24 pm
- Current Project: https://github.com/dbechrd/RicoTech
- Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
- Programming Language of Choice: C
- Location: San Francisco
- Contact:
Re: Simple 2D RPG Engine
Yup, looking forward to it.Light-Dark wrote:some things you may or may not look forward to in the next video are going to be more of the editor in action and testing it out, as well as some new original art from a newly acquired artist who has gladly volenteered to do some spriting .
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches!
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
adding on to that looking forward list, is Tabbed lua, some more object oriented lua where enemy ai is now pretty much created,defined and destroyed in lua, you can also add items. Also did a rewrite of the object system to support a variable ammount of objects same with enemy ai, here is some lua examples of say creating a boss AI
Id say the last 24 hours have been the most productive in a looooooong time for me, expect more when it comes video time!
Code: Select all
local Boss = EnemyNPC:new(x,y,type)
Boss:SetHealth(500)
Boss:SetLevel(50)
Boss:SetAttack(75)
Boss:SetDefense(25)
Boss:SetMaxDamage((75*50)/25)
--Somewhere in the Event checking looped script...
if Boss:GetHealth() < 0 then
Boss:Destroy()
end
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Yeah i know there are several flaws in todays video, the recording curse hit me reeeeeal bad, it took me 7 takes to get a decent one and by then i was really pissed off. The audio with hypercam was VERY desynchronized and im now looking for better capture software, yeah so sorry, but hey at least i got in that stage clear sound effect :P, anyways yes i did make it 360 controller compatable so if your wanting to play the game with a controller on your PC just download the driver quickly from microsoft and plug in your 360 controller or some how wirelessly connect it, nonetheless enjoy!
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
Re: Simple 2D RPG Engine
I need to start following this O.o. Good work man :D
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Code: Select all
--Circular Movement Pattern
function Newb2:CircleMovement()
if Newb2.Counter == 0 then
Newb2:SetDirection("Up")
elseif Newb2.Counter == 10 then
Newb2:SetDirection("Left")
elseif Newb2.Counter == 20 then
Newb2:SetDirection("Down")
elseif Newb2.Counter == 30 then
Newb2:SetDirection("Right")
elseif Newb2.Counter == 40 then
Newb2.Counter = -0.5
Newb2:SetDirection("Stop")
end
Newb2.Counter = Newb2.Counter + 0.5
end
Code: Select all
local Newby = EnemyNPC:new(x,y,Sprite)
Newby:SetPosition(x,y)
function Newby:HaltInPlace()
Newby:SetDirection("Stop")
end
local Derivitive = Newby:new(x,y,Sprite)
Derivitive:HaltInPlace()
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- lalacomun
- VS Setup Wizard
- Posts: 114
- Joined: Wed Dec 28, 2011 10:18 pm
- Favorite Gaming Platforms: psx, nintendo ds, gameboy advance, xbox 360, ps2
- Programming Language of Choice: C++
- Location: Argentina
- Contact:
Re: Simple 2D RPG Engine
keep the good work!!, these vids inspire me to keep on with my own engine-editor project!
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
lalacomun wrote:keep the good work!!, these vids inspire me to keep on with my own engine-editor project!
Thanks! great to know i bring some inspiration to the community, also id like to make everyone aware of a side project ive been working on, im making my own super mario brothers engine, its got a basic tile system and scenery system, its got working audio and debugging systems. Most of the 'physics' are controlled in the player.cpp file so when i open source this which will be pretty soon (as soon as i put a items system)
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Finished up the Multi-screen textbox system, you can load conversations from Text files e.g
also it now supports the ability to declare a newline:
Also wrapped the textbox back to lua properly, aswell as the FriendlyNPC system so you can create dynmaic friendlyNPC's where you can pop on screens of dialog at will or remove all or load from another txt file e.g:
Next comes a hopefully sucessfull attempt to make a branching system where you can branch conversation based upon answers and questions(im probably going to have to make this anyways).
Code: Select all
NAME
Screen1
Screen2
Screen3
etc..
Code: Select all
myTextbox.SetConvo("Hi|This is on line2|this is on line3!");
Code: Select all
Fatty = FriendlyNPC:new(x,y,Sprite)
Fatty:LoadConvoFromFile("Data/NPCs/Fatty.npc")
Fatty:ConvoClear()
Fatty:AddConvoScrn("Trololololol|...|kbai!")
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Also, finally got to work on redoing menu's and multiple tile-layer implementation.
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
- Light-Dark
- Dreamcast Developer
- Posts: 307
- Joined: Sun Mar 13, 2011 7:57 pm
- Current Project: 2D RPG & NES Platformer
- Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
- Programming Language of Choice: C/++
- Location: Canada
Re: Simple 2D RPG Engine
Well today marks the one year mark and to celebrate i am rewriting the entire engine! i have learned from many of my past mistakes and now the time has come to amend them and make something better and more organized!
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step