This thread is for people who wish to help with the project in some way. We're currently looking for people to work within a few categories in the project, such as: Engine Design General Programming Project Management UI Design This post will be updated as the need for people in different categories increases. Be sure to check back often! If you'd like to assist in any of the listed categories, or feel there's some other way you can help out, simply reply to this thread with the following information: What category you feel you're best suited for. Why you feel you would be best suited in the category. What you feel you can contribute. (Optional, but recommended) Relevant work you've accomplished, that would make you a good fit for the role. Everyone will be considered, and more than one person can be recruited for a particular role. For example, one person may be brought on board to handle writing a threading system for the engine, or three people may be brought on board to help work on different parts of the renderer. Note that just because you're a part of the project, does not mean you will be expected to work on it full time. You will only be expected to help out in your free time, and nothing more. Current Team: Project Lead(s): Gen Renderer Programming: Gen Engine Design: Gen, James K General Programming: Gen, James K UI and Graphics Design: Elratauru Build System Maintenance: Conan Kudo
I'd like to help wiith UI Design and pretty much anything that requires 2D graphics. As I said before, I'm a professional web developer that designs interfaces and pages to live, I have also knowledge in the latest design trends, usages and pretty much anything that is related to web-stuff. About relevant work... Worked for quite a while as the S2HD badnik artist, made misc graphics for the project (Like my avatar :P), my style changes depending the job, but I prefer to use the latest trends I can, an example of this is my personal site (and portfolio) which is here which is a mix of the current designs and programming languages (even if HTML5 is not really a programming language, JS or PHP is).
What better way to fully test your game engine with than a fully complete level ? I have a 2.5 D level I can offer for testing purposes. Nothing fancy... ( I set this up so that it could easily be changed into an HD next-gen type level with a few mods here and there) works pretty well with the egg engine.... and soon to be Finished SGDK Classic Physics system. I've recently finished updating the ground collision mesh and added more level chunks allowing depth variation so we now have over 100 chunks vs the 50 or so that were used a few months back in GDK and Egg-engine the collision mesh for the ground replicates the shape of the collision tiles from the original Green hill exactly pixel to Polly. However I'm not sure if you are wanting to replicate the classic physics exactly. if so than modeling traditionally for the collision mesh probably wont do.... Instead,,, There is another system I've come up with which I've consulted with Damian, he really likes the idea...( however with his and my busy schedule its kinda postponed) Something id like to pitch at you in private if your interested in hearing.. anyways for now ( Updates made since these screens) over 100 seamless Level chunks that snap together in engine to form custom zones. Level props sample The fully Parallax background's water and waterfall uses a custom pallet cycle shader to emulate the original animations) ( I'm sure shaders could be easily ported over to your engine)
Andrew, I PM'd this to Gen as well but your chunk image spurred me to post, as it would fit in very well with a test I've been playing with recently (link, WASD/Space). It basically uses 100% classic physics - with a few upgrades for smoother angle and height interpolation - but is designed with 3D layouts in mind. Effectively, you 'bind' 2D solid chunks with 3D geometry, with the physics taking place in 2D and obviously everything being rendered in 3D. In addition it offers depth mapping on a per-chunk basis for in-and-out movement, and it also allows you to bend the play grid around the y-axis to allow for arbitrary 3D movement while the physics itself still operates in 2D (press C in the demo for an example). In order to allow for multiple paths and bends, as well as depth map correctly for e.g loops, play operates over multiple grids and these can be swapped between using grid swapper objects, as in path swapping in the originals. To build a level, then, requires blocks of 3D geometry to match the solids, which can then be snapped together into grids in arbitrary formation, with the solids being added automatically to the grid in the same place; the combined mesh can then be exported out for static geometry rendering.
Aww man ! Couldn't get it to work. has an error with side by side configuration being incorrect. Our ideas are very similar except my idea would be using 3d chunks modeled after the shapes of the original collision tiles.. allowing for a true 3D system to replicate the way the original games handled the collisions via 2D tiles. (according to the sonic physics guide here on retro , the collision tiles worked by calculating the 2 edge pixels to establish an angle) (well something like that anyways lol) so using that Knowledge I came up with the idea as follows: 1:Model the chunks based on the Sonic Genesis chunks. 2:all the normals for the collision mesh would be adjusted in 3Ds max to form unified direction for the ground surface area, 3: the engine would read the normal direction and use the normals as the defining direction for jumps, speed, slopes ect ect.. 4: each 3d chunk would receive the exact same naming as shown in chunk chart below, the engine could than automatically assign the layout names according to rom datat to reconstruct levels from the origonal games, or user defigned layouts. Damizean did something like this with my larger chunks so that the level designer wouldn't need to manually place all the chunks 1 by 1 in his egg engine. also I believe Fan remix's Original system was done using a similar 2D system for collision that you mentioned above before it moved onto the EGG engine. So ya the idea is on the right track ! Here's the proof of concept model I did a few months back for egg engine using adjusted normals.. the collision chunk graph Uploaded with ImageShack.us Chunks wire Uploaded with ImageShack.us
It's an old test version that was compiled in debug mode; this one may work instead, but I don't have the source right now to recompile if not. The only downside I could see to your approach might be a loss of precision moving from pixel-based to floating-point solid collision checking. If you were to convert it to a fixed-point system instead then you basically have my approach but with the benefit of arbitrary-precision point additions in each "16x16". I like this idea, but I stuck with the original to ensure accuracy but also to cut down on memory usage for each tile: 16x16 height data can be stored in a fixed 20 bytes where arbitrary points would need different sizes for each tile depending on that tile's complexity. The test uses similar "large chunks" (128 pixels) comprised of the smaller tiles (16 pixels). This way, as you say, the level designer just needs to put the larger pieces together. If those large solids were bound to individual, equally-sized pieces of geometry, as with those in your image, both the 3D geometry and the 2D solid would be automatically dealt with by the editing tool.
I'm Quite impressed! Keep up the good work with this formula.. as its very good! in fact it looks to best out fan remix's 2.5D system, which I felt needed lots of work. Also I'm guessing there are no visual level ground props in the test as I could only see the 2 cubes and a grid,
Yes, just a solid collision test; the test stage is roughly a horizontally-stretched loop with a jump-through platform in the middle. Thing is, I was also looking into how 3D sections using more traditional 3D collision might be integrated and switched between the 2D ones, and started an engine and editor to get things going; then I spotted this forum. :v:
well, PM me anytime if you need something, however My time is very Tight these days , since I'm doing renovations on my house, todays been a kind of day off. Also I may have worked with Gen in the past if this is the same Gen. ( on a project called Sonic Next or something back in 2006) Any confirmation on that GEN?
I'd love to help out with the General Programming or even any Engine stuff. I admit, I'd say I've only had about... a year and a half of experience on programming, all together. But I've learned a crap load especially these last three months. I've done some tools, I've worked a lot on shaders and general engine stuff (though my time in these are even less so than generally being a programmer). I think I'm a pretty decent programmer at this time. At least I think I have the skills that should be expected of at this time. Regardless though, I won't be available until the school year is finished and I don't know if my experience would be enough to help...
Hey, I'd like to help out. Category: General Programming Experience: Been programming in college for 5 years (one of which was intensive game related work), programmed in two game startup companies, and for two years in a general technology company. I'm great when it comes to specific goals like implementing clear features or bug fixing, I'm a bit weaker when it requires something like engine design but I'd like to get better on that. I'm interested in game engines generally, but haven't tried to make my own. Contributions: I'd love to help with the programming in any way I can. Also like to be involved in some of the discussions. Examples: Most of the best examples of my work are either old, basic, or part of some commercial web application that has been released, I'll send Gen a PM.
After reading through the PM, how good would you say you are at cross platform programming? Think in the mindset of programming for OS X, Linux, and Windows here.
I run Ubuntu as my main OS, I have access to a Mac OSX (which I'm using to type this) and of course I have Windows XP and 7. I haven't done a huge amount of platform porting, but I have had one or two projects that I started developing in Windows and switched over to Linux without much problem. It helped that I ensured they used cross platform (preferably open source) libraries from the start (one was C++ & SDL). Mobius Engine being cross platform is one of the big draws of the engine for me.
Hahah, I have nothing that I'm even remotely proud of to show. This is the biggest project I worked on and I think its a huge piece of shit. I basically worked on the level editing tools (which I'm slightly proud of I guess but you don't see it in the video). I also worked a lot on the game objects such as the moving platform. I also worked on the camera. My teacher in this course has given us his entity/component system for assignments which works really well and I've learned a lot of neat tricks using it. Basically, it throws inheritance out the window completely and gives us an object with basic properties (such as position, rotation, etc.) that can draw and update. Then you give the entities components, such as a ModelRenderComponent or a CharacterControlledComponent which, as the names imply, render the entity with a model and control it with a controller of some sort. We have an entity manager that handles the entities and entities could have a number of different components. Entities can also have parent entities and child entities's properties are based off of the parent's so moving the parent would move the child, etc. I don't think this system would be appropriate for this engine though. I mean, it could be implemented but its not something a lot of games use today (although Uncharted uses this). It's a lot faster than using inheritance though, which is why I mention it. If my skills don't look up to snuff for this then fine. I'll be refining them over the years so I hope to eventually be working on this.
I'd like to contribute to the project primarily as a General Programmer. The following things are what I have experience in and can bring on the table. As we discussed on the irc, I have made a 3D game with an engine that has deferred rendering, normal mapping, post processing etc the usual stuff. This is mostly with DirectX wrappers such as XNA and SlimDX, but the main principles should apply to OpenGL too. Also I have experience programming skeletal animation, my own file formats for geometry and collision, making procedural textures via synthesis or noise, can write loaders for various file formats. On a more Sonic related note, I can: - help making the 2D gameplay part of the engine - use original 2D pixel collision chunks with a 3D rendered scene - provide a good level editor(the whole Mushroom Hill Act 1 terrain took only 4 hours to put together in it, not counting the objects) - help on the camera behavior as I know of some pitfalls - interface for picking/moving/rotating of 3D models which can be useful for a 3D level editor There is probably more but this is what I can think for now.
Hi everybody! I've read the general information thread and I really would like to contribute to this project. I've quite a good knowledge of the OpenGL library and the modern graphics pipelines, so I guess I could help in coding the Renderer, including the shaders if you're planning to use GLSL. My main programming language is C++, but I can also write in Java and C#, and web related languages (php, html, css, javascript, ...). I've done a lot of little projects using C++ and OpenGL, mainly as a self-learning experience, and this is what I can do at the moment: - Shaders for lighting, post-processing, shadow mapping, ecc. - Using the latest OpenGL features, such as tesselation/geometry shaders. - Deferred rendering - Multithreading - AI algorithms I've also made a little class library to wrap various OpenGL functionalities, such as VAOs, frame buffers, and shader's load&compile, and a custom math library, which includes functions for vectors and matrices (I do not use the default OpenGL matrix system in my projects). I think I can provide a good interface (abstract classes) to handle these things.
I'd like to help with general programming. I've been programming for a significant chunk of my life, and I'm currently trying to improve my abilities. For examples of what I've worked on, see my BitBucket repository. Last weekend I made a stack allocator, if that'd be of any use. I'd need some guidance on what to work on, though. I'm still learning about engine design, and my OpenGL experience is mostly (generally inefficient) programs on iOS.
Since this seems to be coming back, I figured I'd re-use one of the old threads rather than make a duplicate... I'd like to help out in some way, but I'm not sure how. I have zero programming knowledge other than what I've been able to pick up from a book on BlitzBasic, but I have the book packed away and haven't been able to get to it in a rather long time. ("Pack everything, we're moving!", "We're not moving!", "We are moving!", etc. I haven't bothered unpacking again.) If the code is commented well, and it's in a relatively simple language, I can usually figure out what it's doing to some degree, but not enough to add to it or anything. What I am relatively good at is ideas and artwork. I've been practicing a lot in programs like Paint.NET and I guess I can do stuff like menus or something. Anyways, I don't know what I can do to help with the project, but I would like to find a way to contribute. Any ideas on what I can do?