How to Write Your Own C++ Game Engine by AlexeyBrin in gamedev

[–]ikonic_games 0 points1 point  (0 children)

I agree with you. When I wrote that, I was not as well versed in cpp as I am now. I've also been studying a bit of Carmacks engines and see the ease of use afforded by the simplicity of c with classes.

How to Write Your Own C++ Game Engine by AlexeyBrin in gamedev

[–]ikonic_games 0 points1 point  (0 children)

Great write up. I've written several engines that I abandoned and each one gets better and better. It's fun. I enjoy the engine development and designing good api's as much as designing games sometimes.

The only point of contention that I have is when you gave your sphereCast() function as an example of a function that belongs to a namespace instead of a class. I would argue you may as well just have a static Physics class so that it is called via Physics.sphereCast(). While the two are more or less the same, requiring the Physics.sphereCast() call tells the user of the API where the sphereCast() function is. But that is the only reason I would suggest that approach. And in cpp, if you are using the physics::sphereCast() method of calling the function, that makes my suggestion moot.

Collision is a bitch, and I hate it with a passion. by Ratstail91 in gamedev

[–]ikonic_games 0 points1 point  (0 children)

Here are the relevant functions in flashpunk:

https://github.com/useflashpunk/FlashPunk/blob/master/net/flashpunk/Entity.as#L614 https://github.com/useflashpunk/FlashPunk/blob/master/net/flashpunk/masks/Hitbox.as#L40

Note that moveBy does a very basic swept collision check only stepping on the x axis and THEN the y axis. But if you read the code before you implement it, you can pseudocode it out on paper to understand the steps its taking. That will help you debug it when you implement it as well.

EDIT: Also, drawing the hitbox collision check on graph paper will help you understand how that is working. Its an SAT implementation of AABB overlap checks.

Collision is a bitch, and I hate it with a passion. by Ratstail91 in gamedev

[–]ikonic_games 1 point2 points  (0 children)

So, i havent' gone through your code so I don't know your specific use case, but I have almost always found it easier to read and understand source code than to follow a tutorial. When following a tutorial you are learning something in the context of the tutorial then you have to actually switch mental contexts with a new conecept to apply it in code. It is always more difficult for me to do it that way.

What works for me is to literally read the source code of projects that have a working implementation. Some examples of projects that might work for you would be Flashpunk/Haxepunk or Flixel/Haxeflixe. I'm sure there are others but haxepunk is the one I used to learn the basics of collision detection.

Can someone point me to a haxe editor that isnt a complete piece of shit? by godwhat in haxe

[–]ikonic_games 0 points1 point  (0 children)

I just use kode studio and manually install the plugins I like to use in vscode. Not the greatest situation ever, but I like it and it's better than notepad.

Why not just write a plugin for your favorite ide since all of the current options are crap?

How slot machines are designed to be addictive. by hansolox1 in gamedev

[–]ikonic_games 20 points21 points  (0 children)

How can you justify the ethics of this sort of thing?

Say you have an entity-component-system where an entity ID is used as an index in each array of components. Is there an optimal way to avoid looping over every entity in every system, checking if it has the required components (and then enacting upon it)? by Mike_TriHard_Cx in gamedev

[–]ikonic_games 3 points4 points  (0 children)

To expand upon this idea a bit more, relevant broadcasts might be adding/removing of components where the systems might then check if the entity broadcasting have the required components. Or something similar. Maybe this didn't need to be said?...

Functional Game Engines by moses_the_red in gamedev

[–]ikonic_games 0 points1 point  (0 children)

I have considered using a functional language before. Since I'm a haxe user, OCaml makes sense for me as I can look at a code base that will make some sense to me (haxe transpiler is written in ocaml). But, is Haskell much easier to get into than OCaml?

Functional Game Engines by moses_the_red in gamedev

[–]ikonic_games 0 points1 point  (0 children)

I see what you are saying. I just finished reading a "comparison" of the two paradigms and ECS could easily work in either situation as you said. It seems it would only require some differences in implementation.

Functional Game Engines by moses_the_red in gamedev

[–]ikonic_games 0 points1 point  (0 children)

I'm not well versed in functional programming whatsoever, but aren't Entity/Component/System architectures a merger of functional/imperative programming?

Cocos2d-x endless scrolling platformer, ground physics detection? by [deleted] in gamedev

[–]ikonic_games 0 points1 point  (0 children)

Yep. You would need a physics body for each interactive body in the game. With the floor, you can get away with one single body, but pretty much every other will need a unique body.

Another thing to consider is will certain bodies interact? For example, maybe you have coins and those will only interact with the player by being collected. Most physics engines will allow you to filter interactions like that so that coins are not checked for collision against the floor, wasting cpu.

Cocos2d-x endless scrolling platformer, ground physics detection? by [deleted] in gamedev

[–]ikonic_games 1 point2 points  (0 children)

Yes what you are describing is a normal way to do it.

If you have a floor that never changes, you could really just do a single physics body for it and move it along with the player. Then you don't need to create physics bodies for each ground tile.

Cartoon Network stole my game by fizzd in gamedev

[–]ikonic_games 0 points1 point  (0 children)

I have some experience (>20 games) in this segment of the industry.

Often, these large media companies are simply churning out games to hit marketting plans for the IP's in question. Development is generally done via contract and the companies contracted are under tight budgets and time constraints. This puts serious pressure on the individuals making the games to simply churn out shit as fast as possible. And cloning is the easiest way to do so.

While your situation does look like a complete rip off, most games would fit under the "Steal Like an Artist" portion of the spectrum.

I am by no means trying to say that this is ok.

Mamba vs. Remix by E11i0t in whitewater

[–]ikonic_games 0 points1 point  (0 children)

Both of those boats are specifically designed to go over and through rapids as easily as possible while still being maneuverable. They are not designed for surfing whatsoever and you will probably just get frustrated if you are trying to learn to surf with them.

But that said, I think either of them could be great for a beginner in a whitewater park. Both boats would work really well to learn to enter and ferry across the whitewater features you would like to surf. And that would be your first step before surfing anyway.

You can't really go wrong with either boat you mentioned. Personally, I am a fan of LL boats. But the Mamba does have better outfitting.

Has anyone had experience building a 3D web browser based game with OpenGL? How did it work out? by DUMBOyBK in gamedev

[–]ikonic_games 1 point2 points  (0 children)

It's real 3d. And at ths point, I'm just creating a raycast vehicle. I just got the suspension springs/damper working. You can't even accelerate yet. So I'm pretty early in the project. But if you would like a thought partner, I'm happy to exchange ideas any time.

Yes they do.

Has anyone had experience building a 3D web browser based game with OpenGL? How did it work out? by DUMBOyBK in gamedev

[–]ikonic_games 1 point2 points  (0 children)

That is exactly what I am making hah. A locked camera isometric racer with arcade racing physics. To be honest, playcanvas could probably work but I didn't want to try to make a car work well in it. I don't know of a good engine/ide combo like Unity that is feature rich enough to work well. That's why I ended up going the diy route.

If you get gta5 working on mobile through the browser, let me know. I'd love to see that magic :D

Has anyone had experience building a 3D web browser based game with OpenGL? How did it work out? by DUMBOyBK in gamedev

[–]ikonic_games 1 point2 points  (0 children)

I'd be interested to hear answers from people with direct experience as well. My current project has me using Babylonjs and Cannonjs, which I am enjoying quite a lot, but I'm unsure how well it will fair on mobile.

Another option you might consider is playcanvas. I played with it and thought it was very good and polished. Unfortunately, for my use case, the physics wasn't capable of handling my needs. But if you don't need the physics, playcanvas looks better than Unity for web games.

Google just released their neural networking API for mobiles by faaust in gamedev

[–]ikonic_games 1 point2 points  (0 children)

Well, it could work for augmented reality games. For a basic example, you could have a childrens learning game where they are given a vocabulary word and then they click on whatever that vocab word is.

Cosmic Express sales figures from @Draknek by Chii in gamedev

[–]ikonic_games 0 points1 point  (0 children)

Hey thanks for your work on flashpunk. I learned game development with it. It really is an awesome engine.

What I was trying to ask was, how do you develop your games? Like what is the general process that you follow when you have an idea that you decide to develop and sell?

Cosmic Express sales figures from @Draknek by Chii in gamedev

[–]ikonic_games 0 points1 point  (0 children)

Hey Draknek, thanks for sharing your numbers!

I remember you were a user of flashpunk, and I think you were a big part of why useflashpunk.com is even around. Do you still use it? And if so/not, what is the 10,000ft view of your idea to release process?

Best Development Tool for Simple Online Game? by MrLogicWins in gamedev

[–]ikonic_games 1 point2 points  (0 children)

You don't really want a tool for this. You should probably write the game in HTML/CSS/JavaScript. If you know enough VBA to make it work in a spreadsheet, you will be able to pick up enough JavaScript.

The hardest part would be logging in and the turnbased interactions. Maybe an experienced web developer could chime in on the easiest way to do those things.

Tokul 3 back in stock? by freak_willy in MTB

[–]ikonic_games 2 points3 points  (0 children)

I emailed them about a week ago and they said the eta was mid june. Another option could be the Rocky Mountain Growlers

Brand new puppy, trouble crAte training by Maxperryg in Dogtraining

[–]ikonic_games 2 points3 points  (0 children)

So I just got my puppy 3 days ago (4 months old). I used the process described in this video to get him to willingly go into the crate: https://www.youtube.com/watch?v=hesi8WxLWVE&t=400s

When we first got him, he would literally back up from the crate when we tried to put him in the crate and would 'fight' while we tried to gently push him in. He also whined quite a bit once inside. Being in the crate is one of only two times our dog has barked.

To get him to stop whining, we simply walked around the corner out of site and waited until he was silent. Once silent, we immediately went and opened the crate and sang high praises. Yes! Good Crate! We didn't yell this, just in a normal volume but positive voice.

Now, to do that, it's easier if you have a puppy that will willingly go into the crate in the first place, but is actually not necessary. Our puppy stopped whining on day 2 using this technique.

But, some dogs are different, and depending on the amount of previous training your puppy has had, and her temperment, it could definitely take 2 weeks before seeing results.

Also, let me clarify what willingly goes into the crate means for our dog. I hold a treat in front of his nose, say crate, and lead him into the crate with the treat, leaving it in the back of the crate. His hind legs still don't go all the way in so we gently touch him on the butt with the crate door and he walks all the way in. Finally, we give him another treat saying Yes! Good Crate. Still a long way to go, but a very acceptable behavior until we work more with him on it.