- 77
- 8 892
Andrèe Lindgren
Приєднався 21 жов 2011
I'm a game developer and this channel is mostly dedicated to various projects of mine. I'm writing my own games and game engines, using only latest c++ and no 3rd party libs. No other game engines or languages are being used, unless specifically stated.
Devlog - 8bit Retro Inspired 3D Racing
I wanted to try out a fake 3D art style, used in many early racing games. This prototype was inspired by Rad Racer, which uses only palette cycling to create the illusion forward movement. It doesn't work well for slow speeds, and in the second game they switched to a better solution (which required more memory). The graphics is a bit glitchy because I didn't really think everything through. Instead, I just went on a whim and invented (hacked in) the different algorithms, as they were needed.
The reason why this art style is interesting to me is because it can give a sense of speed, which you otherwise wouldn't really get from realistic 3D. It is not bound by physics in any way.
Every frame is rendered mostly on the CPU, and uses about 1ms of a single core. The background is rendered in a similar fashion to how the NES PPU did it, on a row per row basis. The recording software seems to have a lot of frame drops, which is a shame really.
This video was recorded on a laptop: i7-9750H@2.6GHz, GeForce RTX 2060
Rendered using mostly CPU (Software) and some OpenGL 1.1
#indiegame #gamedev #devlog #gameengine #racinggame #retro
The reason why this art style is interesting to me is because it can give a sense of speed, which you otherwise wouldn't really get from realistic 3D. It is not bound by physics in any way.
Every frame is rendered mostly on the CPU, and uses about 1ms of a single core. The background is rendered in a similar fashion to how the NES PPU did it, on a row per row basis. The recording software seems to have a lot of frame drops, which is a shame really.
This video was recorded on a laptop: i7-9750H@2.6GHz, GeForce RTX 2060
Rendered using mostly CPU (Software) and some OpenGL 1.1
#indiegame #gamedev #devlog #gameengine #racinggame #retro
Переглядів: 948
Відео
Devlog - Quantum Ball - 8bit Retro Inspired Game Prototype
Переглядів 72Місяць тому
This game is heavily inspired by the Breakout lineage, which goes all the way back to pong, and the earliest computer games ever made. For a long time I wanted to try something similar to quantum superposition in a game, so I decided to make this small game prototype. When the balls bounces they end up with a couple of new probability states, which collapses once any of them interact with somet...
Devlog - Overworld (Retro 2D Platformer)
Переглядів 463 місяці тому
Adding a world map, inspired by old games like Zelda 2 and Commander Keen. Also, trying out some kind of an ancient Egyptian themed level. The new music is borrowed from an earlier game I released, called Fly You Fly. The game is still in early development and everything is considered placeholders. I'm currently experimenting with constrained graphics, similar to the limitations of the NES. Thi...
Devlog - Whipping and Dirty Music (Retro 2D Platformer)
Переглядів 853 місяці тому
Still playing around some with my retry style 2D platformer. Added an infinite ammo melee weapon, the whip, and also more graphics and a new enemy. The music is something I made for another game prototype a while back. Trying out a section heavily inspired by the third area of Castlevania. The game is still in early development and everything is considered placeholders. This video was recorded ...
Devlog - 2D Platformer - Drops and More
Переглядів 523 місяці тому
Done some more work on my retry style 2D platformer. Enemies now drops health and items on death. Added more enemy types, focused more on graphics and added a separate tiled background. Trying out a section heavily inspired by the graveyard section of the first level of Ghosts 'n Goblins. The game is still in early development and everything is considered placeholders. This video was recorded o...
Devlog - More Retro 2D Platformer
Переглядів 674 місяці тому
I've had a small break from my regular project, and instead been focusing a little bit on my platformer. Trying out sections heavily inspired by Darkwing Duck and Mega Man 6. This is mainly for getting some gameplay to work with and expand upon. I'm basically just gray boxing for now, using some placeholder graphics. This video was recorded on a laptop: i7-9750H@2.6GHz, GeForce RTX 2060 Rendere...
Devlog - Landscape Material Blending
Переглядів 445 місяців тому
I've added material blending support for the landscape. This will save me a lot of development time since I won't have to make a big tile set anymore. Now there is only one texture for each material, and some blending parameters. The terrain is currently a sparse unique texture that is filled up as required. But this technique could also be used to fill up a tile set. This video was recorded on...
Devlog - Unique Landscape Texture
Переглядів 225 місяців тому
I'm planning on using a minimalistic tile set for the landscape, to keep the development time down. However, with OpenGL 1.1 there is no support for (single pass) multi texturing, so to keep the poly count down (avoid multiple passes) as well as the tile count down (avoid large number of transitions between different tiles), and also have support for extra stuff like decals etc.. I decided to t...
Devlog - 100k Active Entities (Stress Test)
Переглядів 895 місяців тому
There are exactly 100'000 NPCs running around, and then some more entities (trees etc..) Back from my vacation this week, so I decided to do some more optimizations. I chose 100k units running around at 60 FPS, as an arbitrary target. The rendering is currently mostly single threaded (also it's rendered using OpenGL 1.1), so it doesn't give a lot of FPS when zoomed out. This can be fixed quite ...
Devlog - Render Transparent Water and Reworked Outdoor Lightning
Переглядів 626 місяців тому
This week I've been working on an older AMD A10-5800K system, a rather old budget computer from 2012, so most of the time was spent optimizing the code to run at 60fps on that one. I have now unified the light calculations to make it possible to lit up outdoor areas completely. In order to render transparent non-particle surfaces like water I had to refactor the rendering code a bit. This is my...
Devlog - Game State Recording for Easier Debugging
Переглядів 286 місяців тому
This is not gameplay related, and will only be used for debugging purposes. I keep some of the game state history, and by allowing playing back and forward, I can find and fix bugs much faster and easier. This is basically an automatic save/load to memory system. Also, I can inspect the scene memory, which is something I will expand on later. This video was recorded on a laptop: i7-9750H@2.6GHz...
Devlog - Seamless Indoors-Outdoors Transition
Переглядів 1386 місяців тому
Having to always teleport the player between outside and inside areas, was quite annoying. I've been experimenting to see if it is possible to make the transitions without any teleportation, and my initial tests shows great promises I think. It doesn't always look great, but it feels a lot better this way. This video was recorded on a laptop: i7-9750H@2.6GHz, GeForce RTX 2060 Rendered using Ope...
Devlog - Path Finding Along Vector Fields
Переглядів 476 місяців тому
For a long time I've been wanting to try and use smells as a game play element, for finding stuff or avoiding dangers. A smell could be anything from scents or odors, to something like fear, and be affected by wind etc.. Currently there is only uniform spreading of the player scent, which the AI then can decide to move towards or away from. Basically turning this into a kind of interactive path...
Devlog - Generating Sounds and Random Music
Переглядів 387 місяців тому
I've added support for dynamic music and sound effects within the game. The music changes when switching from above and below ground. The trees now gives away bird sounds. And the wisps has some annoying sound as well. All of the sounds are procedurally generated. The bird sounds are ok, but the rest of then are mostly place holders. First I tried completely random chord progressions for the mu...
Devlog - Generating Instruments with Visual Scripting
Переглядів 357 місяців тому
Moving instrument generation into visual scripting for easier development. The code needs cleanup, and the randomness will be changed later, to values giving sensible sounding instruments. It's all quite crude right now, and will be expanded upon, but works for testing and experimentation. This video was recorded on a laptop: i7-9750H@2.6GHz, GeForce RTX 2060 Rendered using OpenGL 1.1 #indiegam...
Devlog - General MIDI and Sound Synthesis
Переглядів 517 місяців тому
Devlog - General MIDI and Sound Synthesis
Devlog - Shooting Arrows and Push Back Forces
Переглядів 219 місяців тому
Devlog - Shooting Arrows and Push Back Forces
Devlog - Updated Movement and Jumping
Переглядів 379 місяців тому
Devlog - Updated Movement and Jumping
Devlog - See Through Occluding Objects
Переглядів 1179 місяців тому
Devlog - See Through Occluding Objects
Devlog - Procedural Stone Generation
Переглядів 6810 місяців тому
Devlog - Procedural Stone Generation
Devlog - IMGUI with Support for Drag & Drop
Переглядів 5910 місяців тому
Devlog - IMGUI with Support for Drag & Drop
Devlog - Visual Scripting and Space Colonization Algorithm to Generate Trees
Переглядів 5210 місяців тому
Devlog - Visual Scripting and Space Colonization Algorithm to Generate Trees
Cool art style
Pretty nice project. Im trying to programing a game like this on a mobile engine for childs. I dont know the right technic to do this so im breaking my head to do this by my own 🤕😂. You can take a look my game version on my last youtube channel video. Maybe you can give me the direction about what i need to learn about. 🙏 Sucess.
Looks great and nice retro engine sound :D A neon 80s style level might be cool too!
This makes me smile
all the little ants... they're everywhere...
The turning and changing perspectives always gets me so off guard lol
How come? It's just regular 3D graphics :)
@@andreelindgren522 it just gives off old school primitive early 2000's games sort of vibes, which usually had a fixed POV that was from one angle. That and the angles of the landscape changing really confuse my brain
Everytime you upload I think I already have the gist of how this world’s mechanics work then I’m all surprised at some new thing lol
Haha, I agree 😅
looks like unrealesed old Notch's game
Perfect video to start the morning to
Haha, nice :)
Everytime I look at what you’ve done, I get more and more impressed!
I dont exactly know what’s going on in this video, but it sounds very cool
Yeah, unfortunately a lot of niche things going on without much explanation really
Tibia pog
Idk if this game will release in a months, years, or a decade but I can’t wait!
Me neither :D this is going to be a game that I would like play myself. However, I'm not using any game engine, nor any other third party libs, so there is a lot of work to be done.
The movement I’m sure took a lot of time and it’s cool, but what was that non-euclidean stuff at the end!?
Haha, sorry about that. Just added some simple deformation to the terrain, to make sure the new collision stuff worked properly. Previously, I only did one check against the height of the terrain, which was fast but teleported the player up on ledges, and didn't support walls or caves.
Coming soon: Vlog - Sentient NPCs Vlog - Subatomic Quantam Physics Vlog - Multiversal Time Travel
taking notes :)
Just happened to stumble upon your channel and I love the way this game looks! It reminds me of diablo and baldurs gate 1
Played Diablo2 a lot, it's one of the big sources of inspiration :)
Is this how the matrix generated all those cliffisdes and mountains? :)
yes, a couple of human batteries were used just for those, no doubt ;)
I don't quite know why the algorithm recommended this to me, but this looks sick as hell and I hope you're doing well today!
reminds me of the Alpha 1 of Project Zomboid.
I never played that game, but I'm more going for a fantasy kind of game with this one
@@andreelindgren522 wish yeah the most luck.
good luck with this project my dude , i tried and i failed , i hope you succed , much love <3
Thank you! And don't give up :))
I don't know what this is but i hope you have success with it! Good work with what you've built so far, reminds me of Project Zomboid
Thank you! I'm kind of in a prototype phase now.
Can someone explain?
Most rendering engines (that don't use ray tracing) only have one basic translucent layer pass. That means, when two translucent objects pass behind one another, the further one usually disappears behind the front one. No color mixing, and no shape details visible through the first level of translucency. Minecraft is a great example of this - If you stack multiple walls of different-colored tinted glass, and you try to look through that structure, you'll only see the nearest color of glass and the rest simply aren't visible through it. This video shows off a technique which allows a ton of shapes to render through one another, in the correct order for color mixing, and with good performance. I don't know if this adequately explains what OP put in to this project, but that's a rough breakdown of the outcome
@@dianjonker Good explanation :) However, most engines tries to render translucency back to front, which usually works quite well, but sometimes breaks.
Impressive work!
Thanks! I probably should mention though, that pixels are processed sequentially, meaning I can take advantage of spatial coherence (the triangle order stays mostly the same). So I'm not sure how well it would work on a GPU.
This was randomly recommended to me, gotta love the new algorithm pushing smaller channels! Nice vid.
Very impressive
that's so many objects, very impressive! what do you mean by per-object clipping? are you talking about not rendering objects that are fully occluded by other objects in any given frame? also, what does it mean for the rendering system to be based off of EPA? do you mean that the convex hulls are described only as vertex-clouds, and you use EPA to construct the convex hull for rendering?
Thanks! Hehe, yes there are quite a lot of objects :D By per-object clipping I meant that there is no scene hierarchy for speeding up the clipping, which would make sense in a real (more static) scene, but the system was built for debug rendering and doesn't know anything about any scene. And no occluders, only view frustum culling. Yes, you are correct about the EPA stuff, except the convex hulls are described using convex components, i.e. not only vertices, but also transformed boxes, spheres etc.. Also, all the object positions are animated using sin/cos, which turned out to be quite CPU-heavy (it's close to 1B/s towards the end). I actually had to cache and reuse the same values over many objects, to not waste too much of the the available CPU, and even though the program is heavily threaded, constructing all the convex hulls every frame used almost all the available CPU. I don't know how something like EPA would run on the GPU, but would be interesting to see.
so trippy wtf
i agree lol this is insane
Awesome
I am trying to simulate tetrahedron-tetrahedron collisions. Do you think GJK EPA is necessary? I am thinking SAT may be quicker in this case since I am using all tetrahedra. Would love your input! Awesome videos by the way.
Thank you! I've never really implemented SAT myself, but I would say GJK + EPA is quite a lot to implement correctly, especially if you're only going to use it for tetrahedra. SAT can be optimized for temporal coherence, but you might even want to consider some direct solution, specific for tetrahedra-pairs. Like, for example, in the box-box collision scenario, where it's possible to check closest planes/edges/points, and get many contact points at the same time.
Awesome!
uh... hi, guess youtube thought id be interested in this, and i mean... its mesmerizing.... thanks for makin something weird. first
my pleasure! I guess the UA-cam algorithm is kind enough to let the cats in ;)
Fantastic!
Do you need to learn coding like python for this?
The heavy part is learning the math I suppose. However, you need to be coding in some language at least, if you want to implement these algorithms. What you see in the video is used for collision detection, in my game engine where speed is essential, so it's all coded in c++.
I'm working on an engine that uses systems like this. I don't have a deep education of the standard tools, methods, and concepts implemented in programming right now, but I do know a lot outside of that information, and I can design systems very well so far. I want to work on the engine soon and get it off the ground. I'll let you know how it goes, since you might be interested.
Education helps but a lot of people, me included, are self taught in many ways, and all of the information needed is on the Internet nowadays. I suggest using modern GPU features for better performance than I'm getting. Good luck with your engine!
I understand you have YEARS of experience in this, but where would I even begin to in terms of an IMGui. I’m thinking of writing it in SBCL. I have little to no experience with GUI’s and if possible, I’d like to only really know IMGui’s.
I suggest you start by bringing in some existing library (eg. Dear ImGui) to your projects. Learn how to use an IMGui first, and see what problems it solves or doesn't. There might even be some Lisp bindings for Dear ImGui, who knows :)
Nice one! What is the name of the song in the background?
Hmm, good question! Must have been my background music :) Sounds like it is something from a "programming" music playlist, you can check for it in one of these playlists: ua-cam.com/video/pmxYePDPV6M/v-deo.html
Oh! No wonder I felt it was so familiar.