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
Sometime yesterday morning i decided instead of just fucking around doing nothing being all depressed to actually do something and well,i started learning some OpenGL and began messing around and what has come out of that is this:
It's a pretty basic 32x32 tile engine with a working camera and player, it loads a 128x128 tile map. Oh and the purple square and transparent shroom was just me fooling around with Quads, they currently rotate and the shroom's transparency goes up and down and it scales up and down to , anyways hopefully from what i've learned from this i can apply it to completely redoing my SDL level editor using OpenGL and QT.<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
This is something I've been meaning to do for a long time but just didn't have the time (school, relationship bullshit,etc). Finally i have just said fucku to my SDL level editor and made a new better one in QT this video showcases what it can do so far and it is a lot easier to use than the old one where every time you wanted to edit a new map you would have to go into a configuration text file and edit file paths and there would be times where it simply would just not load a file and there would be all sorts of nuisances, but no more!
<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
Just going to drop this screenshot here.
So I've finally made some passable attempt at a inventory system, so far you can pick up items by touching them then activate the menu that has a Super Mario RPG background because that game is awesome and I've been losing a lot of sleep because of it. Afterwards scroll over to the Item screen and you have a fancy hand to display which item you are selecting then either press RSHIFT or B on the 360 controller and it will 'use' that item (aka activate that items corresponding lua script). Needs a bit more work, might add a little box of text telling you what the item does. Anyways that's all i have to share today, my productivity has been seriously lacking mainly because most of my time is spent asking myself questions that i will probably never get an answer for. Nonetheless if you read this entire paragraph with my bitching and all i thank you, have a wonderful day.<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
-
- ES Beta Backer
- Posts: 10
- Joined: Wed Jul 21, 2010 2:44 pm
- Favorite Gaming Platforms: PC, Wii U, PS2, X360, GBA, 3DS, PS3
- Programming Language of Choice: C++
- Location: Norway
- Contact:
Re: Simple 2D RPG Engine
This looks very good I'm looking forward to more updates
Website: http://www.mutrify.com (flash games, applications and more )
YouTube: http://www.youtube.com/user/Mutrify (Dev videos)
YouTube: http://www.youtube.com/user/Mutrify (Dev videos)
- 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
Why thank you !Mutrify wrote:This looks very good I'm looking forward to more updates
Anyways, here is a somewhat huge update.
I am rewriting the entire engine.
A lot of progress has been made, it still uses SDL for rendering because i don't feel confident enough with doing something like this with OpenGL, future projects will probably utilize OpenGL as i move forward in understanding it. Nonetheless here's an update on which systems thus far have been implemented and are being worked on, and which ones i have yet to.
Implemented/Working on:
- -GameSystem (Basicly the main system that holds the rendering,image loading,collision & input retrieving functions)
-TileSystem
-AudioSystem
-LuaSystem
-AdvLogSystem
-DebugSystem
-PlayerSystem
- -Items&ObjectsSystem
-NPCSystem (Friendly & Enemy)
-BattleSystem
-MenuSystem
-TextboxSystem
-PartySystem
-AnimationSystem
Now i'm not just going to basically clone everything in a new neat fashion, no i intend to make better versions of all the old systems, primarily the battle system,NPC system,Menu system,animation system and textbox system, those are the most disgusting areas of the old engine. After "researching" Final Fantasy's III,IV and VI with some Super Mario RPG and Chrono Trigger i have decided what kind of Battle system and Menu system i want, i want something along the lines of those games because for some reason i really like turn based combat and the way their menus work. Nonetheless that concludes this update, i apologize for making you all read so much but i like writing long and somewhat detailed descriptions to inform people of things, mainly because i myself like to know a lot of useless details and information .
<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
- bbguimaraes
- Chaos Rift Junior
- Posts: 294
- Joined: Wed Apr 11, 2012 4:34 pm
- Programming Language of Choice: c++
- Location: Brazil
- Contact:
Re: Simple 2D RPG Engine
There's something about programmers... We really like reading long texts about programming. Good luck on your rewrite (we all need). Might be a good time to start using CVS (if you're not using already).
off-topic edit
off-topic edit
Oh yeah. Now I know why you're engine is so niceYouTube wrote:DeltaSpartanJizz liked In The Court Of The Crimson King - King Crimson [HQ Sound]
- 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
I thank you kind sir, Nonetheless here's another unscheduled update.bbguimaraes wrote:There's something about programmers... We really like reading long texts about programming. Good luck on your rewrite (we all need). Might be a good time to start using CVS (if you're not using already).
off-topic editOh yeah. Now I know why you're engine is so niceYouTube wrote:DeltaSpartanJizz liked In The Court Of The Crimson King - King Crimson [HQ Sound]
So basically in just over a week i got a prototype item/object system done, I'd call that horrible progress but still, the benefit of this rewrite is it's much more clean and organized allowing for me to try new ideas that attempting in the old engines single source file would have made me want to bash my head into a wall thus i am making slow progressions, the project is taking a bit of a backseat to some emotional bullshit that has plagued me since about around 8am, Sunday, June 3rd 2012(conveniently seared and burned into my memory), so for those who actually want to see this project finish take solace this (WARNING this is going to sound extremely sad) project and music are the only things that keep me going and i am 100% intent on finishing it so one day i can place a game made with it in your hands and i hope it brings you joy. Also I want to release the toolkit for it so people can make some mods to the game or make their own
Anyways enough of my ranting, ladies and gentlemen, have a good morning I'll make another video as soon as i feel there is sufficient new features and things to entice you with !
<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
Can hardly believe it's been a year since this thread was started, i must regrettably announce that i'm taking a break, i don't know how long it will be i'm sorry but i have a lot of shit to do and i just get home everyday and i'm just to depressed to get anything done, don't worry i'm not going to stop, i've come to far to do that now i am going to finish this project even if it takes me years i will finish it, i promise that and if i break that promise feel free to bitch at me and beat me for breaking it lol.
<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
Right on man! We all have slumps, if you aren't excited and ready to work, then something needs to change. If that means taking a break, stepping back, and fixing shit, then that's what has to be done. The best thing you can do is listen to your body and mental state. Knowing yourself is the first step to improving your life ten fold. If you ever get too down or just want some kind of motivation, let us know. You're fellow programmers have your back. Also if you ever need a weekend coding buddy to chat to on skype just PM me, either here or on the moosader boards. I try to check both daily. :D best of luckLight-Dark wrote:Can hardly believe it's been a year since this thread was started, i must regrettably announce that i'm taking a break, i don't know how long it will be i'm sorry but i have a lot of shit to do and i just get home everyday and i'm just to depressed to get anything done, don't worry i'm not going to stop, i've come to far to do that now i am going to finish this project even if it takes me years i will finish it, i promise that and if i break that promise feel free to bitch at me and beat me for breaking it lol.
- 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
Thank you man, that means quite a bit , Nonetheless I present all those who have been following this project with a gift I guess! https://www.dropbox.com/s/tg4hbryi07wkbg9/Engine.zip, It's the latest build of the old Engine, you can mess around with lua there is a script in the documentation folder detailing it. Also if you want to make your own maps the engine runs on a 128x128 tile grid, each tile is 32x32 and the map files just contain tile type numbers in 16-bit(short) unsigned integers! I haven't included the source code just yet because I'm sure it would make people vomit at how disgusting it is and it is a very bad example, however I plan on releasing the new engine's source after I finish a game with it.eatcomics wrote: Right on man! We all have slumps, if you aren't excited and ready to work, then something needs to change. If that means taking a break, stepping back, and fixing shit, then that's what has to be done. The best thing you can do is listen to your body and mental state. Knowing yourself is the first step to improving your life ten fold. If you ever get too down or just want some kind of motivation, let us know. You're fellow programmers have your back. Also if you ever need a weekend coding buddy to chat to on skype just PM me, either here or on the moosader boards. I try to check both daily. :D best of luck
On the topic of the new engine, I will mention some of the tiny updates made in the past 3 months, they are:
-Collision layer/Collision box map
-Basic NPC system setup
-Re-implemented 360 controller input
-A few little optimizations here and there
-More comments(I'm lazy when it comes to documenting my stuff, I don't need documentation since I remember what everything i write does but that will not suffice if I release it to the public)
<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
Or if you take a long break and come back to it. I often return to old projects at work and am constantly thanking myself for having commented them so well.Light-Dark wrote: -More comments(I'm lazy when it comes to documenting my stuff, I don't need documentation since I remember what everything i write does but that will not suffice if I release it to the public)
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
Good point, I think I shall put some more time into documenting my code.dandymcgee wrote:Or if you take a long break and come back to it. I often return to old projects at work and am constantly thanking myself for having commented them so well.Light-Dark wrote: -More comments(I'm lazy when it comes to documenting my stuff, I don't need documentation since I remember what everything i write does but that will not suffice if I release it to the public)
<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
- MarauderIIC
- Respected Programmer
- Posts: 3406
- Joined: Sat Jul 10, 2004 3:05 pm
- Location: Maryland, USA
Re: Simple 2D RPG Engine
Yeah my general rule is "if you come back in two years from never seeing it will the comments make sense". As opposed to the other standard of "if someone new comes to the project that's never seen it will the comments make sense" because that tends to make things a bit too verbose =)
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
- 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
Well the comments should still make sense, but they shouldn't repeat what the code says:MarauderIIC wrote:As opposed to the other standard of "if someone new comes to the project that's never seen it will the comments make sense" because that tends to make things a bit too verbose =)
//If data collection is empty set the empty flag to true if(dataCollection.IsEmpty()) { empty = true; }Better code:
//Set empty flag empty = dataCollection.IsEmpty();
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches!
- wtetzner
- Chaos Rift Regular
- Posts: 159
- Joined: Wed Feb 18, 2009 6:43 pm
- Current Project: waterbear, GBA game + editor
- Favorite Gaming Platforms: Game Boy Advance
- Programming Language of Choice: OCaml
- Location: TX
- Contact:
Re: Simple 2D RPG Engine
Even this seems like a pointless comment to me. You're still just repeating what the code says. The comment should say why you're doing it.dandymcgee wrote: Better code://Set empty flag empty = dataCollection.IsEmpty();
// Cache empty state, because IsEmpty is expensive to call. empty = dataCollection.IsEmpty();
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.