saxman Posted May 30, 2006 Report Share Posted May 30, 2006 Today marks 3 months since I started working on my secret project. I have kept it a secret for a long time now, but I am reveiling details of what I've been doing. http://dgrove.blogspot.com/ -- I have written an article about it there (March 15). Basically, this engine will be programmable by programmers, and designable by non-programmers. It's an engine for EVERYONE. All written in C and will emulate the original engine 100% perfectly. FURTHER PROOF For the skeptics, here's a screenshot of the project being worked on, showing code and many files associated with the project -- http://www.comprosoftware.com/saxman/prosrc.png IMPORTANT UPDATE Links fixed. You can now view the FAQ and screenshots at these blog locations: FAQ - http://dgrove.blogspot.com/2006/05/prosonic-faq-back-up.html All screen shots - http://dgrove.blogspot.com/2006/05/prosonic-screen-shots-are-back.html 2 Link to comment Share on other sites More sharing options...
Duckboy Posted May 30, 2006 Report Share Posted May 30, 2006 Holy crap! Link to comment Share on other sites More sharing options...
saxman Posted May 30, 2006 Author Report Share Posted May 30, 2006 Hope nobody minds a double post in this particular case... I'd like to keep the last update in this remake of the topic: Since the beginning, level data have been split into several files. Today I made an archive format that links all these files together. I call it PZF (ProSonic Zone Format). It allows 8 acts and 4 time zones to be stored. It allows you to give a level '2' different names. You can choose which acts get which of the names, and you can specify what act number to give to each act (like I can call the real act 4, act "1" if I want.... or I can simply not give it an act number). I decided to support two names because of what has been done in some other Sonic games... Sonic 1 most notably comes to mind (Labyrinth act 4 is titled "Scrap Brain 3"). So for backwards compatibility, my zone format supports 2 different names. It also allows you to specific which music to play for each individual act, starting locations for 8 different characters, and allows you to have multiple palette, art, mappings, and other files. You can select which files to use for which acts (allowing you to reuse data for multiple acts). It's so flexible that you could litterally make multiple zones out of a single zone. ProSonic will support up to 256 different PZF files to be associated with a game. The challenge now is to make a program that can archive the data files and such, and configure all the parameters in a PZF file. It's not going to be easy >_< Link to comment Share on other sites More sharing options...
Asuma Posted May 30, 2006 Report Share Posted May 30, 2006 You can do it! Remember! You're not a pro, until you support PROsonic! XD Link to comment Share on other sites More sharing options...
DimensionWarped Posted May 30, 2006 Report Share Posted May 30, 2006 Every time I hear you say that, I feel an inane urge to destroy. Link to comment Share on other sites More sharing options...
Asuma Posted May 30, 2006 Report Share Posted May 30, 2006 lol. You're funny. Link to comment Share on other sites More sharing options...
wesker Posted May 30, 2006 Report Share Posted May 30, 2006 "Step up your game, with PROSonic" Rofl. Link to comment Share on other sites More sharing options...
Terid Kane Posted May 30, 2006 Report Share Posted May 30, 2006 Now I don't know if I wait for this one to get realeased or if I just use MMF :/ Nice job on this, can't wait to see it in action. Link to comment Share on other sites More sharing options...
VectorSatyr Posted May 31, 2006 Report Share Posted May 31, 2006 All written in C and will emulate the original engine 100% perfectly. Disaster radar at 80%. Link to comment Share on other sites More sharing options...
MidimanNull Posted May 31, 2006 Report Share Posted May 31, 2006 Good Software, now give us a demo. :] Link to comment Share on other sites More sharing options...
DimensionWarped Posted May 31, 2006 Report Share Posted May 31, 2006 I'm pretty sure he isn't that far yet Midi. Link to comment Share on other sites More sharing options...
MidimanNull Posted May 31, 2006 Report Share Posted May 31, 2006 Disaster Radar at 85% Link to comment Share on other sites More sharing options...
saxman Posted May 31, 2006 Author Report Share Posted May 31, 2006 When it's not incredibly buggy and actually playable as you would expect a game to be played, then I'll consider 'possibly' releasing a demo (though I'd prefer to just finish it completely before releasing). Right now, you touch a wall and you immediately climb it. You can walk off to the left of the screen where you fall forever and ever and get the strange "hall-of-mirrors" effect. There's no end to the levels -- you can keep moving right to infinity. The player doesn't stick to the floor going downhill. There are lots of issues. It isn't because I don't have it figured out, it's getting each algorithm to talk to all the other algorithms without conflicts. For example, I have code that makes Sonic correctly walk on floors, and I have code that correctly makes him collide with walls. I can have one working... when I try to combine them, it breaks part of it. I have constantly put the engine in a positive light because for the most part, a lot of good things are going on with it. But I'm trying to be realistic -- as much as it has to offer engine-wise, it's not ready for gaming yet. It's getting there, but it's too early. But when it gets finished or near finished, it'll definitely be ready for gaming I can promise you. As for replicating the original Sonic engine 100% perfect, it'll happen. It already replicates many of the original functions perfectly down to the tiniest fragments. The speed and acceleration and brake speeds are all dead-on. When the jump code was working, he jumped at the perfect speed and height, and even had a 13-frame period where he would continue to go higher as long as the button was held. The speed-to-slope calculations are perfect without any flaws. I realize people really want to see it working in action, but I simply don't want to let anyone down -- all of you are expecting it to be game-quality. With these kinds of things, you get one real strong chance to grab people's attention and make them believe... once you let them down, they're less-willing to come back for a second time. In other words, while I would boost my credibility of having a real engine that works in all the ways I've said it does, I know what people are 'really' looking for, and it's not there yet. It'll be released when it's good enough to be released. Oh and a quick update -- I started programming the archiving tool. I'm doing it in Visual Basic because that makes it really easy to get a working model, especially with something as complex as the PZF format. I may write a C version later down the road that could be portable, but right now VB will do what I need it to do. The only problem is... my VB skills are a little flakey since it's been a while since I last worked in it >_< I've run into a number of problems in it, and the latest one is enabling the form after disabling it. See, I have the main form where you can get to stuff. I have another form that pops up when you go to rename one of the files. When this pops up, the main form is disabled so that the user can't do something really stupid. On the closing event, the rename form is supposed to enable the main form so it can be used again... only it doesn't!! I have tried multiple ways, and I can't get it to enable it again. Unless anyone here might be able to help me solve this problem, it looks like I'm headed back to the VB forums to ask more questions. Link to comment Share on other sites More sharing options...
MidimanNull Posted May 31, 2006 Report Share Posted May 31, 2006 Put it this way dont emulate old games, create the possiblity OF being ABLE to remake the old games. I dont want ProSonic to have a base of Sonic 3, so everyone can go " look at me I did Sonic 3 XTREME ". Link to comment Share on other sites More sharing options...
saxman Posted May 31, 2006 Author Report Share Posted May 31, 2006 No, it will definitely be backwards compatible with the older games. It will 'not' be an emulator, it will simply be compatible with the resources found in the games (e.g. art, level, and other data). That was what I wanted to do with it since the day I started it. Who cares what games other people make? You don't have to make Sonic 3 Xtreme -- make a game that's original and your own from it. It's not like it'll "only" be able to do what the original games did. It'll be open source with tons of extensible features to give you flexibility the original games were never able to give you. It'll be more powerful than anything the Sega Genesis could handle. You knew this when I first made my topic, everyone did. Nobody had a problem with it, so I don't expect complaints now. If anyone does, then it'll just be a disagreement, but it will never change my plans. Link to comment Share on other sites More sharing options...
MidimanNull Posted May 31, 2006 Report Share Posted May 31, 2006 Took that the wrong way, then. I saw your post as " take a sonic 3 engine and let it be editible ", not " engine that can import past data " Sorry bout that. Link to comment Share on other sites More sharing options...
sonic101 Posted May 31, 2006 Report Share Posted May 31, 2006 So, how are your makign this thing anyway? is it liek c= done with mmf or gm? what are you using to make it? just a curious Link to comment Share on other sites More sharing options...
Damizean Posted May 31, 2006 Report Share Posted May 31, 2006 It's C, a high level programming language, it has nothing to do with MMF or GM (though some GM syntax rules are based on C99 standard) Link to comment Share on other sites More sharing options...
saxman Posted May 31, 2006 Author Report Share Posted May 31, 2006 Yes, all C. That should never scare anyone who can't program though -- you don't need to be able to program to make games with this. Link to comment Share on other sites More sharing options...
DimensionWarped Posted May 31, 2006 Report Share Posted May 31, 2006 As much as I know you are a compotent programmer, I still can't comprehend why anyone would use C over C++ these days. Link to comment Share on other sites More sharing options...
Techokami Posted May 31, 2006 Report Share Posted May 31, 2006 All C++ does is add some object oriented stuff. Not everything in the world HAS to be object oriented, like Java wants you to believe =P Link to comment Share on other sites More sharing options...
null1024 Posted May 31, 2006 Report Share Posted May 31, 2006 All C++ does is add some object oriented stuff. Not everything in the world HAS to be object oriented, like Java wants you to believe =P YES IT DOES!!!! *foaming at mouth* Now, when you're done, do you consider making it open source? Link to comment Share on other sites More sharing options...
DimensionWarped Posted May 31, 2006 Report Share Posted May 31, 2006 All C++ does is add some object oriented stuff. Not everything in the world HAS to be object oriented, like Java wants you to believe =P Object oriented programming never hurt anything though and its helped a lot of crap. Link to comment Share on other sites More sharing options...
Damizean Posted June 1, 2006 Report Share Posted June 1, 2006 Yeah, inheritance and polyphormism rules. It's a shame it's not preferable to use C++ in low-end machines, though. Generates a lot of garbage code :3 Link to comment Share on other sites More sharing options...
saxman Posted June 1, 2006 Author Report Share Posted June 1, 2006 Rather to use C or C++ is really opinion that is different for anyone. What it all comes down to is "what do you like better?". I like C... I like C++ is pointless because I never use any of the extra stuff involved in it. Of course technically you could say I use C because I use the line-comments which weren't part of the original ANSI C standard and were first seen in C++... but that's as far as I go. I can do all the same stuff in C++ using the C way of doing things. I relate this very much to playing saxophone... some people like to play a note using one fingering, but then someone else comes along and says "you should play it using the other fingering"... the way I see it is if I can play that note my way and it works and I sound just as good (or better) as the other method, then I should continue doing it the way I'm most comfortable doing it. So I'm more comfortable in C and can program ProSonic just fine using it. There's no right or wrong way or right/wrong programming language to use for anything. It's all preference, and I prefer C. C++ doesn't make my programs any better or any easier to write. Link to comment Share on other sites More sharing options...
Recommended Posts