# All Activity

1. Past hour
2. ## Wanting to create a side-scroller game from scratch(Not the programming language)

I don't know any links for good side-scroller tutorials, but the best tutorial I've ever found, and one that works with no modifications, other than using glew instead of glad to load opengl extentions, is https://learnopengl.com/#!In-Practice/2D-Game/Breakout It'll teach you most of what you'll need to get started on a side-scroller. It uses opengl, and you make the game from scratch/with no engine. It uses libraries, but I haven't had any problems getting them to work. Libraries are there to make it quicker, and easier to get things running, so I suggest using them. Its in c++, I recommend using that to learn how to make the breakout game if you decide to follow it, then use whatever you're more comfortable with, and try to convert it to use that instead. Using 3D to render 2D things isn't that complicated. It's sometimes simpler than rendering 3D correctly, and if you have a graphics card that's up to date you can use opengl on windows. Opengl requires a lot less lines to do the same things in directx, and does everything that directx can as far as graphics are concerned.
3. ## Exploring Level Design: Ridge Racer 1993

The contrast with Sega Rally's "High Technology vs Down and Dirty environments" is also a subject I will talk about later.
4. ## Exploring Level Design: Ridge Racer 1993

OK, so here is another point in Games Design I want to make. Ridge Racer, 1993, and how it created a realistic, almost fully functional city in just 1993. So almost everyone remembers the game Ridge Racer, released in the Arcades in 1993, the game was like Wipeout, marketed towards an audience of Boy Racers, Tuners and Club Culture. The game featured club music samples from the likes of The Prodigy, Kraftwerk and even Fatboy Slim's basic mix tapes. But here is something very special I want to tell you about Ridge Racer. It was pretty much one of the first games in history to have a realistic city environment that was also semi-functional. The game had a fully functioning starting light system(in the arcade version at least), an electronic checkpoint system, and a city that looks straight out of the future, with a replica of the Renaissance Center in the middle of it, also with a screen that acts as a live scoreboard. This means that the game's levels were way ahead of their time. And that it also featured a construction site with diggers creating what appears to be a new Hotel while the Airport is still functioning. And that's what I want to say that's even more interesting about the Level Design. Over the years, Ridge City was from a small coastal city to a massive power-house, and evolved into a massive Metropolis by the time Ridge Racer V came out. The original 1993 game also included planes that flew above, helicopters that also apparently had a suspicious looking "SEGA" logo on them. And of course a highway and a second road that functioned with Lorries and Cars. The game's level design though, is so brilliant, and the handling easily accessible, that here is what it's like to see the game in action. And this is what the game appears as, notice the awesome Level Design and everything, the cheer of the crowds, and the Ridge Racer theme playing. Michael G's voice booming. It's such an awesome game, with equally awesome level design. And just an example that sometimes Racing Games have the best level design. I am considering next doing Kingdom Hearts or Petscop, even though Petscop technically isn't a video game. I may be able to do some analysis into the level design. Any levels with fully functioning elements though, are my favourites. Shinji.

6. ## MMORPG, some ideas...

Mortal Online is almost there, they just need some bugs fixed, I wish I had the  for the rights so I could tweak it some... I really love the thrall sys from Conan Exiles, that would be awesome in MO...
7. ## Cache Coherency and Object Update

What are these proxies? surely the same mesh data structure can be updated or replaced by an animation/movement update in one thread and read out to be rendered in another thread, and the two (or more) threads can simply iterate over all meshes in use, in the same data structure, in a plain producer-consumer pattern. You just need to ensure, with appropriate locking, that the rendering thread doesn't attempt to render meshes before they are updated; there's no need to create "messages" for each mesh. For example, if there is a collection of "mesh" components (or "mesh animation state" components, referencing shared immutable and read-only mesh data) and the threads process items in order, you only need to maintain the index of the last updated mesh.

9. ## Cache Coherency and Object Update

This makes BusData an abstract type. Even if you are bending over backwards to avoid ordinary polymorphism and virtual method calls, you still have an abstract class that contains infrastructure but no useful data, several derived concrete classes that add useful data, and an update processing that treats these objects uniformly (everything is a BusData) as far as possible.
10. Today
11. ## How do i access the sound buffer for win32 ?

Hi, thanks for the reply, i dont like to install stuff on my PC, also dont like to make end-users install stuff. I had found some code ( untested ) once, only i lost it and cant find it back.
12. ## How do i access the sound buffer for win32 ?

You don't have direct access to the kernel mixer from user-mode applications. Instead, use a low-level API such as XAudio. This allows you to submit your own buffers to be mixed to the audio output.
13. ## 3D I like to learn about BSP rendering

Thank you Joe, edittor wont be a problem, i also made a 3D edittor already it looks like 3D max. Yes that is what i mean for all X pixels. What you are saying is that it would be the best to make wolfenstein with a BSP ?, sounds intresting to save CPU. I,m reading your post carefully now.
14. ## 3D I like to learn about BSP rendering

For Wolfenstein: Not for each pixel, but for each vertical span (so for 320x200 display, you need to raycast 320 times - probably you meant that already and that's right.). If this sounds inefficient, i agree. Comparing this with a BSP of (optionally angled) wall segments we get something faster: Sorting segments front to back is just a traversal of a binary tree, you decide which child to visit first by a simple test determinating on which side of the splitting line the camera is. So while traversing the tree we draw walls as they appear and track occlusion: The first wall covers a horizontal range, say from 0 to 100. The next wall to draw then has 50-150. Clipping that against already drawn space gives just 100-150. Next wall has 20-70. We clip it away completely and draw nothing. Next wall has 70-320, we draw 150 - 320. Now we know the screen is completely full and any wall coming after this must be occluded - wer're done. So this is less work than 320 traced rays, similar to rasterizing triangles is usually faster than raytracing. Tracking occlusion can be done by a linked list of full/empty spaces, the list can have 320 entries at maximum, so we can just use an array of that size. (''Span list") Additionally you can chack interior nodes against the span list to reject full branches of the BSP tree early. This is quite simple. In my case it got more complex because i supported brushes of different height and multiple brushes on top of each other with empty space in between. But for a Wolfenstein restricted world it sould be almost as easy to implement as raycasting. A little more extra work is to write editor and BSP compiler.
15. ## 3D I like to learn about BSP rendering

btw : Do i need to cast a ray for every horizontal pixel ? ( x axis ). Does wolfenstein cast a ray for every pixel ?
16. ## How do i access the sound buffer for win32 ?

Hi, i have a question about accessing the sound buffer for win32. How do i do that ? I like to fill it with bytes, so i can generate realtime digital audio. thanks in advance
17. ## Object Resource Acquisition

For a sprite based 2D RPG style game, how should assets such as textures, animations, music and sound effects be distributed to and accessed by game objects? Assuming you have a resource manager dedicated to loading and containing the resources, should this manager be passed indiscriminately to wherever there is a need for a resource(s)? Should the resource manager segregate various textures and animations from sprite sheets as they are loaded and hold segregated sets (maps/lists) of these textures and animations based on a pre-determined need by different game objects so that they can be quickly set up? By this I mean, where you are certain object A needs only a set of X animations and Y sound effects throughout the lifetime of the program. If all textures, animations, music and sound effects should not be segregated as they are loaded and should instead each be stored in one big container of their respective type for all objects to freely choose from, how should the objects retrieve the resources they need efficiently and with minimal lines of code? Any object could hold any combination of textures, animations or sound effects held by the resource manager. I believe it would be easy with this approach to have very many lines of code dedicated to retrieving all the resources an object will need, for every object. Finally, should objects hold resources at all? At this point I don't see why objects shouldn't hold their own graphical resources since the objects contain the data such as position, width and height that the resources would need in order to be rendered correctly. However, I'm not so sure about resources such as sound effects, since these types of resources don't need any information from the object in order to play. Should they be held and controlled elsewhere, by dedicated music and sound effect playing systems?
18. ## DX11 Tiled Shading - Cone Culling

While I am using Tiled Based Shading I don't have any tile slices because its only 2D.. Sure in case of clustered shading it would make sense to place a sphere in a cell, because the cells are placed in depth too. In my case I only have 2D grid cells where I need to check if a cone will be visible on that tile.. Actually I tried some complex Ray/Cone test where I shot rays from the corners+center of a cell. That works, but because I only check 5 points, there are still cases where the test fails.. and also its not very fast.. I think the solution is easier as it looks.. While my tiles are only 2D also the cone should be also converted in a 2D triangle.. I only need to find a way to test a 2D rectangle/triangle for intersection plus the case when the camera is within the cone..
19. ## 3D I like to learn about BSP rendering

I looked at the wolfenstein code, i did not find something to start with, many asm code in there also, i saw this weird thing : #define TILESHIFT 161 in the file : wl_def.h If you shift something 161 positions you might as well set the value to zero. I,m going to search for more code examples if there are any more raycast examples.
20. ## C++ IO approach in engine/framework

Assuming you always want to load a whole file,instead of some part of it could be tricky, in particular if it also involves decompressing the file while reading. (A plain archive format like tar that simply concatenates files is simpler, as you can simply seek to the correct spot, assuming the systems support file seeking.)

23. ## Python so where do I start? well I guess I've already started?

I use this: https://github.com/Microsoft/DirectXTex
25. ## C++ IO approach in engine/framework

"I will define 1 global with the base folder for the application, the rest will 'inherit' from there" - it's not safe to assume that you can store all your read/write files in the same place as your read only files. Usually there is a different location for "program data" to that of "user data", not only because there could be more than one user accessing the same program, but for security reasons. "file extensions can be longer than 3 characters (in Linux based FreeBSD on PS4)" - file extensions are irrelevant. "I can simply define a small list of defined subfolders (under root/ base), because it won't be more then 5 to 10 folders in total (data/shaders, data/textures, data/objects, data/sound etc.) " - you probably do want a system like this of "well-known" locations, just don't assume they can all be located under one top level directory. Consider Unity: it offers Application.dataPath (application data, considered read only), Application.persistentDataPath (per-user data), and Application.temporaryCachePath (scratch pad, not intended to persist). You would probably have your game assets relative to the dataPath, but configuration and settings relative to the persistentDataPath.
26. ## Text Based RPG

There is so much structure in this kind of programs that the only sane option is to evolve to an OO-way of writing the code. You make structs for each kind of data, then for each struct you have a set of functions that take a pointer to "its" struct as the first argument. For keeping track of what function does what, use a name convention for the function name, eg "structname_function(structname *this, ...)". I found this pattern already before OO was invented (likely I have been writing code too long ). The simple form of the above supports single inheritance, by putting the base struct as its first member. You don't get overloading or polymorphism easily, but usually that's not needed. Now, if you evolve to this kind of code structure anyway, I don't see the point of not simply switching to a language that has "class" in its vocabulary where you get all the above out of the box, inclusive extensive error checking by the compiler.
27. ## A bit of help with a behaviortree tree.

1. 1
2. 2
3. 3
4. 4
frob
14
5. 5
• ### Upcoming Events

• 0
September 22, 2017
Until
September 24, 2017

• 0
September 22, 2017
Until
September 24, 2017

• 0
September 24, 2017
Until
September 29, 2017

• ### Forum Statistics

• Total Topics
627224
• Total Posts
2976081