alee's Forum Posts

  • Some graphics cards can treat both monitors as just one really long one - in which case it would work fine, you'd just have to make your game span both and position your elements accordingly...

  • Looks epic. Thomas is a bloody genius is he not?

    I love Unity, and I think the performance on it is pretty damn good tbh?

    (love construct too obv)

  • People have already said everything. Look into python, theres a tutorial by SciDave on it and its pretty good. I found it a bit too frustrating so I started looking into Unity. But its certainly possible.

    Also, I think there's a lot of unhelpful comments here. Maybe the original poster should have said "is it possible to program an MMO in construct". Lots of people seem to think he's asking "can i make WoW?". Not all MMOs need to have 9,000 quests and 27 hours of music.

    Anyway, good luck. sounds fun

  • Every time you save, put a new number on the end, eg.

    v1.cap

    v2.cap

    v3.cap

    This is what I do with every program (construct, photoshop, cubase). It's the only way to work if you're doing a serious project.

    I made this infinite space game in 2 weeks in construct

    http://edenofficial.com/?p=33

    Just a beta showing procedural galaxy generation.

  • so i thought i'd just leave this here.

    <img src="http://3.bp.blogspot.com/_TR2Ipa-cGxA/TNKaYNH9HMI/AAAAAAAAAAM/IADcoxZ8E6U/s1600/preview.png">

    just a little game i'm working on when i don't have anything better to do. as you can probably tell i'm a terrible artist. based on a poem, heavy stuff.

    That... is beautiful.

  • Hi,

    user Commandercobra from the chat asked me to help him make a Captain Forever style game. I've never played it, but it looks awesome-

    http://www.captainforever.com/captainforever.php

    Basically, I'm making an engine that enables the player to create a ship out of dragable blocks. I'm going to post my progress here, so that when i inevitably give up it might be of use to someone. Feel free to edit it, as I'm sure its not made in the best way. I'm also keen on doing it mainly with maths rather than detectors etc.

    v6

    http://dl.dropbox.com/u/3544169/captainexample/v6.cap

    v7 - example of using guns etc. And directional blocks is working... need to get movement going

    http://dl.dropbox.com/u/3544169/captainexample/v8.cap

  • Hello everyone!

    Sweet mother of pearl. The videos were amazing. Damn you sir. Damn you.

  • > I have seen the true power of Construct on Scirra's Russian site.ProjectStar2 is the most awesome game ive ever seen as far as 2d games go.

    >

    Not to diss this game or anything. The level of presentation surely is something to watch out for... but how exactly does this show the true power of Construct? We have seen more impressive things in terms of coding/events. Just think about Arsonide's space project that procedurally generates a whole universe or the hires animation stuff that lucid did or some of the great things Quazi and other people are creating on a regular basis.

    > The boss is absolutely fantastic.Did they use python script for ProjectStar 2 or did they use Construct's built in library of event's?

    >

    I believe there's nothing in this game that would require python scripting. It all can be done with pretty simple eventing. I think you may be overwhelmed by the visuals and a lack of own experience with Construct.

    > Construct is the best 2d games creator in the universe!!!

    >

    Can't really argue with that!

    And thanks for posting about this promising game!

    Gotta agree here. I cba to download it, but from what i can see it just looks like a really nicely made space scrolling shooter. Python events are rarely needed anyway, they are usually just preferable for certain jobs.

    The true power of construct hasn't been tapped into yet, its hardly been around long enough for someone to have made a project to do it justice.

  • that looks, soooo coool

  • huge score on the multiple previews! Now i can start dev

    Thanks

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You could use subevents, although i don't know what you mean by offset.

    Dude overlaps tile-

    subevent { - Offset is greater than 100,

    + Offset is less than 200,

    subevent - { Offset is greater than 40

    + offset is less than 80}}:

    Stuff happens here.

    Not entirely sure what you're doing but i think that would work?

  • Gah i wish Bespectacled's was a bit more clear. Its nice though!

  • [quote:2hc0w47c]Events can happen in both directions, obviously. In the case of a DoT the client will receive an event that they have a DOT which does X damage over Y interval (display the debuff icon, duration, graphic, etc). The client could then simulate that effect with just the one packet send from the server. It could be broken up based on the tick duration too (multiple packets), but somehow I'd think they would resolve the damage ahead of time and let the client simply display the results over the course of the spell however it sees fit, rather than waste packet overhead simply on that.

    So you're saying its up to the player to change his own health in this time. What if the DoT kills the player? That means that its up to the client to decide when the dot has killed him (of course insecure). The only secure way is if the server checks ever DoT tick if the player has been killed.

    But anyhow, my game is far from pixel perfect, there are no collisions or physics. I'm gonna see if I can mock something up and show you what i mean later...

    On the subject of object picking, isn't it best if the server dishes out a unique ID to each player that is permanent while they are online, then when you send a movement packet to the server, it affixes your ID to the packet, then sends it to all clients near you (in my game, it would be all clients in your sector). When they recieve the packet, they use events to pick the correct Player instance (Player.Value('ID') = IDinPacket]) or something? (we could pass the contents of the packet to construct using a function with parameters. Or can we do all this in python now without having to pass anything to construct's events?)

  • Maybe you missed my point, but I meant that if you're going to go through the trouble of duplicating all of Construct's helpful events and what not into python, why not just write everything from scratch to begin with?

    There are so many events that need not be duplicated into the server. My game is just a graphical representation of some maths. (For example, Player 1 shoots player 2 and does 20 damage each second. The server will take 20hp from player2 each second, however on the client screen it will appear to be an epic battle with thousands of bullets or whatever. Another example is shooting a missile. The server will decide whether it hits and how much damage it will do and roughly how long it will take to hit player 2. However on the game screen the missile will fly and curve around etc.)

    I won't have any physics. Interpolation is done client side (ofc) and If I choose to trust the client with his own movement, i'll have the server check if his movements are in the realm of possibility and disconnect him if not.

    [quote:q6aizjtt]

    ....,647. Try to imagine how long it would take to exceed that. At 10,000 connections a day, which ain't bad for most websites, that's 214,748 days until that number fills up. Or 588 years. Of course a malicious user who writes a connect/disconnect bot will make your server throw an exception rapidly.

    Secondly, and probably more realistically, you should be using a guid. In which case, the concern isn't really valid to begin with. If you're going to send 4-8 bytes anyway, it may as well be a unique identifier. This might lend some security as well, if you use the first method and only that, objects will always be the same ID, which could give sniffers an advantage (hard to imagine how, but scripting would be much easier).

    This is exactly what I was talking about. I don't want the list to ever "fill up", it has to be robust so it cannot be exploited in this way. I figure when clients disconnect i'll just replace them in the list with "empty", then when a new client connects it either goes in the earliest empty slot, or if there are no empty slots, we'll add him to the end of the list.

    Why exactly is it necessary to use a GUID/UUID? These IDs are only there so we can pick the correct player to update positions of on the client when we receive new movement vectors etc. I don't see why it needs to be anything other that just a short,simple value?

    [quote:q6aizjtt]

    Well, PodSixNet is a connection based library... You'd just send directly to their connection. You might organize that into a set of containers (channels, for example), in which case, if you just want to talk directly to clients you could keep a "master" copy container (dictionary) for convenience. If I recall, that's how the author of PodSix does it, although he uses WeakRef (which is probably cleaner at the end of the day).

    Try not to overthink it too much, in most cases, you'll be sending a response to the client directly so you'll know which channel to reply to at the moment of receiving their request (try to think of an event-based networking system -- this is how WoW does it).

    Ok this is fine. So basically PodSixNet doesn't handle any of that for you. We have to make our own "channel" system using a dictionary etc.

    As to the response based communication. What about in WoW in the case of DOTs (damage over time attacks) for example. The server needs to keep updating the health of the victim even when there is no "event". Perhaps I misunderstand this part? But in these cases, the server will need to send updates to the clients of their health/damage done etc. even when there is no event or packet sent to the server from the client.

    Thanks a lot for the help so far man! Hope i don't sound like I'm arguing, I often find challenging something I don't understand is the easiest way of understanding it

  • I plan on writing a server that is purely maths (made in code) anyway. So it wouldn't be too different writing the server purely in python.

    Couple of questions about the tut.

    1) It seems you use lists to give each player a unique ID (based on their location in the list). In a MMO style situation, you'd want to make sure that everyone has a unique ID that stays the same for the whole time they are online. Lists would work fine, however, when user 2 disconnects, we want the next user who logs in to take his place, this way we don't end up with a huge list (because the list re-uses empty entries). I assume this is the best way to do it? How do you do this in python, or is there a more appropriate way?

    • also, wouldn't each client need a unique "ID" so you can send messages directly to certain clients from the server?

    2) I couldn't quite work out how channels work. Can we send messages to all players on a channel? And can channel names be strings? Surely its important to ensure that we can send messages to certain groups of clients, but not everyone connected?

    Just thought i'd ask so I understand these more fully. Thanks again scidave, seems to work really well!